Co je testování vytrvalosti při testování softwaru? (s příkladem)

Testování vytrvalosti

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

Tento typ testování se provádí v poslední fázi cyklu výkonu. Vytrvalostní testování 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živatelů. Tím se testování vytrvalosti liší od Testování zátěže , které obvykle skončí za několik hodin.

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

V tomto tutoriálu se naučíte-

Cíle testování vytrvalosti

  • Primárním cílem testování odolnosti je kontrola úniku paměti.
  • Zjistit, jak systém funguje při trvalém používání.
  • Aby bylo zajištěno, že po delší 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 plnit výkonnostní cíle.
  • Abychom mohli spravovat budoucí zátěže, musíme pochopit, kolik dalších zdrojů (jako je kapacita procesoru, kapacita disku, využití paměti nebo šířka pásma sítě) je zapotřebí k podpoře využití v budoucnosti.
  • Testování odolnosti se obecně provádí buď přetížením systému, nebo snížením určitých systémových prostředků a vyhodnocením důsledků.
  • Provádí se, aby se zajistilo, že k závadám nebo únikům paměti nedojde po době, která je považována za relativně „normální“ dobu používání.

Co sledovat při testování vytrvalosti

V testu vytrvalosti se testují následující věci.

  • Otestujte únik paměti - Provádějí se kontroly s cílem ověřit, zda v aplikaci nedochází k úniku paměti, což může způsobit zhroucení systému nebo O.S.
  • 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ě uzavřeno, může dojít k selhání systému
  • Doba odezvy testu - Systém je testován na dobu odezvy systému, protože aplikace se v důsledku dlouhodobého používání systému stává méně efektivní.

Jak provádět testování vytrvalosti

Níže je uveden základní přístup k testování vytrvalostního testu

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

Příklad testování vytrvalosti

Zatímco Stresové testování posouvá testovaný systém na hranice svých možností, Test vytrvalosti bere aplikaci na hranici svých možností přesčas .

Například nejsložitější problémy - úniky paměti, využití databázového serveru a nereagující systém - se vyskytují, když software běží delší dobu. Pokud testy vytrvalosti přeskočíte, vaše šance na odhalení takových vad před nasazením jsou poměrně nízké.

Nástroje pro testování vytrvalosti

  • WebLOAD
  • LoadComplete
  • Apache JMeter
  • LoadRunner
  • Předstih
  • LoadUI
  • openSTA
  • Racionální tester výkonu

Výhody testování vytrvalosti

  • Pomáhá při určování, jak pracovní zátěž zvládne systém Pod zátěží.
  • Poskytuje přesná data, která může zákazník použít k ověření nebo zlepšení potřeb své infrastruktury.
  • Identifikuje problémy s výkonem, které mohou nastat poté, co systém běží na vysoké úrovni delší dobu
  • Typické problémy jsou identifikovány v menších cílených výkonnostních testech, což znamená, že zajišťuje, že aplikace zůstane k dispozici i v případě velkého zatížení ve velmi krátkém čase.
  • Vytrvalostní test se také používá ke kontrole, zda nedochází po delší době provádění ke zhoršení výkonu

Nevýhody testování vytrvalosti

  • Často je těžké definovat, kolik stresu se vyplatí aplikovat.
  • Testování odolnosti může způsobit selhání aplikace a/nebo sítě, což může vést k významnému narušení, pokud Testovací prostředí nejsou izolovaní.
  • Přetěžování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í.
  • Koncový uživatel pozoruje neošetřené výjimky.

Souhrn:

  • V softwarovém inženýrství je testování odolnosti podmnožinou zátěžového testování.
  • Vytrvalostní testování je dlouhý proces a někdy trvá dokonce až rok
  • K ověření se provádějí kontroly
    • Otestujte únik paměti
    • Doba odezvy testu
    • Otestujte připojení k databázi atd.

Tento článek je možný díky příspěvku Unnati Soni.