stability testing software testing
Testovanie stability je súčasťou testovania výkonnosti. Tento výukový program vysvetľuje príklady cieľov, dôležitosti a potreby testovania stability:
Testovanie stability je „nefunkčné“ testovanie. Tím tu netestuje funkcie a základné funkcie webu; ale testuje funkcie softvérového produktu, ako napríklad „robustnosť“, „spracovanie chýb“, „spoľahlivosť“ a stabilita produktu.
Uvažujme o osobe, ktorá kupuje nový produkt z trhu ( Napríklad, mobilný telefón). Kupujúci bude očakávať, že produkt bude fungovať rovnomerne po dlhú dobu bez akýchkoľvek porúch. Používatelia webových stránok a mobilných aplikácií budú podobne očakávať, že príslušné webové stránky alebo mobilné aplikácie budú mať vysokú spoľahlivosť a stabilitu.
Teraz vezmime prípad používateľov, ktorí sa snažia nakupovať komodity z portálov elektronického obchodu. Ak rovnaký portál súčasne používa veľké množstvo používateľov, pravdepodobnosť zníženia výkonu webových stránok je vysoká. Užívatelia môžu tiež počas relácie zaznamenať pomalý čas odozvy alebo dokonca únik pamäte.
Tieto problémy zvyšujú riziko pre vývojárov aj zainteresované strany. Zodpovednosťou testovacieho tímu je nájsť tieto problémy a podať správu vývojovému tímu skôr, ako sa dostane ku koncovým používateľom. Tento typ testovania bude predmetom testovania výkonnosti. Testovanie stability je súčasťou testovania výkonu.
Čo sa dozviete:
Prehľad testovania stability
Ako už bolo spomenuté, testovanie stability je tiež definované ako „nefunkčné“ testovanie. Tu testovacie tímy kontrolujú robustnosť, spracovanie chýb, spoľahlivosť a stabilitu produktu.
Toto testovanie sa tiež nazýva „Endurance Testing“ alebo „Soak Testing“. Je tiež známy ako ‘Extreme Load Testing’.
Pri tomto type testovania testéri skontrolujú, ako online portál reaguje, keď web používa súčasne veľa aktívnych používateľov. Testéri musia tiež skontrolovať reakciu systému v takomto prostredí.
Pri mnohých príležitostiach musia webové stránky bežať nepretržite týždne (dokonca mesiace) bez možnosti reštartovať server. Aktívni používatelia takýchto webových stránok (používatelia webových stránok, ktorí momentálne používajú tento web) môžu byť ohromní a každý používateľ bude očakávať bezproblémový výkon.
Úlohou testerov je poskytnúť dôveru vývojárom a zabezpečiť koncovým používateľom, že môžu používať systém odsadený bez výpadkov alebo úniku pamäte aj pri vysokej prevádzke. Za týmto účelom je aplikácia vystavená maximálnemu zaťaženiu (do bodu zlomu aplikácie) a za týchto podmienok sa kontroluje správanie systému.
Toto testovanie sa zvyčajne vykonáva pred vydaním softvéru. Testéri musia zabezpečiť, aby bola aplikácia schopná zvládnuť predpokladané zaťaženie webových stránok. Systém môže niekedy zlyhať v dôsledku veľkého zaťaženia alebo môže spomaliť alebo dokonca vykazovať neočakávané správanie.
Stabilita softvéru veľmi závisí od nepretržitého výkonu systému za vyššie uvedených stresových podmienok. Testovanie stability teda hrá veľmi dôležitú úlohu.
Ciele testovania stability
Ciele sú uvedené nižšie:
- Ak chcete zistiť odolnosť systému.
- Nájdite stabilitu aplikácie a tým zvýšte dôveru vývojára.
- Nájdite poruchu v systéme v stresujúcom prostredí.
- Celkové hodnotenie a účinnosť produktu.
- Aby sa ubezpečil, že systém zvládne veľký program.
- Testovanie doby odozvy aplikácie.
- Skontrolovať pripojenie k databáze.
Fakty o testovaní stability
Niektoré užitočné fakty sú uvedené nižšie:
- Testovanie stability si vyžaduje vhodné testovacie prostredie.
- Na získanie lepších výsledkov je potrebné pri testovaní stability dobre naplánovaný a štruktúrovaný prístup.
- Je to časovo náročný proces. Čas potrebný na testovací proces sa môže líšiť v závislosti od požiadaviek klienta, typu produktu a zásad spoločnosti.
- Pri tejto forme testovania je dôležitá izolácia systému. Počas testovania stability aplikácie existuje šanca, že sa dáta natrvalo stratia alebo poškodia.
- Testovanie odolnosti môže spôsobiť zlyhanie komponentov aplikácie, takže koncoví používatelia môžu pozorovať nespracované výnimky.
Rozdiel medzi stabilitou a spoľahlivosťou v softvérovom systéme
Medzi spoľahlivosťou a stabilitou softvérovej aplikácie je podstatný rozdiel. To možno vysvetliť pomocou príkladu.
Príklad:
Zvážte, že si používateľ nainštaloval novú aplikáciu na svoj mobilný telefón a spustil ju. Ak sa nainštalovaná aplikácia zrúti po každých 3 minútach používania, používateľa to určite naštve. Ak by však používateľ po opätovnom spustení aplikácie mohol bez straty obnoviť dáta, aplikácia nestratí svoju spoľahlivosť. Takúto žiadosť možno považovať za spoľahlivú, ale nemožno ju považovať za stabilnú.
bezpečnostné testovacie nástroje pre webové aplikácie
Na druhej strane si vezmite scenár, v ktorom sa údaje aplikácie nedostávajú správne. Aplikácia tu funguje dobre a nezráža sa (napríklad každé 3 minúty). Takúto žiadosť možno alebo nemožno považovať za spoľahlivú, ale možno ju považovať za „stabilnú“.
Spoľahlivosť a stabilita sú ako dve strany jednej mince. Pamätajte teda na skutočnosť, že spoľahlivosť aj stabilita sú pre produkt dôležité z obchodného hľadiska.
Príklady testovania stability:
Je bežným prístupom, že keď si používateľ kúpi nový mobilný telefón, vedome alebo nevedome vykoná test stability. Používateľ uloží do pamäte zariadenia veľa obrázkov, fotografií, videí, dokumentov atď. A skontroluje, či príliš veľa uložených údajov neovplyvnilo výkon zariadenia alebo nie. Toto je konkrétny príklad testovania stability.
Kvôli obrovským uloženým údajom môže naše zariadenie niekedy zavesiť, potom musí používateľ odstrániť niektoré údaje alebo vyčistiť dočasné súbory, aby zariadenie získalo späť výkon. Po tomto testovaní bude mať používateľ jasnú predstavu o kapacite systému.
Ďalším príkladom v reálnom čase sú online nákupné portály. Počas sezóny „predaj / festival“ nakupuje veľa ľudí komodity z týchto typov webových portálov. Výkonnosť webovej stránky musí uspokojiť očakávania používateľov.
Testeri teda musia web otestovať, pričom musia pamätať na očakávaný „nával“, ktorý sa na týchto stránkach počas týchto dní pravdepodobne vyskytne.
Testovanie stability internetového pripojenia
Testovacím prípadom bude overenie toho, aké stabilné je naše internetové pripojenie. Pri nadväzovaní pripojenia cez internet a pri požiadavke na webové stránky musia používatelia kvôli strate paketov trpieť nekonzistentnou latenciou pri prezeraní webových stránok.
Strata paketov niekedy nastane, keď sa nepodarí dosiahnuť cieľ. Je to kvôli strate paketov, že mnohí z nás sa mohli stretnúť s podobnými problémami, keď používame videohovory cez Skype, hráme hry cez internet alebo náhodne odpojujeme od internetu.
Nevyhnutné predpoklady na testovanie internetového pripojenia:
- Na otestovanie stability internetu musíme mať webový prehliadač, v ktorom je firewall vypnutý.
- Vyberte webovú adresu ( Napríklad, https://www.google.com/ ), ktoré pravdepodobne nebude zlyhať.
- Na zaznamenanie výsledku použite tabuľku Google alebo Microsoft Excel, pretože je ľahko pochopiteľný a čitateľný pre používateľov.
- Skontrolujte pripojenie na internet, zariadenia a znova skontrolujte pripojenie. Potom vykonáme nižšie uvedené testy.
Metódy používané na testovanie internetového pripojenia:
Najlepším spôsobom, ako otestovať pripojenie, je navštíviť SpeedTest (pred ďalším čítaním navštívte stránku). V SpeedTest.net máme ustanovenie pre výber serverov. Vyberte a spustite server, ktorý je vo vašej blízkosti.
Potom stránka vykoná niektoré výpočty založené na niektorých preddefinovaných algoritmoch a okamžite zobrazí správu, ktorá určuje kvalitu nášho internetového pripojenia. V správe je zahrnuté percento straty paketov. Malo by to byť „0%“.
Strata paketov „0%“ určuje vysokú stabilitu spojenia. Akékoľvek číslo väčšie ako „0“ ukazuje, že pripojenie je nestabilné.
Druhým spôsobom je použitie príkazu „cmd“ a zadanie príkazu „ping“ (pozrite si nasledujúci obrázok). Tu môžeme pomocou príkazového riadku testovať stabilitu a latenciu internetu aj v reálnom čase.
Na obrázku skontrolujte sekciu „Ping Statistics“.
Tu,
Počet odoslaných paketov = 4
Počet prijatých paketov = 4
Počet stratených paketov = 0
Výsledok ukazuje, že pripojenie je vysoko stabilné.
Použitý proces:
Krok 1: Testéri zvolia ktorúkoľvek z dvoch vyššie vysvetlených metód.
Krok 2: Testéri spustia proces a do tabuľky zaznamenajú potrebné informácie, ktoré sa získajú ako odpoveď na internetové pripojenie.
Krok 3: Postup budú opakovať trikrát alebo štyrikrát týždenne.
(Pretože sa testovanie stability vykonáva za určité časové obdobie, testéri budú musieť tento proces naplánovať najmenej dvakrát za týždeň.)
Krok 4: Výsledky sa zaznamenávajú do tabuliek.
Testéri si musia poznačiť dátum spustenia procesu. Porovnajte výsledky získané každý deň a získajte predstavu o stabilite našej súčasnej siete.
Poznámka: Bod zlomu je stav systému, v ktorom sa systém zrúti, keď sa na neho dostane ďalšie zaťaženie. Definuje kapacitu systému.
Dokument so špecifikáciou je dokument, ktorý testerom odovzdal vedúci tímu a bude obsahovať podrobnosti o predpokladanom zaťažení v systéme. Pri testovaní stability testéri skontrolujú bod prerušenia systému na základe pokynov, ktoré sú im poskytnuté v dokumentácii špecifikácie.
Testovací tím skontroluje systém testovaním aplikácie so záťažou nad / pod hraničným bodom uvedeným v dokumentácii špecifikácie. To sa líši od prípadu Testovania záťaže.
najlepšia aplikácia na špehovanie niekoho telefónu
Pri testovaní stability použijeme na testovanie iba očakávané zaťaženie, pri testovaní zaťaženia sa však aplikácii priloží neočakávané zaťaženie a testéri skontrolujú kapacitu aplikácie.
Životný cyklus testovania softvéru založený na testovaní stability
Rôzne fázy Životný cyklus testovania softvéru sú uvedené nižšie:
- Analýza požiadaviek
- Plán skúšok
- Vývoj testovacích prípadov
- Vyskúšajte nastavenie prostredia
- Vykonanie testovacieho prípadu
- Skúšobná uzávierka
Pochopme podrobne všetky vyššie uvedené fázy.
# 1) Analýza požiadaviek
V tejto fáze bude testovací tím rozhodovať o rôznych druhoch testovania, ktoré sa majú v aplikácii vykonať. Čisto to závisí od požiadaviek klienta a typu aplikácie. Napríklad, testeri testujú bankovú aplikáciu, potom je najdôležitejším testovaním, v tomto prípade, testovanie bezpečnosti. Ak testéri testujú aplikáciu v oblasti nehnuteľností, dajú prednosť funkčnému testovaniu.
# 2) Plánovanie testov
V tejto fáze sa diskutuje o rozsahu testovania. Testéri prediskutujú potrebu automatizácie. Pri testovaní stability sú testovacie procesy namáhavé a musia sa opakovať viackrát počas určitého obdobia, automatizácia bude dobrou voľbou. „LoadStrom“ je dobrý nástroj na vykonávanie testov stability pomocou automatizácie.
V tejto fáze s klientom prediskutujeme rozpočet a časový limit na testovanie. Pretože je testovanie časovo náročné, rozpočet a časový limit by mali zodpovedať plánu testovania.
# 3) Vývoj testovacích prípadov
V tejto fáze je vytvorený testovací prípad na testovanie aplikácie.
# 4) Testovacie prostredie
Testovacie prostredie je zásadným faktorom pre testovanie stability. Potrebujeme správne testovacie prostredie, ktoré je replikou nášho produkčného prostredia. Pôvodné prostredie by malo byť nepoužívané, pretože počas testovania môže stránka niekedy zlyhať alebo dokonca stratiť dáta.
# 5) Vykonanie testu
V tejto fáze sa vykonajú testovacie prípady a výsledky testov sa overia. Toto je časovo náročná fáza. Všeobecnými problémami, ktorým testéri v tejto fáze čelia, sú únik pamäte, problémy s dátovým pripojením, pomalý čas odozvy atď.
# 6) Test uzávierky
V tejto fáze sa všetci členovia tímu stretnú a prediskutujú výstupné kritériá použité v projekte. Kritériá ukončenia závisia od faktorov, ako je počet zistených chýb a čas použitý na testovanie.
Nástroje používané pri testovaní stability
Používajú sa tieto nástroje:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Vzhľad
- LoadUI
- Rational Performance Tester
Ako používať Apache JMeter na testovanie vytrvalosti?
Apache JMeter je dobrý nástroj na testovanie vytrvalosti. Pred začatím testovania musia mať testéri dobré vedomosti o obchodných cieľoch. Potom testeri vytvoria testovacie skripty. Potom nakonfigurujeme nastavenie skupiny vlákien v JMeter.
Počas testovania vytrvalosti pomocou JMeter musíme špecifikovať nasledujúce faktory:
ako hrať bleskové objekty s rázovou vlnou
- Počet vlákien: To naznačuje očakávaný počet používateľov na webe.
- Nábehové obdobie: Toto označuje čas potrebný na dokončenie každého vlákna. Ak máme 5 vlákien, doba rozbehu je 50 sekúnd.
- Počet slučiek: Toto označuje počet opakovaní procesu. Pre testovanie výdrže je nastavený na večnosť.
- Plánovač: Pri tomto testovaní použijeme funkcionalitu plánovača. Musíme špecifikovať konfiguráciu plánovača podľa požiadavky.
Záver
Mnoho aplikácií je nesprávne navrhnutých a po použití neuvoľňujú pamäť zariadenia. To postupne povedie k strate pamäti. Problém môžeme prekonať testovaním stability. Testovanie stability je teda veľmi dôležité. Je to nefunkčné testovanie. Ide iba o charakteristiku aplikácie. Tu nejde o testovanie správania systému.
Dúfam, že ste pochopili dôležitosť a potrebu testovania stability.
Odporúčané čítanie
- Úloha pomocníka QA pri testovaní softvéru
- Kurz testovania softvéru: Do ktorého inštitútu pre testovanie softvéru by som sa mal pripojiť?
- Práca na voľnej nohe pre spisovateľa technického obsahu, ktorý testuje technický obsah
- Ako svoju kariéru si zvolíte testovanie softvéru
- Poradenstvo pri testovaní softvéru pre začínajúcich testerov
- Spätná väzba a recenzie na kurz testovania softvéru
- Ako udržať motiváciu v softvérových testeroch nažive?
- Čo je testovanie opíc pri testovaní softvéru?