Co je testování odolnosti v testování softwaru? (s příkladem)

Testování odolnosti

Testování odolnosti je nefunkční typ testování softwaru, kdy je software testován s vysokou zátěží prodlouženou po značnou dobu, aby se vyhodnotilo chování softwarové aplikace při trvalém používání. Hlavním účelem testování odolnosti je zajistit, aby aplikace byla dostatečně schopná zvládnout delší zátěž bez jakéhokoli zhoršení doby odezvy.

Tento typ testování se provádí v poslední fázi cyklu výkonu. Testování odolnosti je dlouhý proces a někdy trvá dokonce až rok. To může zahrnovat použití externích zátěží, jako je internetový provoz nebo akce uživatele. Tím se testování odolnosti liší od Testování zatížení, která obvykle končí za pár hodin nebo tak nějak.

Vytrvalost znamená kapacitu, takže jinými slovy, můžete Endurance Testing nazvat jako Capacity Testing.

Cíle testování vytrvalosti

  • Primárním cílem testování Endurance je kontrola úniků paměti.
  • Chcete-li zjistit, jak systém funguje při trvalém používání.
  • Aby bylo zajištěno, že po dlouhé době zůstane doba odezvy systému stejná nebo lepší než na začátku testu.
  • K určení počtu uživatelů a/nebo transakcí bude daný systém podporovat a splňovat výkonnostní cíle.
  • Abychom mohli spravovat budoucí zatížení, musíme pochopit, kolik dalších zdrojů (jako je kapacita procesoru, kapacita disku, využití paměti nebo šířka pásma sítě) je nezbytných k podpoře využití v budoucnu.
  • Testování odolnosti se obecně provádí buď přetížením systému, nebo snížením určitých systémových zdrojů a vyhodnocením důsledků.
  • Provádí se, aby se zajistilo, že nedojde k defektům nebo únikům paměti po období, které je považováno za relativně „normální“ dobu používání.

Co sledovat v Testování odolnosti

Testování odolnosti

Při testování odolnosti se testují následující věci.
  • Test úniku paměti– Provádí se kontroly, aby se ověřilo, zda v aplikaci nedochází k úniku paměti, který může způsobit zhroucení systému nebo operačního systému
  • Otestujte uzavření spojení mezi vrstvou systému – Pokud není spojení mezi vrstvami systému úspěšně uzavřeno, může dojít k zablokování některých nebo všech modulů systému.
  • Testování připojení k databázi bylo úspěšně ukončeno– Pokud není připojení k databázi úspěšně ukončeno, může dojít ke zhroucení systému
  • Doba odezvy testu – Systém je testován na dobu odezvy systému, protože aplikace se stává méně efektivní v důsledku dlouhodobého používání systému.

Jak provádět Testování odolnosti

Níže je uveden základní testovací přístup pro Endurance Test
  • Testovací prostředí – Identifikujte hardware, software, operační systém, který vyžaduje testování odolnosti, přiřazení rolí a odpovědností v rámci týmu atd. Prostředí by mělo být připraveno před provedením testu. Musíte také odhadnout běžnou velikost produkce databáze a roční růst. To je vyžadováno, protože musíte vyzkoušet, jak bude vaše aplikace reagovat po roce, dvou nebo pěti.
  • Vytvoření plánu testování, scénářů – Na základě povahy testování – manuální nebo automatizace nebo kombinace obojího, Testovací případ návrh, revize a provedení by měly být naplánovány. Součástí plánu testování by mělo být také testování za účelem namáhání systému, testování bodu zlomu atd. Testování zátěže systému určuje bod zlomu v aplikaci.
  • Odhad testu – Uveďte odhad, jak dlouho bude trvat dokončení testovací fáze. Mělo by být analyzováno na základě počtu zúčastněných testerů a počtu požadovaných testovacích cyklů.
  • Analýza rizik - Analýza rizik a přijetí vhodných opatření pro prevenci. Stanovení priority testovacích případů podle rizikového faktoru a identifikace níže uvedených rizik a problémů, které tester může rozfázovat během testu odolnosti.
  • Zůstane výkon konzistentní v průběhu času?
  • Existují další drobné problémy, které dosud nebyly zjištěny?
  • Existuje vnější rušení, které nebylo řešeno?
  • Rozvrh zkoušek – Stanovte rozpočet, výstupy v rámci časových rámců. Tak jako Testování odolnosti aplikuje obrovské, ale přirozené uspořádání transakcí na systém/aplikaci po nepřetržité časové období.

Příklad testování odolnosti

Zatímco Stresové testování dovede testovaný systém na jeho limity, Testování odolnosti dovede aplikaci na její limit přesčas. Například k nejsložitějším problémům – únikům paměti, využití databázového serveru a nereagujícímu systému – dochází, když software běží delší dobu. Pokud přeskočíte testy odolnosti, vaše šance na odhalení takových defektů před nasazením jsou poměrně nízké.

Nástroje pro testování odolnosti

Výhody testování odolnosti

  • Pomáhá při určování toho, jak může zátěž zvládnout systém pod zatížením.
  • Poskytuje přesná data, která může zákazník použít k ověření nebo vylepšení svých infrastrukturních potřeb.
  • Identifikuje problémy s výkonem, které mohou nastat poté, co systém delší dobu běžel na vysoké úrovni
  • Typické problémy jsou identifikovány v menších cílených testech výkonu, což znamená, že aplikace zůstane dostupná i při velkém zatížení ve velmi krátkém čase.
  • Test odolnosti se také používá ke kontrole, zda nedochází po dlouhé době provádění ke snížení výkonu

Nevýhody vytrvalostního testování

  • Často je těžké definovat, kolik stresu stojí za to aplikovat.
  • Testování odolnosti by mohlo způsobit selhání aplikace a/nebo sítě, což může mít za následek významné narušení Testovací prostředí nejsou izolované.
  • Přetížením systému může dojít k trvalé ztrátě nebo poškození dat.
  • Využití zdrojů zůstává po odstranění stresu velmi vysoké.
  • Některé součásti aplikace nereagují.
  • Neošetřené výjimky sleduje koncový uživatel.

Shrnutí

  • In Softwarové inženýrství, Testování odolnosti je podmnožinou zátěžového testování.
  • Testování odolnosti je dlouhý proces a někdy trvá až rok
  • K ověření se provádějí kontroly
  • Test úniku paměti
  • Doba odezvy testu
  • Test připojení k databázi atd.