performance testing vs load testing vs stress testing
Rozdíl mezi testováním výkonu, zátěžovým testem a zátěžovým testováním - s příklady
Náš předchozí tutoriál v této sérii bude nejlepší Průvodce testováním výkonu pro každého začátečníka.
V oblasti testování softwaru narazíme na pojmy jako testování výkonu, zátěžové testování, zátěžové testování atd. Tyto pojmy jsou často nepochopeny a interpretovány jako stejné pojmy.
Mezi těmito třemi typy testování však existuje podstatný rozdíl a je důležité, aby tester tomu samému porozuměl.
=> Klepnutím sem zobrazíte kompletní sérii výukových programů pro testování výkonu
V tomto kurzu probereme každý z těchto typů testování, abychom pochopili přesné rozdíly mezi nimi.
Co se naučíte:
Rozdíl mezi testováním výkonu, zátěžovým testem a zátěžovým testováním
# 1) Testování výkonu
Co je testování výkonu?
Testování výkonu je testování, které se provádí za účelem zjištění, jak si komponenty systému vedou za určité dané situace.
Využití zdrojů, škálovatelnost a spolehlivost produktu jsou také ověřeny v rámci tohoto testování. Toto testování je podmnožinou výkonového inženýrství, která je zaměřena na řešení problémů s výkonem v designu a architektuře softwarového produktu.
Výše uvedený obrázek nám to jasně vysvětluje Testování výkonu je nadmnožinou pro zátěžové i zátěžové testování. Dalšími typy testování zahrnutými do testování výkonu jsou testování Spike, testování objemu, testování odolnosti a Testování škálovatelnosti . Testování výkonu je tedy v zásadě velmi široký pojem.
Cíl testování výkonu:
Primárním cílem testování výkonu je stanovení srovnávacího chování systému. Existuje několik průmyslově definovaných standardů, které by měly být splněny během testování výkonu.
Cílem testování výkonu není najít vady aplikace. Také testem neprospěje ani neprospěje. Spíše se věnuje zásadnímu úkolu nastavení měřítko a standard pro aplikaci . Testování výkonu by mělo být prováděno velmi přesně. Pečlivé sledování výkonu aplikace / systému je primární charakteristikou testování výkonu.
Benchmark a standard aplikace by měl být nastaven z hlediska atributů, jako je rychlost, doba odezvy, propustnost, využití zdrojů a stabilita. Všechny tyto atributy jsou testovány v testu výkonu.
Například,
Například můžete otestovat výkon sítě aplikace pomocí grafu „Rychlost připojení vs. Latence“. Latence je časový rozdíl mezi daty k dosažení ze zdroje do cíle.
Načtení stránky o velikosti 70 kB by při nejhorším připojení modemu s rychlostí 28,8 kb / s (latence = 1 000 milisekund) netrvalo déle než 15 sekund, zatímco stránka se stejnou velikostí by se při průměrném připojení 256 kb / s DSL (latence = 100) objevila do 5 sekund. milisekundy).
Připojení T1 o rychlosti 1,5 Mb / s (latence = 50 milisekund) by mělo k dosažení tohoto cíle nastaveno měřítko výkonu na 1 sekundu.
Další příklad by to byl model požadavku a odpovědi. Můžeme nastavit měřítko, že časový rozdíl mezi generováním požadavku a potvrzením odezvy by měl být v rozsahu x ms (milisekundy) a y ms, kde x a y jsou standardní číslice.
Úspěšný test výkonu by měl promítnout většinu problémů s výkonem, které by mohly souviset s databází, sítí, softwarem, hardwarem atd.
# 2) Testování zátěže
Zátěžové testování je určeno k testování systému neustálým a stabilním zvyšováním zátěže systému, dokud nedosáhne mezní hodnoty. Jedná se o podmnožinu testování výkonu.
Zátěžové testování lze snadno provést pomocí kteréhokoli z vhodných automatizačních nástrojů dostupných na trhu. WAPT a LoadRunner jsou dva takové slavné nástroje, které pomáhají při testování zátěže. Testování zátěže je také známé jmény jako Testování objemu a Vytrvalostní testování .
Testování svazků se však zaměřuje hlavně na databáze. Vytrvalostní testování testuje systém tak, že je trvale udržován pod značným zatížením.
Jediným účelem zátěžového testování je přiřadit systému největší úlohu, kterou může zpracovat, aby se otestovala výdrž systému a sledovaly výsledky. Zajímavým faktem je, že někdy je systém napájen prázdným úkolem určit chování systému v situaci nulového zatížení.
Atributy, které jsou sledovány v zátěžovém testu, zahrnují špičkový výkon, propustnost serveru, dobu odezvy při různých úrovních zátěže (pod prahovou hodnotou přerušení), přiměřenost prostředí H / W, kolik uživatelských aplikací dokáže zpracovat bez ovlivnění výkonu.
Cíl testování zatížení:
Cíle zátěžového testování zahrnují:
- Odhalení defektů v aplikaci souvisejících s přetečením vyrovnávací paměti, únikem paměti a špatnou správou paměti. Problémy, které by nakonec vyšly v důsledku testování zátěže, mohou zahrnovat problémy s vyrovnáváním zátěže, problémy se šířkou pásma, kapacitou stávajícího systému atd.
- Chcete-li určit horní hranici všech komponent aplikace, jako je databáze, hardware, síť atd., Aby aplikace mohla v budoucnu spravovat očekávané zatížení.
- Chcete-li nastavit SLA pro aplikaci.
Například,
Zvažme kontrolu e-mailových funkcí aplikace, která by mohla být zaplavena 1000 uživateli najednou. Nyní může 1000 uživatelů spouštět e-mailové transakce (číst, odesílat, mazat, přeposílat, odpovídat) mnoha různými způsoby.
Pokud vezmeme jednu transakci na uživatele za hodinu, pak by to bylo 1000 transakcí za hodinu. Simulací 10 transakcí / uživatelů bychom mohli načíst test e-mailového serveru jeho obsazením 10 000 transakcemi za hodinu.
výuka serveru pro týmové nadace pro začátečníky
Další příklad zátěžového testu je uveden na obrázku níže:
Výše uvedený obrázek znázorňuje zátěžový test provedený v nástroji s názvem JMeter . Tento test se provádí k určení, kolik uživatelů může systém zpracovat. V tomto testu se každých 30 sekund přidá 100 uživatelů, dokud zatížení nedosáhne 1000 uživatelů. Dokončení každého kroku trvá 30 sekund a JMeter čeká 30 sekund, než zahájí další krok.
Jakmile zatížení dosáhne 1 000 vláken, všechna budou pokračovat v chodu po dobu 300 sekund (5 minut) a nakonec zastaví každé 3 sekundy 10 vláken.
# 3) Stresové testování
Při zátěžovém testování se provádějí různé činnosti k přetížení stávajících zdrojů nadbytečnými úlohami ve snaze rozbít systém. Negativní testování , který zahrnuje odebrání komponent ze systému, se provádí také jako součást zátěžového testování.
Také známý jako únavové testování , toto testování by mělo zachytit stabilitu aplikace testováním nad její kapacitu šířky pásma.
Stresové testování tedy v zásadě hodnotí chování aplikace mimo špičkové zatížení a normální podmínky.
Účelem zátěžového testování je zjistit poruchu systému a sledovat, jak se systém elegantně zotavuje. Výzvou zde je nastavení kontrolovaného prostředí před spuštěním testu, abyste mohli přesně zachytit chování systému opakovaně v nejnepředvídatelnějších scénářích.
Problémy, které by nakonec vyšly v důsledku zátěžového testování, mohou zahrnovat problémy se synchronizací, úniky paměti, podmínky závodu atd. Pokud zátěžový test kontroluje, jak se systém chová v situaci náhlého náběhu počtu uživatelů , pak se nazývá test špice.
Pokud má zátěžový test kontrolovat udržitelnost systému po určitou dobu prostřednictvím pomalého zvyšování počtu uživatelů, nazývá se to testem namočení.
Cíl zátěžového testování:
Cílem zátěžového testování je analyzovat zprávy po havárii a definovat chování aplikace po selhání.
Největší výzvou je zajistit, aby systém po selhání neohrozil zabezpečení citlivých dat. Při úspěšném zátěžovém testování se systém vrátí do normálu spolu se všemi jeho komponentami i po nejstrašnějším rozpadu.
Například,
Například textový procesor jako Writer1.1.0 od OpenOffice.org se používá při vývoji dopisů, prezentací, tabulek atd. Účelem našeho zátěžového testování je načíst jej přebytečnými znaky.
K tomu budeme opakovaně vložit řádek dat, dokud nedosáhne svého prahového limitu zpracování velkého objemu textu. Jakmile velikost znaků dosáhne 65 535 znaků, jednoduše by odmítla přijmout více dat.
Výsledek zátěžového testování na Writeru 1.1.0 má za následek, že se při zátěži nezhroutí a bude situaci řešit elegantně, což zajistí, že aplikace bude fungovat správně i za přísných zátěžových podmínek.
Níže je uveden další příklad zátěžového testu, který zobrazuje test špičky při náhlém náběhu 7000 uživatelů:
Časté dotazy
Po dostatečných diskusích o testování výkonu, zátěžovém testování a zátěžovém testování se nyní podívejme na některé související časté otázky, na které testeři hledají odpověď.
Otázka č. 1) Je testování zátěže a testování výkonu stejné?
Odpovědět: Odpověď na tuto otázku je „ne“. Nejsou stejné.
Nyní už musíte jasně pochopit rozdíl mezi testováním výkonu a testováním zátěže. V níže uvedeném souhrnu tabulek můžete vidět, jak mají testování výkonu a zátěže různé cíle, atributy oboru ke studiu a problémy, které je třeba odhalit.
Otázka č. 2) Je to nespravedlivý test provádět zátěžové testování současně při provádění zátěžového testování?
Odpovědět: To je také běžná otázka v mnoha rozhovorech o testování softwaru a certifikačních zkouškách, protože je nespravedlivé provádět zátěžové testování a zátěžové testování paralelně? Odpověď na tuto otázku je „ne“. Není záporné provádět zátěžové testování současně, když provádíte zátěžové testy.
Žádný test není nikdy nespravedlivý. Jako tester se snažíte najít problémy. Mohou však platit skutečnosti testování softwaru a jakýkoli problém, který v této situaci zjistíte, nemusí být opraven.
Otázka 3) Je testování obnovy součástí testování výkonu?
Odpovědět: Ano, testování obnovy je zařazeno do kategorie testování výkonu a občas se provádí také s testováním zátěže. v testování obnovy , je přístupné jako to, jak dobře je aplikace schopna se zotavit z poruch, selhání, selhání hardwaru a dalších podobných problémů.
V této činnosti je software nucen selhat a poté je ověřen, zda je schopen se správně zotavit. Například, náhlé restartování systému, když je aplikace spuštěna, a následné ověření integrity dat aplikace.
Otázka č. 4) Vyžaduje testování výkonu kódování?
Odpovědět: Testování výkonu nevyžaduje znalost pokročilé úrovně kódování. Základní znalost programování je však další výhodou.
Například, pokud používáte JMeter, pak je dobré znát základy Java. Může vám pomoci ladit určité věci a v případě potřeby můžete také napsat vlastní skript.
Otázka č. 5) Co je testování Spike v testování výkonu?
Odpovědět: Při testování špiček je zátěž náhle zvýšena nebo snížena velkým počtem uživatelů a později je pozorováno chování systému. Testování Spike se provádí hlavně za účelem kontroly, zda je systém schopen zvládnout náhlé změny v zátěži.
Rozdíl mezi zátěžovým a zátěžovým testováním
Abychom to shrnuli, podívejme se na hlavní rozdíly mezi zátěžovým testováním, zátěžovým testováním a výkonovým testováním v následující tabulce:
Testování výkonu | Zátěžové testování | Stresové testování | |
---|---|---|---|
Doména | Nadmnožina zátěžového a zátěžového testování | Podmnožina testování výkonu. | Podmnožina testování výkonu. |
Rozsah | Velmi široký rozsah. Zahrnuje - zátěžové testování, zátěžové testování, testování kapacity, testování objemu, testování odolnosti, testování špiček, testování škálovatelnosti a testování spolehlivosti atd. | Užší rozsah ve srovnání s testováním výkonu. Zahrnuje testování objemu a testování odolnosti. | Užší rozsah ve srovnání s testováním výkonu. Zahrnuje testování namáčení a testování hrotu. |
Hlavní cíl | Nastavit měřítko a standardy pro aplikaci. | Chcete-li identifikovat horní hranici systému, nastavte SLA aplikace a podívejte se, jak systém zvládá velké objemy zatížení. | Identifikovat, jak se systém chová při intenzivním zatížení a jak se zotavuje z poruchy. V zásadě připravit aplikaci na neočekávaný nárůst provozu. |
Limit zatížení | Oba - pod a nad prahovou hodnotou přestávky. | Do prahu zlomu | Nad prahovou hodnotou zlomu |
Atributy studovány | Využití zdrojů, spolehlivost, škálovatelnost, využití zdrojů, doba odezvy, propustnost, rychlost atd. | špičkový výkon, propustnost serveru, doba odezvy při různých úrovních zatížení (pod prahovou hodnotou zlomu), přiměřenost prostředí H / W, počet uživatelských aplikací, které lze zpracovat, požadavky na vyvážení zátěže atd. | Stabilita nad kapacitu šířky pásma, doba odezvy (nad prahovou hodnotou zlomu), atd. |
Problémy zjištěné prostřednictvím tohoto typu testování | Všechny výkonnostní chyby včetně runtime bloat, prostor pro optimalizaci, problémy související s rychlostí, latencí, propustností atd. V zásadě - cokoli, co souvisí s výkonem! | Problémy s vyrovnáváním zatížení, problémy se šířkou pásma, problémy s kapacitou systému, špatnou dobou odezvy, problémy s propustností atd. | Bezpečnostní mezery s přetížením, problémy s poškozením dat při přetížení, pomalost, úniky paměti atd. |
Rozdíl mezi testováním zátěže, stresu a objemu
Nyní už víme o zátěžových a zátěžových testech a rozdílech mezi nimi. Pojďme nyní prozkoumat, co je objemové testování a v čem se liší od zátěžového testování a zátěžového testování.
Testování objemu je také druh testování výkonu, který se hlavně zaměřuje na databázi.
jak najít soubory apk v systému Android
Při testování objemu se kontroluje, jak se systém chová proti určitému objemu dat. Databáze jsou tedy plné své maximální kapacity a jsou sledovány jejich úrovně výkonu, jako je doba odezvy a propustnost serveru.
Aby to bylo velmi jednoduché, je rozdíl mezi testováním zátěže, stresu a objemu zobrazen níže:
Testování objemu | Zátěžové testování | Stresové testování |
---|---|---|
Obrovské množství dat | Obrovský počet uživatelů | Příliš mnoho uživatelů, příliš mnoho dat, ke zhroucení systému. |
Závěr
V tomto kurzu jsme prostřednictvím příkladů viděli a pochopili, jak se testování výkonu, zátěžové testování a zátěžové testování navzájem liší a jaký je rozsah jednotlivých typů testování.
Měli jsme také krátký pohled na mnoho kategorií v rámci testování výkonu, jako je testování špiček, testování obnovy, testování objemu atd. A pochopili jsme, jak se každá z nich liší od sebe navzájem.
Doufáme, že by vám tento výukový program velmi pomohl pochopit praktický rozdíl mezi výkonem, zátěží a zátěžovým testováním.
Podívejte se na náš nadcházející výukový program a dozvíte se více o testování funkčnosti vs. testování výkonu.
=> Navštivte zde kompletní sérii výukových programů pro testování výkonu
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Kompletní průvodce testováním výkonu s příklady
- Průvodce stresovým testováním pro začátečníky
- Load Testing Kompletní průvodce pro začátečníky
- Testování zatížení, stresu a výkonu webových aplikací pomocí WAPT
- Testování zátěže s výukovými programy HP LoadRunner
- Cloud Performance Testing: Cloud-Based Load Testing Service Providers
- Funkční testování vs. Testování výkonu: Mělo by se provádět současně?
- Testování zátěže pomocí LoadUI - bezplatný a otevřený nástroj pro testování zátěže