Mikä on kuormitustestaus? (Esimerkkejä)
⚡ Älykäs yhteenveto
Kuormitustestaus mittaa ohjelmistosovelluksen toimintaa, kun useat käyttäjät käyttävät sitä samanaikaisesti odotettuun huippuun asti. Se tunnistaa maksimaalisen toimintakapasiteetin, sitä rajoittavat pullonkaulat ja sen, onko nykyinen infrastruktuuri riittävä.

Mikä on kuormitustestaus?
Kuormitustesti on ei-toiminnallinen ohjelmistotestausprosessi, jossa ohjelmistosovelluksen suorituskykyä testataan tietyllä odotetulla kuormituksella. Se määrittää, kuinka ohjelmistosovellus toimii, kun useat käyttäjät käyttävät sitä samanaikaisesti. Load Testingin tavoitteena on parantaa suorituskyvyn pullonkauloja ja varmistaa ohjelmistosovelluksen vakaus ja sujuva toiminta ennen käyttöönottoa.
Tämä testi yleensä tunnistaa -
- Sovelluksen suurin toimintakapasiteetti
- Selvitä, onko nykyinen infrastruktuuri riittävä sovelluksen suorittamiseen
- Sovelluksen kestävyys käyttäjän huippukuormituksen suhteen
- Samanaikaisten käyttäjien määrä, joita sovellus voi tukea, ja skaalattavuus, jotta useammat käyttäjät voivat käyttää sitä.
Se on eräänlainen ei-toiminnallinen testaus. Ohjelmistosuunnittelussa kuormitustestausta käytetään yleisesti asiakas/palvelin, web-pohjaisissa sovelluksissa – sekä intranetissä että Internetissä.
Miksi kuormitustestausta tarvitaan?
Jotkut erittäin suositut sivustot ovat kärsineet vakavista seisokeista, kun niillä on valtava liikennemäärä. Verkkokauppasivustot investoivat voimakkaasti mainoskampanjoihin, mutta eivät kuormitustestaukseen varmistaakseen järjestelmän optimaalisen suorituskyvyn, kun markkinointi tuo liikennettä.
Kuormitustestauksen esimerkkejä
- Toysrus.com ei pystynyt käsittelemään oman mainoskampanjansa tuottamaa liikennettä, mikä menetti sekä markkinointimenot että myynnin, jota sen oli tarkoitus tuottaa.
- Lentoyhtiön verkkosivusto ei pystynyt käsittelemään yli 10000 XNUMX käyttäjää festivaalitarjouksen aikana.
- Encyclopedia Britannica julisti ilmaisen pääsyn heidän online-tietokantaansa myynninedistämistarjouksena. He eivät pystyneet pysymään liikenteen hyökkäyksessä viikkoihin.
Monet sivustot kärsivät viivästyneistä latausajoista, kun ne kohtaavat raskaan liikenteen. Vähän faktaa -
- Sivun hylkääminen lisääntyy jyrkästi noin kolmen sekunnin latausajan jälkeen, ja vaikutus pahenee mobiiliyhteyksiin.
- Hitaat sivut aiheuttavat verkkokauppasivustoille mitattavia tuloja jokaisella käynnillä, minkä vuoksi suorituskykyä käsitellään liiketoiminnan mittarina teknisen mittarin sijaan.
Miksi kuormitustestaus?
- Kuormitustestaus antaa luottamusta järjestelmään ja sen luotettavuuteen ja suorituskykyyn.
- Kuormitustestaus auttaa tunnistamaan järjestelmän pullonkaulat raskaan käyttäjän stressiskenaarioissa ennen kuin ne tapahtuvat tuotantoympäristössä.
- Kuormitustestaus antaa erinomaisen suojan huonoa suorituskykyä vastaan ja sisältää täydentäviä strategioita suorituskyvyn hallintaan ja tuotantoympäristön valvontaan.
Kuormitustestauksen tavoitteet
Lataustestaus tunnistaa seuraavat ongelmat ennen sovelluksen siirtämistä markkinoille tai tuotantoon:
- Vastausaika jokaiselle tapahtumalle
- Järjestelmäkomponenttien suorituskyky erilaisilla kuormituksilla
- Tietokantakomponenttien suorituskyky eri kuormituksissa
- Verkkoviive asiakkaan ja palvelimen välillä
- Ohjelmiston suunnitteluongelmat
- Palvelimen konfigurointiongelmat, kuten verkkopalvelin, sovelluspalvelin, tietokantapalvelin jne.
- Laitteiston rajoitusongelmat, kuten suorittimen maksimointi, muistirajoitukset, verkon pullonkaula jne.
Kuormitustestaus määrittää, onko järjestelmää hienosäädettävä vai tarvitaanko laitteiston ja ohjelmiston muutoksia suorituskyvyn parantamiseksi. Tehokkaan kuormitustestauksen suorittamiseksi voit käyttää erilaisia suorituskyvyn testaustyökalut joiden avulla voit tunnistaa parannettavat alueet.
Kuormitustestauksen edellytykset
Kuormitustestauksen tärkein mittari on vasteaika. Ennen kuin aloitat kuormitustestauksen, sinun on määritettävä -
- Onko vasteaika jo mitattu ja verrattu – kvantitatiivinen
- Onko vasteaika sovellettavissa liiketoimintaprosessiin – Relevant
- Onko vasteaika perusteltu – Realistinen
- Onko vasteaika saavutettavissa – saavutettavissa
- Onko vasteaika mitattavissa työkalulla tai sekuntikellolla – Mitattavissa
Ympäristön asetukset ennen kuormitustestiä
| Laitteistoalusta | Ohjelmistotuotteen |
|---|---|
|
|
Kuormitustestausstrategiat
On monia tapoja suorittaa kuormitustestaus. Seuraavassa on muutamia kuormitustestausstrategioita -
- Manuaalinen kuormitustestaus: Tämä on yksi kuormitustestauksen suorittamisstrategioista, mutta se ei tuota toistettavia tuloksia, ei pysty tarjoamaan mitattavissa olevia rasitustasoja sovellukselle ja sitä on mahdoton koordinoida.
- Talossa kehitetyt kuormitustestaustyökalut: Organisaatio, joka ymmärtää kuormitustestauksen tärkeyden, voi rakentaa omia työkalujaan kuormitustestien suorittamiseen.
- Avoimen lähdekoodin kuormitustestaustyökalut: On olemassa useita maksuttomia kuormitustestaustyökaluja avoimena lähdekoodina. Ne eivät ehkä ole yhtä kehittyneitä kuin maksetut kollegansa, mutta jos sinulla on budjetti, ne ovat paras valinta.
- Yritysluokan kuormitustestaustyökalut: Niissä on yleensä sieppaus/toistotoiminto. Ne tukevat suurta määrää protokollia. Ne voivat simuloida poikkeuksellisen suurta määrää käyttäjiä.
Kuinka tehdä kuormitustestaus
Kuormitustestausprosessi voidaan kuvata lyhyesti seuraavasti:
- Luo omistettu Testiympäristössä kuormitustestausta varten
- Määrittele kuormitustestiskenaariot
- Määritä sovelluksen kuormitustestaustapahtumat
- Valmistele tiedot jokaiselle tapahtumalle
- Järjestelmää käyttävien käyttäjien määrä on ennakoitava
- Määritä yhteysnopeudet. Jotkut käyttäjät voivat olla yhteydessä kiinteiden yhteyksien kautta, kun taas toiset voivat käyttää puhelinverkkoyhteyttä
- Selvitä käyttäjien käyttämät selaimet ja käyttöjärjestelmät
- Kaikkien palvelimien, kuten verkko-, sovellus- ja tietokantapalvelimien, kokoonpano
- Testiskenaarion toteutus ja valvonta. Erilaisten mittareiden kerääminen
- Analysoi tulokset. Tee suosituksia
- Hienosäädä järjestelmä
- Testaa uudelleen
Kuormitustestauksen ohjeet
- Kuormitustestaus tulee suunnitella, kun sovellus on toiminnallisesti vakaa.
- Tietopankissa pitäisi olla valmiina suuri määrä yksilöllisiä tietoja
- Käyttäjien määrä on päätettävä kullekin skenaariolle tai komentosarjalle
- Vältä yksityiskohtaisten lokien luomista säästääksesi levyn IO-tilaa
- Yritä välttää kuvien lataamista sivustolle
- Kuormitustestauksen testitapauksia suoritettaessa tulee kirjata vasteajan johdonmukaisuus kuluneen jakson aikana ja sitä tulee verrata erilaisiin testiajoihin.
Ero kuormitustestauksen ja stressitestin välillä
| Kuormitustesti | Stressitestaus |
|---|---|
| Kuormitustestaus tunnistaa järjestelmän pullonkaulat erilaisissa työkuormissa ja tarkistaa, miten järjestelmä reagoi kuormituksen asteittaiseen lisäykseen | Stressitestaus määrittää järjestelmän murtumispisteen paljastaakseen maksimipisteen, jonka jälkeen se katkeaa. |
| Tunnistaaksesi järjestelmän ylärajan, aseta sovellukselle SLA ja tarkista, kuinka järjestelmä kestää raskaan kuorman. | Voit tarkistaa, kuinka järjestelmä käyttäytyy äärimmäisissä kuormiuksissa ja kuinka se toipuu vioista. |
| Verkkosovelluksen kuormituksen lisääminen on kuormitustestauksen päätavoite. | Stressitestauksen tavoitteena on varmistaa, että palvelimet eivät kaadu äkillisen suuren kuormituksen aikana pitkäksi aikaa. |
| Kuormatestissä tarkastettavat attribuutit ovat huippusuorituskyky, palvelimen määrä ja vasteaika. | Tällainen testaus tarkistaa vakauden vasteajan jne. |
| Kuormatestauksessa kuormitusraja on katkon kynnys. | Stressitestauksessa kuormitusraja ylittää katkon kynnyksen. |
Ero toiminnallisen ja kuormitustestauksen välillä
| Toiminnallinen testaus | Kuormitustesti |
|---|---|
| Toiminnallisten testien tulokset ovat helposti ennustettavissa, koska meillä on asianmukaiset vaiheet ja edellytykset määritelty | Kuormitustestien tulokset ovat arvaamattomia |
| Toiminnallisten testien tulokset vaihtelevat hieman | Kuormitustestitulokset vaihtelevat rajusti |
| Toteutustiheys Toiminnallinen testaus on korkea | Kuormitustestauksen suorittamistaajuus on alhainen |
| Toiminnallisten testien tulokset riippuvat testitiedoista | Kuormitustestaus riippuu käyttäjien määrästä. |
Lataa testaustyökalut
Hienosäätö
LoadRunner, alun perin HP:ltä ja nyt osa OpenText Micro Focuksen hankinnan jälkeen testaa sovelluksia normaalin ja huippukuormituksen alaisina. Se luo kuormituksen virtuaalisten käyttäjien kautta, jotka jäljittelevät todellista verkkoliikennettä, ja raportoi tulokset graafisesti.
Lue lisää LoadRunner-opetusohjelma.
Apache JMeter
Avoimen lähdekoodin Java työkalu ja laajimmin käytetty ilmainen vaihtoehto. Se tukee HTTP:tä, JDBC:tä, JMS:ää, FTP:tä ja muita, tallentaa testisuunnitelmat XML-muodossa ja integroituu CI-putkistoon. Katso JMeter oppitunti läpikäyntiä varten.
gatling
Avoimen lähdekoodin työkalu, jonka testit kirjoitetaan koodina Scalassa tai JavaSe käsittelee paljon samanaikaisuutta vaatimattomalla laitteistolla ja tuottaa yksityiskohtaisia HTML-raportteja, mikä sopii tiimeille, jotka suosivat versiohallittuja testiskriptejä.
k6
Avoimen lähdekoodin työkalu, jonka testit on kirjoitettu JavaSkripti, joka on suunniteltu kehittäjän omaan suorituskykytestaukseen CI-putken sisällä erillisen laadunvarmistustoiminnon sijaan.
Työkalun valitseminen
Poimia JMeter Laaimman protokollakattavuuden ilmaiseksi saamiseksi Gatling tai K6, kun tiimi haluaa testien säilyvän versionhallintajärjestelmässä sovelluksen rinnalla, ja kaupallinen työkalu, kuten LoadRunner, kun yritysprotokollien tuki ja toimittajan tuki oikeuttavat lisenssin.
Kuormitustestauksen edut ja haitat
Seuraavat ovat kuormitustestauksen edut:
- Suorituskyvyn pullonkaulojen tunnistaminen ennen tuotantoa
- Parantaa järjestelmän skaalautuvuutta
- Minimoi järjestelmän seisokkiin liittyvät riskit
- Pienemmät epäonnistumisen kustannukset
- Lisää asiakastyytyväisyyttä
Kuormitustestauksen haitat:
- Useimmat työkalut vaativat ohjelmointiosaamista realististen skenaarioiden käsikirjoittamiseen.
- Työkalut voivat olla kalliita, koska hinnoittelu riippuu tuettujen virtuaalikäyttäjien määrästä.
Kuormitustestin aikana kerättävät keskeiset mittarit
Edellytysosiossa vasteaika määritetään tärkeimmäksi mittariksi. Käytännössä kuormitustestiraportin on oltava kuusinumeroinen, koska pelkkä vasteaika ei voi kertoa, miksi järjestelmä hidastui.
| metrinen | Mitä se kertoo sinulle | Varoitusmerkki |
|---|---|---|
| Keskimääräinen vasteaika | Tyypillinen käyttäjäkokemus | Nousee kuormituksen kasvaessa |
| 95. persentiilin vasteaika | Hitaimpien käyttäjien kokemukset | Paljon keskimääräistä korkeampi |
| suoritusteho | Onnistuneen käsittelyn pyyntöjä sekunnissa | Litistyminen tai putoaminen kuorman noustessa |
| Virheaste | Epäonnistuneiden tai aikakatkaistujen pyyntöjen osuus | Mikä tahansa sovitun kynnysarvon ylittävä nousu |
| Samanaikaiset käyttäjät | Todelliset samanaikaiset istunnot saavutettu | Alhaisempi kuin skenaariossa oli tarkoitus |
| Palvelinresurssien käyttö | Suorittimen, muistin, levyn ja verkon käyttövara | Mikä tahansa resurssi, joka ylittää noin 80 prosenttia |
Lukunopeus yhdessä vasteajan kanssa. Kasvavan läpimenon myötä kasvava vasteaika tarkoittaa yksinkertaisesti sitä, että järjestelmä on kiireisempi. Kasvava vasteaika jotka läpimenoaika tarkoittaa, että se on ylittänyt kapasiteettinsa ja menettää nyt työtä, mikä on testin tarkoitus löytää.
Älä koskaan ilmoita pelkästään keskiarvoa. Keskiarvo 900 ms ja 95. persentiili 1.1 sekuntia kuvaavat yhdenmukaista järjestelmää. Sama keskiarvo, jonka 95. persentiili on 11 sekuntia, tarkoittaa, että yksi kahdestakymmenestä käyttäjästä kokee hyväksymättömän kokemuksen, jonka keskiarvo peittää.
Miten tämä testi vertautuu muihin suorituskykytesteihin
Suorituskykytestaus on testiryhmä, jotka eroavat toisistaan käytetyn kuormituksen muodon suhteen, minkä vuoksi ne sekoitetaan niin helposti.
| Testityyppi | Mikä on lisääntynyt | Kysymys, johon se vastaa |
|---|---|---|
| Kuormitustestaus | Samanaikaiset käyttäjät odotettuun huippuun asti | Täyttääkö se tavoitteet normaalin ruuhka-ajan liikenneolosuhteissa? |
| Volyymitestaus | Tietokannassa olevat tiedot | Selviytyykö se datajoukon kasvaessa? |
| Stressitestaus | Kuorma yli kapasiteetin, kunnes vika | Mistä se katkeaa ja miten? |
| Piikkitestaus | Lataa välittömästi ja erittäin nopeasti | Selviääkö ja toipuuko se järkytyksestä? |
| Kestävyystesti | Kesto normaalilla kuormalla | Heikentyykö suorituskyky ajan myötä? |
| Liotustestaus | Kesto, resurssien tarkkailu | Onko muistissa tai kahvoissa vuotoja? |
| Stabiliteettitestaus | Vaihtelevat olosuhteet | Pysyykö se luotettavana olosuhteiden muuttuessa? |
Tärkein ero tässä: Volyymitestaus skaalaa dataa, kuormitustestaus skaalaa käyttäjiä. Raportilla, joka suoritetaan kahdessa sekunnissa kymmentätuhatta riviä vastaan ja kahdessa minuutissa kymmentä miljoonaa riviä vastaan, on määräongelma, ei kuormitusongelma, eikä mikään lisäpalvelinkapasiteetti korjaa sitä.



