Co je zátěžové testování? (Příklady)

Testování zatížení

Co je zátěžové testování?

Testování zatížení je nefunkční proces testování softwaru, ve kterém je testován výkon softwarové aplikace při specifické očekávané zátěži. Určuje, jak se softwarová aplikace chová, když k ní přistupuje více uživatelů současně. Cílem zátěžového testování je zlepšit výkonová úzká místa a zajistit stabilitu a hladké fungování softwarové aplikace před nasazením.

Toto testování obvykle identifikuje –

  • Maximální provozní kapacita aplikace
  • Zjistěte, zda je aktuální infrastruktura dostatečná ke spuštění aplikace
  • Udržitelnost aplikace s ohledem na špičkovou uživatelskou zátěž
  • Počet souběžných uživatelů, které může aplikace podporovat, a škálovatelnost, aby k ní mělo přístup více uživatelů.

Jde o typ nefunkčního testování. V softwarovém inženýrství se zátěžové testování běžně používá pro klient/server, webové aplikace – intranet i internet.

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

Některé extrémně oblíbené stránky utrpěly vážné výpadky, když mají masivní objemy provozu. Webové stránky elektronického obchodu investují značné prostředky do reklamních kampaní, ale ne do zátěžového testování, aby zajistily optimální výkon systému, když tento marketing přináší návštěvnost.

Zvažte následující příklady zátěžového testování

  • Populární hračkářství Toysrus.com nezvládlo zvýšený provoz generovaný jejich reklamní kampaní, což vedlo ke ztrátě jak marketingových dolarů, tak potenciálních prodejů hraček.
  • Web letecké společnosti nebyl schopen během festivalové nabídky obsloužit více než 10000 XNUMX uživatelů.
  • Encyclopedia Britannica vyhlásila bezplatný přístup do své online databáze jako propagační nabídku. Týdny nestačily náporu dopravy.

Mnoho webů trpí zpožděným načítáním, když se setkají se silným provozem. Málo faktů –

  • Většina uživatelů klikne po 8 sekundách zpoždění při načítání stránky
  • $ 4.4 Billiont Ztráta ročně kvůli špatnému výkonu

Proč zátěžové testování?

  • Zátěžové testování poskytuje důvěru v systém a jeho spolehlivost a výkon.
  • Testování zátěže pomáhá identifikovat úzká hrdla v systému v situacích velkého zatížení uživatelů dříve, než k nim dojde v produkčním prostředí.
  • Zátěžové testování poskytuje vynikající ochranu proti nízkému výkonu a zahrnuje doplňkové strategie pro řízení výkonu a monitorování produkčního prostředí.

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

Testování zatížení identifikuje následující problémy před přesunem aplikace na trh nebo do výroby:

  • Doba odezvy pro každou transakci
  • Výkon systémových komponent při různém zatížení
  • Výkon databázových komponent při různém zatížení
  • Zpoždění sítě mezi klientem a serverem
  • Problémy s návrhem softwaru
  • Problémy s konfigurací serveru, jako je webový server, aplikační server, databázový server atd.
  • Problémy s hardwarovým omezením, jako je maximalizace CPU, omezení paměti, úzké místo v síti atd.

Zátěžové testování určí, zda je nutné systém doladit nebo zda je ke zlepšení výkonu nutná úprava hardwaru a softwaru. Chcete-li efektivně provádět zátěžové testování, můžete použít různé nástroje pro testování výkonu které jsou k dispozici, aby vám pomohly identifikovat oblasti pro zlepšení.

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

Hlavní metrikou pro zátěžové testování je doba odezvy. Než začnete zátěžové testování, musíte určit –

  • Zda je doba odezvy již změřena a porovnána – kvantitativní
  • Zda je doba odezvy použitelná pro obchodní proces – Relevantní
  • Zda je doba odezvy ospravedlnitelná – realistické
  • Zda je doba odezvy dosažitelná – dosažitelná
  • Zda je doba odezvy měřitelná pomocí nástroje nebo stopek – měřitelné

Před zahájením zátěžového testování je třeba nastavit prostředí:

hardware Platform Konfigurační software
  • Serverové stroje
  • Procesory
  • Memory
  • Úložiště disku
  • Načíst konfiguraci strojů
  • Konfigurace sítě
  • Operasystém
  • Serverový software

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

Existuje mnoho způsobů, jak provádět zátěžové testování. Následuje několik strategií zátěžového testování –

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

  • Manuální zátěžové testování: Toto je jedna ze strategií pro provádění zátěžového testování, ale nepřináší opakovatelné výsledky, nemůže poskytnout měřitelné úrovně stresu na aplikaci a je nemožné proces koordinovat.
  • Vlastní nástroje pro zátěžové testování: Organizace, která si uvědomuje důležitost zátěžového testování, může vytvořit vlastní nástroje pro provádění zátěžových testů.
  • Open source nástroje pro zátěžové testování: Existuje několik nástrojů pro testování zátěže jako open source, které jsou zdarma. Možná nejsou tak sofistikované jako jejich placené protějšky, ale pokud máte omezený rozpočet, jsou tou nejlepší volbou.
  • Nástroje pro zátěžové testování podnikové třídy: Obvykle se dodávají se zařízením pro zachycení/přehrávání. Podporují velké množství protokolů. Mohou simulovat výjimečně velký počet uživatelů.

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

Proces zátěžového testování lze stručně popsat následovně –

  1. Vytvořte vyhrazenou Testovací prostředí pro zátěžové testování
  2. Určete následující
  3. Scénáře zátěžových testů
  4. Určete transakce zátěžového testování pro aplikaci
    • Připravte data pro každou transakci
    • Počet uživatelů přistupujících do systému je třeba předvídat
    • Určete rychlosti připojení. Někteří uživatelé mohou být připojeni přes pronajaté linky, zatímco jiní mohou používat vytáčené připojení
    • Určete různé prohlížeče a operační systémy používané uživateli 
    • Konfigurace všech serverů, jako jsou webové, aplikační a DB servery
  5. Provádění a monitorování testovacího scénáře. Sběr různých metrik
  6. Analyzujte výsledky. Udělejte doporučení
  7. Dolaďte systém
  8. Znovu otestujte

Pokyny pro zátěžové zkoušky

Pokyny pro zátěžové zkoušky

  1. Zátěžové testování by mělo být naplánováno, jakmile se aplikace stane funkčně stabilní.
  2. V datovém fondu by mělo být připraveno velké množství jedinečných dat
  3. Počet uživatelů by se měl rozhodnout pro každý scénář nebo skripty
  4. Vyhněte se vytváření podrobných protokolů, abyste ušetřili místo na disku IO
  5. Snažte se vyhnout stahování obrázků na webu
  6. V procesu provádění testovacích případů zátěžového testování by měla být zaprotokolována konzistence doby odezvy v průběhu uplynulého období a stejná by měla být porovnána s různými testovacími běhy.

Rozdíl mezi zátěžovým a zátěžovým testováním

Testování zatížení Stresové testování
Testování zátěže identifikuje úzká místa v systému při různých zátěžích a kontroluje, jak systém reaguje, když se zátěž postupně zvyšuje. Stresové testování určuje bod zlomu systému, aby odhalil maximální bod, po kterém se zlomí.
Chcete-li rozpoznat horní limit systému, nastavte SLA aplikace a zkontrolujte, jak systém zvládne velké zatížení. Chcete-li zjistit, jak se systém chová při extrémní zátěži a jak se zotavuje po selhání.
Hlavním cílem zátěžového testování je generování zvýšené zátěže webové aplikace. Zátěžové testování má za cíl zajistit, aby při náhlém vysokém zatížení po značnou dobu nedošlo k pádu serverů.
Atributy, které se kontrolují v zátěžovém testu, jsou špičkový výkon, množství serveru a doba odezvy. Tento druh testování kontroluje dobu odezvy stability atd.
Při zátěžovém testování je limit zátěže prahem přerušení. Při zátěžovém testování je limit zatížení nad prahem přerušení.

Rozdíl mezi funkčním a zátěžovým testováním

Funkční testování Testování zatížení
Výsledky funkčních testů jsou snadno předvídatelné, protože máme definované správné kroky a předpoklady Výsledky zátěžových zkoušek jsou nepředvídatelné
Výsledky funkčních testů se mírně liší Výsledky zátěžových testů se drasticky liší
Frekvence provádění Funkční testování bude vysoká Frekvence provádění zátěžových testů bude nízká
Výsledky funkčních testů jsou závislé na testovacích datech Zátěžové testování závisí na počtu uživatelů.

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

Načíst běžec:

Load runner je nástroj HP používaný k testování aplikací za podmínek normálního a špičkového zatížení. Load runner generuje zátěž vytvářením virtuálních uživatelů, kteří emulují síťový provoz. Simuluje využití v reálném čase jako produkční prostředí a poskytuje grafické výsledky.

Přečtěte si více o Loadrunner zde.

Výhody a nevýhody zátěžového testování

Níže jsou uvedeny výhody zátěžového testování:

  • Identifikace úzkých míst výkonu před výrobou
  • Zlepšuje škálovatelnost systému
  • Minimalizujte riziko spojené s výpadky systému
  • Snížení nákladů na selhání
  • Zvyšte spokojenost zákazníků

Nevýhody zátěžového testování:

  • Člověk potřebuje znalosti programování, aby mohl používat nástroje pro provádění zátěžového testu v kontextu testování softwaru.
  • Nástroje mohou být drahé, protože cena závisí na počtu podporovaných virtuálních uživatelů.

Shrnutí

  • Zátěžové testování je definováno jako typ testování softwaru, který určuje výkon systému v podmínkách reálného zatížení.
  • Zátěžové testování obvykle zlepšuje výkonová úzká místa, škálovatelnost a stabilitu aplikace předtím, než bude dostupná pro produkci.
  • Toto testování pomáhá identifikovat maximální provozní kapacitu aplikací a také úzká místa systému.
  • Zátěžová zkouška v testování softwaru je důležité, protože pokud je ignorován, může organizaci způsobit finanční ztráty.

Shrňte tento příspěvek takto: