Tässä osiossa opimme suorituskyvyn testaamisesta, miksi tarvitsemme sitä, suorituskyvyn testaustyypeistä ja suorituskyvyn testausprosessista.
Seuraavat ovat aiheet, jotka ymmärrämme tässä osiossa:
Mitä suorituskykytestaus on?
Se on tärkein osa ei-toiminnallista testausta.
Sovelluksen toiminnan tarkistamista kuormittamalla tunnetaan suorituskykytestauksena.
Yleensä tämä testaus määrittää, kuinka nopeasti palvelin vastaa käyttäjän pyyntöön.
Kun suoritamme sovelluksen suorituskykytestauksen, keskitymme erilaisiin tekijöihin, kuten Vasteaika, kuormitus ja vakaus sovelluksesta.
Vasteaika: Vastausaika on aika, jonka palvelin vastaa asiakkaan pyyntöön.
Ladata: Tässä Load tarkoittaa sitä, että milloin N-numero käyttäjistä, jotka käyttävät sovellusta samanaikaisesti tai lähettävät pyynnön palvelimelle kerrallaan.
Vakaus: Vakaustekijän osalta voimme sanoa, että kun N-määrä käyttäjiä käyttää sovellusta samanaikaisesti tietyn ajan.
Milloin käytämme suorituskykytestausta?
Suoritamme suorituskykytestauksen, kun ohjelmisto on vakaa ja siirretty tuotantoon, ja useat käyttäjät voivat käyttää sitä samanaikaisesti, tästä syystä suorituskykyongelmia saattaa ilmetä. Näiden suorituskykyongelmien välttämiseksi testaaja suorittaa yhden suorituskyvyn testauskierroksen.
Koska kyseessä on ei-toiminnallinen testaus, mikä ei tarkoita, että käyttäisimme aina suorituskykytestausta, menemme suorituskykytestaukseen vain, kun sovellus on toiminnallisesti vakaa.
Huomautus: Suorituskykytestausta ei voi tehdä manuaalisesti, koska sen kallista ja tarkkaa tulosta ei voida ylläpitää.
Suorituskykytestauksen tyypit
Seuraavat ovat suorituskyvyn testaustyypit:
esimerkki avoimen lähdekoodin käyttöjärjestelmästä
Keskustelemme yksitellen antaaksemme sinulle täydellisen käsityksen Kuorma, stressi, skaalautuvuus, ja Vakaus suorituskyvyn testaus.
Kuormitustestaus
Kuormitustestausta käytetään sovelluksen suorituskyvyn tarkistamiseen käyttämällä kuormitusta, joka on joko pienempi tai yhtä suuri kuin haluttu kuormitus, jota kutsutaan kuormitustestaukseksi.
Esimerkiksi: Alla olevassa kuvassa 1000 käyttäjää ovat haluttu kuorma , jonka asiakas antaa, ja 3/sekunti on päämäärä jonka haluamme saavuttaa suoritettaessa kuormitustestausta.
Stressitestaus
Stressitestaus on testausta, joka tarkistaa sovelluksen käyttäytymisen kohdistamalla haluttua kuormaa suurempaa kuormaa.
Esimerkiksi: Jos otamme yllä olevan esimerkin ja lisäsimme haluttua kuormitusta 1000 käyttäjästä 1100 käyttäjään, ja tavoite on 4/sekunti. Kun suoritat stressitestauksen tässä skenaariossa, se läpäisee, koska kuorma on suurempi (100 ylöspäin) kuin todellinen haluttu kuorma.
Skaalautuvuuden testaus
Sovelluksen suorituskyvyn tarkistaminen lisäämällä tai vähentämällä kuormitusta tietyissä vaa'oissa (käyttäjän lukumäärä) tunnetaan nimellä skaalautuvuuden testaus . Ylöspäin ja alaspäin skaalautuvuuden testausta kutsutaan skaalautuvuustestaukseksi.
Skaalautuvuustestaus on jaettu kahteen osaan, jotka ovat seuraavat:
Ylöspäin skaalautuvuuden testaus
Se testaa missä me lisätä käyttäjien määrää tietyssä mittakaavassa kunnes saamme törmäyspisteen. Käytämme ylöspäin skaalautuvuustestausta löytääksemme sovelluksen enimmäiskapasiteetin.
Alaspäin skaalautuvuuden testaus
Alaspäin skaalautuvuuden testausta käytetään, kun kuormitustestausta ei ole läpäisty, ja aloita sitten pienentämällä no. käyttäjistä tietyllä aikavälillä kunnes tavoite saavutetaan. Jotta pullonkaula (vika) on helppo tunnistaa.
Vakaustestaus
Sovelluksen suorituskyvyn tarkistaminen: kohdistamalla kuormaa tietyn ajan tunnetaan Vakaustestaus .
Esimerkki suorituskyvyn testauksesta
Otetaan yksi esimerkki, missä teemme testaa sovelluksen käyttäytymistä, jos haluttu kuormitus on joko alle 1000 tai yhtä suuri kuin 1000 käyttäjää .
Alla olevassa kuvassa voimme nähdä, että 100 ylöspäin käyttäjiä lisätään jatkuvasti tarkistaakseen maksimi kuormitus , jota myös kutsutaan ylöspäin skaalautuvuuden testaus .
1200 → 3,5sek: [se ei ole pienempi tai yhtä suuri kuin haluttu kuorma, siksi se on Epäonnistui ]
1300 → 4sek: [se ei ole pienempi tai yhtä suuri kuin haluttu kuorma. eli Epäonnistui ]
1400 → kaatui
Huomautus1: Tilavuus- ja liotustestaus on eräänlainen testaus, mutta ei suorituskyvyn testaus.
Volyymitestaus
Volyymitestaus on testausta, joka auttaa meitä tarkistamaan sovelluksen käyttäytymisen lisäämällä massiivisen datamäärän kuormitusta tunnetaan volyymitestauksena, ja tässä keskitymme datanopeuksien määrään kuin käyttäjien määrään. .
Muistio 2:
Tilavuus on kapasiteetti, kun taas kuorma on määrä, eli kuormitustestaus tarkoittaa ei. käyttäjistä, ja volyymitestaus tarkoittaa datan määrää.
Liotustesti
Tämän tyyppisessä testauksessa tarkistamme sovelluksen käyttäytymisen ympäristössä, jota ei tueta pitkään aikaan, kutsutaan soak-testaukseksi.
Yleensä soak-testaus on negatiivinen testaustyyppi, koska tiedämme jo, että palvelin tai ympäristö ei tue.
Suorituskykytestausprosessi
Suorituskykytestausta ei voi tehdä manuaalisesti, koska:
- Tarvitsemme paljon resursseja, ja siitä tuli kalliimpi lähestymistapa.
- Ja tarkkuus ei säily, kun seuraamme vasteaikaa manuaalisesti.
Suorituskykytestausprosessi suoritetaan seuraavissa vaiheissa:
- Tunnista suorituskykyskenaariot
- Suunnittele ja suunnittele suorituskyvyn testiskripti
- Määritä testiympäristö ja jaa kuorma
- Suorita testiskriptit
- Tulos
- Analyysin tulos
- Tunnista pullonkaula
- Suorita testi uudelleen
Jos suoritamme a positiivinen virtaus suorituskyvyn testausprosessissa, se voi seurata alla olevaa prosessia:
yhdistä lajittelualgoritmi
Tunnista suorituskykyskenaariot
Ensinnäkin tunnistamme suorituskykyskenaariot seuraavien tekijöiden perusteella:
Yleisimmät skenaariot: Se tarkoittaa, että voimme löytää suorituskykyskenaariot skenaarioiden perusteella, joita yleisesti käytetään, kuten Gmail-sovellus; me esiintymme kirjaudu sisään, postilaatikkoon, lähetä kohteita, kirjoita sähköposti ja kirjaudu ulos .
Kriittisimmät skenaariot: Kriittiset skenaariot tarkoittavat Gmail-sovelluksessa säännöllisesti käytettyjä ja tärkeitä liiketoiminnan kannalta kirjaudu sisään, kirjoita teksti, postilaatikko ja kirjaudu ulos .
Valtava datasiirto: Jos meillä on valtava data, tarkoittaa, että n-määrä käyttäjiä käyttää sovellusta samanaikaisesti.
Kun olemme tunnistaneet suorituskykyskenaariot, siirrymme seuraavaan vaiheeseen.
Suunnittele ja suunnittele suorituskyvyn testiskripti
Tässä vaiheessa asennamme työkalut Test Engineer Machineen ja käytämme testipalvelinta, minkä jälkeen kirjoitamme jonkin skriptin testiskenaarioiden mukaisesti ja suoritamme työkalun.
Kun käsikirjoituksen kirjoittaminen on valmis, siirrymme seuraavaan vaiheeseen.
täysi muoto ide
Määritä testiympäristö ja jaa kuorma
Testauskriptien kirjoittamisen jälkeen järjestämme testausympäristön ennen suoritusta. Ja myös hallita työkaluja, muita resursseja ja jakaa kuorma 'Käyttömallin' mukaan tai mainitse kesto ja vakaus.
Suorita testiskriptit
Kun olemme jakaneet kuorman, suoritamme, vahvistamme ja valvomme testiskriptejä.
Tulos
Kun testiskriptit on suoritettu, saamme testituloksen. Ja tarkista, että tulos täyttää tavoitteen annetussa vasteajassa vai ei, ja vasteaika voi olla maksimi, keskimääräinen ja pienin.
Jos vastaus ei vastaa vaadittua aikavastetta, ryhdymme siihen negatiivinen virtaus missä suoritetaan seuraavat vaiheet:
Analyysin tulos
Ensin analysoimme testituloksen, vastaako se vasteaikaa vai ei.
Tunnista pullonkaula
Sen jälkeen tunnistamme pullonkaula (vika tai suorituskykyongelma ). Ja pullonkaula voi ilmetä näiden näkökohtien, kuten ongelma koodissa, laitteisto-ongelma (kiintolevy, RAM-prosessori), verkko-ongelmat, ja ohjelmistoongelma (käyttöjärjestelmä) . Ja kun pullonkaula on löydetty, suoritamme viritys (korjaus tai säätö) ratkaista tämä pullonkaula.
Suorita testi uudelleen
Kun olemme korjaaneet pullonkaulat, suorita testiskriptit uudelleen ja tarkista tulos, täyttääkö se vaaditun tavoitteen vai ei.
Ongelma ilmenee suorituskyvyn testauksessa
Kun suoritat sovelluksen suorituskykytestausta, joitain ongelmia saattaa ilmetä, ja näitä ongelmia kutsutaan myös nimellä suorituskykyongelma .
Suorituskykyongelmat ovat seuraavat:
Vastausajan ongelma
Vastausaika tarkoittaa, kuinka nopeasti palvelin vastaa asiakkaan pyyntöön. Jos käyttäjän pyyntöä ei täytetä annetussa vastausajassa, on voinut olla mahdollista, että käyttäjä on menettänyt kiinnostuksensa tiettyä ohjelmistoa tai sovellusta kohtaan. Siksi sovelluksella tai ohjelmistolla tulee olla täydellinen vasteaika, jotta se vastaa käyttäjän pyyntöön nopeasti.
Skaalautuvuusongelma
Skaalautuvuusongelmat ilmenevät, kun sovellus ei voi ottaa vastaan n-määrää käyttäjiä ja odotettuja käyttäjien pyyntöjä samanaikaisesti. Siksi teemme ylöspäin skaalautuvuuden testaus (tarkista sovelluksen enimmäiskapasiteetti) ja alaspäin skaalautuvuuden testaus (kun odotettu aika ei vastaa todellista aikaa).
Pullonkaula
Pullonkaula on virheen epävirallinen nimi, joka ilmenee, kun yksi komponentti rajoittaa sovellusta, ja se vaikuttaa huonosti järjestelmän suorituskykyyn.
Tärkeimmät pullonkaulojen syyt ovat ohjelmisto-ongelmat (käyttöjärjestelmään liittyvät ongelmat), laitteisto-ongelmat (kiintolevyyn, RAM-muistiin ja prosessoriin liittyvät ongelmat), ja koodausongelma, jne.
Seuraavassa on yleisimmät suorituskyvyn pullonkaulat:
- Muistin käyttö
- Levyn käyttö
- CPU:n käyttö
- Käyttöjärjestelmän rajoitukset
- Verkon käyttö
Nopeusongelmia
Kun suoritamme sovelluksen suorituskykytestauksen, sovelluksen tulee olla nopeampi saadakseen käyttäjän kiinnostuksen ja huomion, koska jos sovelluksen nopeus on hidas, se voi menettää käyttäjän kiinnostuksen sovellusta kohtaan.
Suorituskyvyn testaustyökalut
Meillä on markkinoilla saatavilla erilaisia suorituskyvyn testaustyökaluja, joista osa on kaupallisia työkaluja ja avoimen lähdekoodin työkaluja.
Kaupalliset työkalut: LoadRunner[HP], WebLOAD, NeoLoad
Avoimen lähdekoodin työkalu: JMeter
LoadRunner
Se on yksi tehokkaimmista suorituskyvyn testauksen työkaluista, jota käytetään tukemaan suorituskykytestausta laajalle valikoimalle protokollia, lukuisia teknologioita ja sovellusympäristöjä.
Se tunnistaa nopeasti yleisimmät suorituskykyongelmien syyt. Ja myös ennustaa tarkasti sovelluksen skaalautuvuus ja kapasiteetti.
JMeter
Apache JMeter -ohjelmisto on avoimen lähdekoodin työkalu, joka on kokonaan Java-sovellus, joka on suunniteltu lataamaan toiminnallista testikäyttäytymistä ja mittaamaan suorituskykyä.
Yleensä se on suunniteltu verkkosovellusten testaamiseen, mutta nyt se on laajennettu myös muihin testitoimintoihin.
Apache JMeteriä käytetään sekä staattisten että dynaamisten resurssien ja dynaamisten verkkosovellusten suorituskyvyn testaamiseen.
Sitä voidaan käyttää palvelimen, verkon tai objektin, palvelinryhmän raskaan kuormituksen toistamiseen sen vahvuuden testaamiseksi tai yleisen suorituskyvyn analysoimiseksi eri kuormitustyypeillä.
WebLOAD
WebLOAD-testaustyökalu, jota käytetään kuormitustestauksen, suorituskyvyn testauksen ja stressitestin verkkosovellusten testaamiseen.
WebLOAD-työkalu yhdistää suorituskyvyn, skaalautuvuuden ja eheyden yhdeksi prosessiksi verkko- ja mobiilisovellusten todentamiseen.
NeoLoad
Neotys kehittää testaustyökalun nimeltä NeoLoad. NeoLoadilla testataan suorituskykytestin skenaarioita. NeoLoadin avulla löydämme pullonkaula-alueet verkosta ja mobiilisovelluskehitysprosessista.
tallennettu ohjelman ohjaus
NeoLoad-testaustyökalu on nopeampi verrattuna perinteisiin työkaluihin.
Niiden lisäksi on joitain muita työkaluja Sähköinen kuormitus, verkkostressityökalu, LoadUI Pro, StressStimulus, LoadView, LoadNinja ja RedLine13, joka auttaa testaamaan ohjelmiston tai sovelluksen suorituskykyä.