Co je STRESS testování v testování softwaru?

Stresové testování

Stresové testování je typ testování softwaru, který ověřuje stabilitu a spolehlivost softwarové aplikace. Cílem zátěžového testování je měření odolnosti softwaru a schopností zvládání chyb při extrémně vysokém zatížení a zajištění toho, že software nespadne v krizových situacích. Testuje dokonce i za normálními provozními body a vyhodnocuje, jak software funguje v extrémních podmínkách.

obrázek zátěžového testování

V softwarovém inženýrství je zátěžové testování také známé jako Testování odolnosti. Při zátěžovém testování je AUT na krátkou dobu namáháno, aby se zjistila jeho odolnost. Nejvýraznější použití zátěžového testování je určit hranici, při které se systém nebo software nebo hardware zlomí. Také kontroluje, zda systém prokazuje efektivní správu chyb v extrémních podmínkách.

Testovaná aplikace bude namáhána při zkopírování 5GB dat z webu a vložení do poznámkového bloku. Poznámkový blok je ve stresu a zobrazuje chybovou zprávu „Neodpovídáno“.

Co je STRESOVÉ testování v testování softwaru: Nástroje, potřeby a typy

Potřeba zátěžového testování

Zvažte následující příklady v reálném čase, kde můžeme objevit použití zátěžového testování –

  • Během festivalu může web nakupovat online svědkem prudkého nárůstu návštěvnosti nebo když oznámí výprodej.
  • Když se v předních novinách zmíní blog, zažije náhlý nárůst návštěvnosti.

Je bezpodmínečně nutné provést zátěžové testování, aby se vyhovělo těmto abnormálním dopravním špičkám. Nepřizpůsobení se tomuto náhlému provozu může mít za následek ztrátu příjmů a pověsti.

Zátěžové testování je také mimořádně cenné z následujících důvodů:

  • Chcete-li zkontrolovat, zda systém funguje za abnormálních podmínek.
  • Zobrazení příslušné chybové zprávy, když je systém ve stresu.
  • Selhání systému za extrémních podmínek může mít za následek enormní ztrátu příjmů
  • Je lepší být připraven na extrémní podmínky provedením zátěžového testování.

Cíle zátěžového testování

Cílem zátěžového testování je analyzovat chování systému po poruše. Aby bylo zátěžové testování úspěšné, měl by systém v extrémních podmínkách zobrazovat příslušné chybové hlášení.

K provádění zátěžového testování mohou být někdy použity rozsáhlé soubory dat, které se mohou během zátěžového testování ztratit. Testeři by neměli při zátěžovém testování ztratit tato data související se zabezpečením.

Hlavním účelem zátěžového testování je ujistit se, že se systém zotaví po selhání, které se nazývá jako obnovitelnost.

Zátěžové testování versus zátěžové testování

Obrázek zátěžového testování vs zátěžového testování

Testování zatížení Stresové testování
Testování zatížení je testovat chování systému za normálních podmínek zátěže a je to jen testování nebo simulace se skutečnou zátěží Zátěžové testování má otestovat chování systému v extrémních podmínkách a provádí se až do selhání systému.
Zátěžové testování nenaruší systém zátěžové testování se snaží prolomit systém testováním s ohromným množstvím dat nebo zdrojů.

Typy zátěžového testování

Níže jsou uvedeny typy zátěžového testování a jsou vysvětleny následovně:

Distribuované zátěžové testování:

Typy zátěžového testování

V distribuovaných systémech klient-server se testování provádí napříč všemi klienty ze serveru. Úkolem zátěžového serveru je distribuovat sadu zátěžových testů všem zátěžovým klientům a sledovat stav klienta. Poté, co klient kontaktuje server, server přidá jméno klienta a začne odesílat data k testování.

Mezitím klientské počítače odesílají signál nebo tlukot srdce, že jsou připojeny k serveru. Pokud server nepřijímá žádné signály z klientského počítače, je třeba jej dále prozkoumat kvůli ladění. Z obrázku se server může připojit ke 2 klientům (Klient1 a Klient2), ale nemůže odesílat ani přijímat signál od Klienta 3 a 4.

Noční běh je nejlepší možností ke spuštění těchto scénářů zátěžového testování. Velké serverové farmy potřebují efektivnější metodu pro určování, u kterých počítačů došlo k výpadkům stresu, které je třeba prošetřit.

Zátěžové testování aplikace:

Toto testování se soustředí na nalezení defektů souvisejících se zamykáním a blokováním dat, síťovými problémy a úzkými místy výkonu v aplikaci.

Transakční zátěžové testování:

Provádí zátěžové testování jedné nebo více transakcí mezi dvěma nebo více aplikacemi. Používá se pro jemné doladění a optimalizaci systému.

Systémové zátěžové testování:

Jedná se o integrované zátěžové testování, které lze testovat na více systémech běžících na stejném serveru. Používá se k nalezení defektů, kdy jedna aplikační data blokují jinou aplikaci.

Průzkumné zátěžové testování:

Jedná se o jeden z typů zátěžového testování, které se používá k testování systému s neobvyklými parametry nebo podmínkami, které v reálném scénáři pravděpodobně nenastanou. Používá se k nalezení defektů v neočekávaných scénářích, jako je

  1. Současně se přihlásilo velké množství uživatelů
  2. Pokud se antivirový skener spustil na všech počítačích současně
  3. Pokud databáze přešla do režimu offline při přístupu z webové stránky,
  4. Při současném vkládání velkého objemu dat do databáze

Jak provést zátěžové testování?

Proces zátěžového testování lze provést v 5 hlavních krocích:

Krok 1) Plánování zátěžového testu: Zde shromažďujete systémová data, analyzujete systém, definujete cíle zátěžových testů

Krok 2) Vytvořte automatizační skripty: V této fázi vytvoříte skripty automatizace zátěžového testování, vygenerujete testovací data pro zátěžové scénáře.

Krok 3) Spuštění skriptu: V této fázi spustíte skripty automatizace zátěžového testování a uložíte výsledky zátěže.

Krok 4) Analýza výsledků: V této fázi analyzujete výsledky zátěžového testu a identifikujete úzká místa.

Krok 5) Vyladění a optimalizace: V této fázi dolaďujete systém, měníte konfigurace, optimalizujete kód s cílem splnit požadovaný benchmark.

Nakonec znovu spustíte celý cyklus, abyste zjistili, zda vylepšení přinesla požadované výsledky. Například není neobvyklé mít 3 až 4 cykly procesu zátěžového testování k dosažení výkonnostních cílů.

Nástroje doporučené pro zátěžové testování

LoadRunner

LoadRunner od HP je široce používaný nástroj pro testování zátěže. Výsledky zátěžových testů vytvořené Loadrunnerem jsou považovány za měřítko.

Jmetr

Jmeter je testovací nástroj s otevřeným zdrojovým kódem. Je to čisté Java aplikace na stres a Testování výkonu. Jmeter je určen k pokrytí typů testů, jako jsou zátěžové, funkční, zátěžové atd. Ke své funkci potřebuje JDK 5 nebo vyšší.

Zátěžový tester

Tento nástroj poskytuje rozsáhlou analýzu výkonu webové aplikace, poskytuje výsledky v grafickém formátu a je extrémně snadno použitelný. Není vyžadováno žádné skriptování na vysoké úrovni a poskytuje dobrou návratnost investic.

Neo zatížení

Jedná se o populární nástroj dostupný na trhu pro testování webu a Mobilní aplikace aplikací. Tento nástroj dokáže simulovat tisíce uživatelů za účelem vyhodnocení výkonu aplikace při zatížení a analýzy doby odezvy. Podporuje také Cloud-integrated – výkon, zátěž a zátěžové testování. Snadno se používá, je nákladově efektivní a poskytuje dobrou škálovatelnost.

Metriky pro zátěžové testování

Metriky pomáhají při hodnocení výkonu systému a obecně se studují na konci zátěžového testu. Běžně používané metriky jsou –

Měření škálovatelnosti a výkonu

  • Stránky za sekundu: Měří, kolik stránek bylo vyžádáno za sekundu
  • Propustnost: Základní metrika – Velikost dat odezvy/sekunda
  • Kola: Kolikrát byly naplánovány testovací scénáře versus kolikrát klient provedl

Odpověď aplikace

  • Doba přístupu: Průměrná doba načtení obrázku nebo stránky
  • Čas do prvního bajtu: Čas potřebný k vrácení prvního bajtu dat nebo informací
  • Page Time: Čas potřebný k načtení všech informací na stránce

Poruchy

  • Neúspěšná připojení: Počet neúspěšných připojení odmítnutých klientem (slabé Signal)
  • Neúspěšná kola: Počet neúspěšných kol
  • Neúspěšné přístupy: Počet neúspěšných pokusů provedených systémem (nefunkční odkazy nebo neviditelné obrázky)

Proč investovat do čističky vzduchu?

Cílem zátěžového testování je prověřit systém v extrémních podmínkách. Monitoruje systémové prostředky, jako je paměť, procesor, síť atd., a kontroluje schopnost systému obnovit se zpět do normálního stavu. Kontroluje, zda systém ve stresu zobrazuje příslušné chybové zprávy.

Příklad zátěžového testování

  1. Web e-shopu oznamuje festivalový výprodej
  2. Zpravodajský web v době některých významných událostí
  3. Webová stránka s výsledky vzdělávací rady
  4. Stránky sociálních sítí nebo blogy, aplikace atd