performance testing vs load testing vs stress testing
Rozdiel medzi testovaním výkonu, testom zaťaženia a stresovým testovaním - s príkladmi
Náš predchádzajúci návod v tejto sérii bude najlepší Sprievodca testovaním výkonu pre každého začiatočníka.
V oblasti testovania softvéru sa stretávame s pojmami ako testovanie výkonu, záťažové testovanie, záťažové testovanie atď. Tieto pojmy sú často nepochopené a interpretované ako rovnaké pojmy.
Medzi týmito tromi typmi testovania však existuje výrazný rozdiel a je dôležité, aby tester tomu istému porozumel.
=> Kliknite sem, aby ste získali sériu kompletných návodov na testovanie výkonu
V tejto príručke sa budeme zaoberať každým z týchto typov testovania, aby sme pochopili presné rozdiely medzi nimi.
Čo sa dozviete:
Rozdiel medzi testovaním výkonu, testom zaťaženia a stresovým testovaním
# 1) Testovanie výkonu
Čo je to Testovanie výkonu?
Testovanie výkonu je testovanie, ktoré sa vykonáva s cieľom zistiť, ako si počínajú komponenty systému v určitej situácii.
V rámci tohto testovania sa tiež overuje použitie zdrojov, škálovateľnosť a spoľahlivosť produktu. Toto testovanie je podmnožinou výkonového inžinierstva, ktoré je zamerané na riešenie problémov s výkonom v dizajne a architektúre softvérového produktu.
Vyššie uvedený obrázok nám to jasne vysvetľuje Testovanie výkonu je nadmnožinou pre záťažové aj záťažové testovanie. Ďalšími typmi testovania zahrnutými do testovania výkonu sú Spikeovo testovanie, testovanie objemu, testovanie vytrvalosti a Testovanie škálovateľnosti . Testovanie výkonu je teda v podstate veľmi široký pojem.
Cieľ testovania výkonnosti:
Primárny cieľ testovania výkonu zahŕňa stanovenie referenčného správania systému. Existuje niekoľko priemyselne definovaných referenčných hodnôt, ktoré by sa mali splniť počas testovania výkonu.
Cieľom testovania výkonu nie je nájsť chyby v aplikácii. Neprejde ani neprejde testom. Rieši skôr kritickú úlohu stanovenia štandard a štandard pre aplikáciu . Testovanie výkonu by sa malo robiť veľmi presne. Primárnou charakteristikou testovania výkonu je dôkladné sledovanie výkonu aplikácie / systému.
Referenčný štandard a štandard aplikácie by mali byť stanovené z hľadiska atribútov ako rýchlosť, čas odozvy, priepustnosť, využitie zdrojov a stabilita. Všetky tieto atribúty sú testované v teste výkonnosti.
Napríklad,
Môžete napríklad otestovať výkon siete aplikácie pomocou grafu „Rýchlosť pripojenia vs. latencia“. Latencia je časový rozdiel medzi údajmi, ktoré sa majú dostať zo zdroja do cieľa.
Načítanie stránky s veľkosťou 70 kB by pri najhoršom pripojení modemu s rýchlosťou 28,8 kb / s (latencia = 1 000 milisekúnd) nezabralo viac ako 15 sekúnd, zatiaľ čo stránka s rovnakou veľkosťou by sa pri priemernom pripojení 256 kb / s DSL (latencia = 100) zobrazila do 5 sekúnd. milisekundy).
Pripojenie T1 s rýchlosťou 1,5 Mb / s (latencia = 50 milisekúnd) by malo na dosiahnutie tohto cieľa nastavený štandard výkonu na 1 sekundu.
Ďalší príklad by išlo o model požiadavky-odpovede. Môžeme nastaviť meradlo, že časový rozdiel medzi vygenerovaním požiadavky a potvrdením odpovede by mal byť v rozmedzí x ms (milisekundy) a y ms, kde x a y sú štandardné číslice.
Úspešný test výkonu by mal premietnuť väčšinu problémov s výkonom, ktoré by mohli súvisieť s databázou, sieťou, softvérom, hardvérom atď.
# 2) Testovanie záťaže
Testovanie záťaže je určené na testovanie systému neustálym a stabilným zvyšovaním záťaže systému, kým nedosiahne prahovú hranicu. Je to podmnožina testovania výkonu.
c ++ previesť char pole na int
Zaťažovacie testy je možné ľahko vykonať použitím ktoréhokoľvek z vhodných automatizačných nástrojov dostupných na trhu. WAPT a LoadRunner sú dva také známe nástroje, ktoré pomáhajú pri testovaní záťaže. Záťažové testovanie preslávili aj mená ako Objemové testovanie a Testovanie odolnosti .
Testovanie zväzkov sa však zameriava hlavne na databázy. Testovanie odolnosti testuje systém tak, že je udržiavaný pri významnom zaťažení po dlhšiu dobu.
Jediným účelom testovania záťaže je prideliť systému najväčšiu úlohu, akú dokáže spracovať, aby sa otestovala výdrž systému a monitorovali sa výsledky. Zaujímavým faktom je, že niekedy je systém napájaný prázdnou úlohou na určenie správania systému v situácii bez zaťaženia.
Atribúty, ktoré sa sledujú v teste zaťaženia, zahŕňajú špičkový výkon, priepustnosť servera, čas odozvy pri rôznych úrovniach zaťaženia (pod hranicou prerušenia), primeranosť H / W prostredia, koľko používateľských aplikácií dokáže spracovať bez ovplyvnenia výkonu.
Cieľ testovania záťaže:
Medzi ciele záťažového testovania patria:
- Odhalenie chýb v aplikácii súvisiace s pretečením medzipamäte, únikmi pamäte a nesprávnym spravovaním pamäte. Problémy, ktoré nakoniec vyjdú v dôsledku testovania záťaže, môžu zahŕňať problémy s vyvážením záťaže, problémy so šírkou pásma, kapacitou existujúceho systému atď.
- Určiť hornú hranicu všetkých komponentov aplikácie, ako je databáza, hardvér, sieť atď., Aby mohla aplikácia zvládnuť predpokladané zaťaženie v budúcnosti.
- Nastaviť SLA pre aplikáciu.
Napríklad,
Zvážme kontrolu e-mailovej funkčnosti aplikácie, ktorá by mohla zaplaviť 1 000 používateľov naraz. Teraz môže 1 000 používateľov spustiť e-mailové transakcie (čítať, odosielať, mazať, preposielať, odpovedať) mnohými rôznymi spôsobmi.
Ak vezmeme jednu transakciu na používateľa za hodinu, potom by to bolo 1000 transakcií za hodinu. Simuláciou 10 transakcií / používateľov by sme mohli načítať test e-mailového servera jeho obsadením 10 000 transakciami za hodinu.
Ďalší príklad testu zaťaženia je uvedený na obrázku nižšie:
Obrázok vyššie zobrazuje test zaťaženia vykonaný v nástroji s názvom JMeter . Týmto testom sa zisťuje, koľko používateľov dokáže systém spracovať. V tomto teste sa každých 30 sekúnd pridáva 100 používateľov, kým zaťaženie nedosiahne 1 000 používateľov. Dokončenie každého kroku trvá 30 sekúnd a JMeter počká 30 sekúnd, kým zaháji ďalší krok.
Akonáhle zaťaženie dosiahne 1 000 vlákien, všetky budú pokračovať v chode 300 sekúnd (5 minút) spolu a potom nakoniec zastavia 10 vlákien každé 3 sekundy.
# 3) Stresové testovanie
V rámci stresového testovania sa vykonávajú rôzne činnosti na preťaženie existujúcich zdrojov nadmerným počtom pracovných miest v snahe rozbiť systém. Negatívne testovanie , ktorého súčasťou je odstránenie komponentov zo systému, sa tiež robí ako súčasť záťažového testovania.
Taktiež známy ako únavové testovanie , toto testovanie by malo zachytiť stabilitu aplikácie testovaním nad jej kapacitu šírky pásma.
V zásade teda záťažové testovanie hodnotí správanie aplikácie mimo špičkového zaťaženia a za normálnych podmienok.
Účelom záťažového testovania je zistiť poruchu systému a sledovať, ako sa systém elegantne zotavuje. Výzvou je nastaviť kontrolované prostredie pred spustením testu, aby ste mohli presne zachytiť správanie systému opakovane v tých najnepredvídateľnejších scenároch.
Medzi problémy, ktoré by nakoniec vyšli v dôsledku stresového testovania, patria napríklad problémy so synchronizáciou, úniky pamäte, prevádzkové podmienky atď. Ak záťažový test kontroluje, ako sa systém správa v prípade náhleho zvýšenia počtu používateľov , potom sa nazýva test špice.
Ak má záťažový test kontrolovať udržateľnosť systému v priebehu času prostredníctvom pomalého zvyšovania počtu používateľov, nazýva sa to testom namočenia.
Cieľ stresového testovania:
Cieľom stresového testovania je analyzovať správy po páde a definovať tak správanie aplikácie po zlyhaní.
Najväčšou výzvou je zabezpečiť, aby systém po zlyhaní neohrozil zabezpečenie citlivých údajov. Pri úspešnom stresovom testovaní sa systém vráti do normálu spolu so všetkými jeho komponentmi aj po najstrašnejšej poruche.
Napríklad,
Napríklad textový procesor ako Writer1.1.0 od OpenOffice.org sa používa na vývoj listov, prezentácií, tabuliek a pod. Účelom nášho stresového testovania je načítať ho nadmerným počtom znakov.
Za týmto účelom opakovane prilepíme riadok s údajmi, kým nedosiahne svoj prahový limit spracovania veľkého množstva textu. Len čo veľkosť znaku dosiahne 65 535 znakov, jednoducho by odmietla prijať viac údajov.
Výsledok stresového testovania v aplikácii Writer 1.1.0 vedie k výsledku, že pri strese nespadne a situáciu zvládne ladne, čo zaručuje, že aplikácia pracuje správne aj za prísnych stresových podmienok.
Ďalší príklad testu zaťaženia, ktorý zobrazuje test špičky pri náhlom nábehu 7 000 používateľov, je uvedený nižšie:
Časté otázky
Po dostatočnom počte diskusií o testovaní výkonnosti, stresovom testovaní a testovaní záťaže sa pozrime na niektoré súvisiace časté otázky, na ktoré testéri hľadajú odpoveď.
Otázka č. 1) Je testovanie záťaže a testovanie výkonu rovnaké?
Odpoveď: Odpoveď na túto otázku je „Nie“. Nie sú rovnaké.
Teraz ste už určite jasne pochopili rozdiel medzi testovaním výkonu a testovaním záťaže. V tabuľkovom zhrnutí nižšie sa dozviete, ako majú testovanie výkonu a zaťaženia rôzne ciele, atribúty rozsahu na štúdium a problémy, ktoré treba odhaliť.
Otázka č. 2) Je to nespravodlivý test pri vykonávaní záťažového testovania súčasne so stresovým testovaním?
Odpoveď: To je tiež častá otázka pri mnohých pohovoroch o testovaní softvéru a certifikačných skúškach, pretože je nespravodlivé paralelne vykonávať záťažové testovanie a testovanie záťaže? Odpoveď na túto otázku je „Nie“. Nie je nefér robiť záťažové testy súčasne, keď robíte záťažové testy.
Žiadny test nie je nikdy nespravodlivý. Ako tester sa snažíte nájsť problémy. Môžu sa však vzťahovať na realitu testovania softvéru a akýkoľvek problém, ktorý v tejto situácii zistíte, nemusí byť opravený.
Otázka 3) Je testovanie obnovy súčasťou testovania výkonnosti?
Odpoveď: Áno, testovanie obnovy je kategorizované v rámci testovania výkonu a niekedy sa tiež vykonáva s testovaním záťaže. V testovanie obnovy , je prístupné ako to, ako dobre je aplikácia schopná zotaviť sa z chýb, zlyhaní, zlyhaní hardvéru a iných podobných problémov.
Pri tejto činnosti je softvér nútený zlyhať a potom sa overí, či je schopný správne sa zotaviť. Napríklad, náhle reštartovanie systému, keď je aplikácia spustená, a následné overenie integrity údajov aplikácie.
Otázka 4) Vyžaduje testovanie výkonu kódovanie?
Odpoveď: Testovanie výkonu nevyžaduje, aby ste poznali pokročilú úroveň kódovania. Základné znalosti programovania sú však ďalšou výhodou.
Napríklad, ak používate JMeter, je dobré poznať základy Java. Môže vám pomôcť ladiť určité veci a v prípade potreby môžete napísať aj svoj vlastný skript.
Otázka č. 5) Čo je Spikeovo testovanie pri testovaní výkonu?
Odpoveď: Pri testovaní na hrotoch je zaťaženie prudko zvýšené alebo znížené veľkým počtom používateľov a neskôr je pozorované správanie systému. Spikové testovanie sa vykonáva hlavne na kontrolu, či je systém schopný zvládnuť náhle zmeny v záťaži.
Rozdiel medzi záťažovým a stresovým testovaním
Ak to zhrnieme, v nasledujúcej tabuľke si všimnime hlavné rozdiely medzi záťažovým testovaním, stresovým testovaním a testovaním výkonu:
Testovanie výkonu | Testovanie záťaže | Stresové testovanie | |
---|---|---|---|
Doména | Nadmnožina záťažového a záťažového testovania | Podmnožina testovania výkonu. | Podmnožina testovania výkonu. |
Rozsah | Veľmi široký záber. Zahŕňa - záťažové testovanie, stresové testovanie, kapacitné testovanie, objemové testovanie, testovanie odolnosti, testovanie špičiek, testovanie škálovateľnosti a testovanie spoľahlivosti atď. | Užší rozsah v porovnaní s testovaním výkonu. Zahŕňa objemové testovanie a testovanie odolnosti. | Užší rozsah v porovnaní s testovaním výkonu. Zahŕňa testovanie namáčania a testovanie hrotmi. |
Hlavný cieľ | Nastaviť štandard a štandardy pre aplikáciu. | Ak chcete zistiť hornú hranicu systému, nastavte SLA aplikácie a uvidíte, ako systém zvláda veľké objemy zaťaženia. | Identifikovať, ako sa systém správa pri intenzívnom zaťažení a ako sa zotavuje zo zlyhania. V zásade pripraviť vašu aplikáciu na neočakávaný nárast premávky. |
Limit zaťaženia | Obaja - pod a nad prahom prestávky. | Do prahu zlomu | Nad prahom zlomu |
Študované atribúty | Využitie zdrojov, spoľahlivosť, škálovateľnosť, využitie zdrojov, doba odozvy, priepustnosť, rýchlosť atď. | špičkový výkon, priepustnosť servera, doba odozvy pri rôznych úrovniach zaťaženia (pod prahom zlomu), primeranosť H / W prostredia, počet používateľských aplikácií, ktoré zvládne, požiadavky na vyváženie záťaže atď. | Stabilita nad kapacitu šírky pásma, doba odozvy (nad prahom zlomu), atď. |
Problémy identifikované týmto typom testovania | Všetky chyby vo výkone vrátane nafúknutia za behu, rozsahu optimalizácie, problémov týkajúcich sa rýchlosti, latencie, priepustnosti atď. V zásade - čokoľvek súvisiace s výkonom! | Problémy s vyrovnávaním záťaže, problémy so šírkou pásma, problémy s kapacitou systému, zlým časom odozvy, problémami s priepustnosťou atď. | Bezpečnostné medzery s preťažením, problémy s poškodením údajov pri preťažení, pomalosť, úniky pamäte atď. |
Rozdiel medzi testovaním zaťaženia, stresu a objemu
Teraz už vieme o záťažovom a stresovom testovaní a rozdieloch medzi nimi. Poďme teraz preskúmať, čo je objemové testovanie a v čom sa líši od záťažového testovania a stresového testovania.
Objemové testovanie je tiež druh testovania výkonu, ktorý sa zameriava hlavne na databázu.
Pri testovaní zväzkov sa kontroluje, ako sa systém správa k určitému objemu údajov. Databázy sú teda plné svojej maximálnej kapacity a monitorujú sa ich úrovne výkonu, ako napríklad doba odozvy a kapacita servera.
Aby sme to zjednodušili, rozdiel medzi testovaním zaťaženia, stresu a objemu je uvedený nižšie:
Objemové testovanie | Testovanie záťaže | Stresové testovanie |
---|---|---|
Obrovské množstvo dát | Obrovské množstvo používateľov | Príliš veľa používateľov, príliš veľa údajov, zlyhanie systému. |
Záver
V tomto tutoriáli sme prostredníctvom príkladov videli a pochopili, ako sa líšia testovanie výkonu, záťažové testovanie a záťažové testovanie a aký je rozsah jednotlivých typov testovania.
Krátko sme sa tiež pozreli na mnoho kategórií v rámci testovania výkonnosti, ako sú testovanie špice, testovanie obnovy, testovanie objemu atď., A pochopili sme, v čom sa každá z nich líši jedna od druhej.
Dúfame, že by vám tento návod nesmierne pomohol pochopiť praktický rozdiel medzi výkonom, zaťažením a záťažovým testovaním.
V našom pripravovanom výučbe sa dozviete viac o funkčnom testovaní a testovaní výkonu.
=> Navštívte tu sériu kompletných návodov na testovanie výkonnosti
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Kompletný sprievodca testovaním výkonu s príkladmi
- Sprievodca stresovým testovaním pre začiatočníkov
- Záťažové testovanie - kompletný sprievodca pre začiatočníkov
- Testovanie záťaže, stresu a výkonu webových aplikácií pomocou WAPT
- Testovanie záťaže s výukovými programami HP LoadRunner
- Testovanie cloudového výkonu: Poskytovatelia služieb testovania zaťaženia na základe cloudu
- Funkčné testovanie vs. Testovanie výkonu: Malo by sa to robiť súčasne?
- Testovanie záťaže pomocou LoadUI - bezplatný a otvorený nástroj na testovanie záťaže