stability testing software testing
Testování stability je součástí testování výkonu. Tento výukový program vysvětluje cíle, důležitost a potřebu testování stability s příklady:
Testování stability je „nefunkční“ testování. Tady tým netestuje funkce a základní funkčnost webu; ale testuje funkce softwarového produktu, jako je „robustnost“, „řešení chyb“, „spolehlivost“ a stabilita produktu.
Uvažujme o osobě, která kupuje nový produkt z trhu ( Například, mobilní telefon). Kupující bude očekávat, že produkt bude fungovat rovnoměrně po dlouhou dobu bez jakýchkoli poruch. Podobně budou uživatelé webu a mobilní aplikace očekávat, že odpovídající web nebo mobilní aplikace budou fungovat s vysokou spolehlivostí a stabilitou.
Nyní se podívejme na případy, kdy se uživatelé snaží nakupovat komodity z portálů elektronického obchodování. Pokud velké množství uživatelů současně používá stejný portál, šance na snížení výkonu webu jsou vysoké. Uživatelé mohou také během relace zaznamenat pomalou dobu odezvy nebo dokonce únik paměti.
Tyto problémy zvyšují ohrožení vývojářů i zúčastněných stran. Je odpovědností testovacího týmu tyto problémy najít a hlásit vývojovému týmu dříve, než se dostane ke koncovým uživatelům. Tento typ testování bude spadat pod testování výkonu. Testování stability je součástí testování výkonu.
Co se naučíte:
Přehled testování stability
Jak již bylo zmíněno dříve, testování stability je také definováno jako „nefunkční“ testování. Zde testovací týmy kontrolují robustnost, zpracování chyb, spolehlivost a stabilitu produktu.
Toto testování se také nazývá „Endurance Testing“ nebo „Soak Testing“. Je také známý jako „Extreme Load Testing“.
V tomto typu testování testeři zkontrolují, jak online portál reaguje, když mnoho aktivních uživatelů používá web současně. Testery také potřebují zkontrolovat odezvu systému v takovém prostředí.
Při mnoha příležitostech musí webové stránky běžet nepřetržitě týdny (i měsíce), aniž by bylo nutné server restartovat. Aktivní uživatelé takových webů (uživatelé, kteří web aktuálně používají) mohou být ohromní a každý uživatel bude očekávat bezproblémový výkon.
Úlohou testerů je poskytnout důvěru vývojářům a zajistit koncovým uživatelům, že mohou používat systém jako odsazený, bez selhání nebo úniku paměti i ve vysokém provozu. Za tímto účelem je aplikace vystavena maximálnímu zatížení (do bodu zlomu aplikace) a za takových podmínek je kontrolováno chování systému.
Toto testování se obvykle provádí před vydáním softwaru. Testeři musí zajistit, aby aplikace dokázala zvládnout očekávané zatížení webu. Někdy může dojít k selhání systému v důsledku velkého zatížení nebo může zpomalit nebo dokonce vykazovat neočekávané chování.
Stabilita softwaru velmi závisí na bezproblémovém výkonu systému za výše uvedených stresových podmínek. Testování stability tedy hraje velmi důležitou roli.
Cíle testování stability
Cíle jsou uvedeny níže:
- Chcete-li zjistit trvanlivost systému.
- Najděte stabilitu aplikace a tím zvyšte důvěru vývojáře.
- Najděte závadu v systému ve stresujícím prostředí.
- Celkové hodnocení a účinnost produktu.
- Aby se ujistil, že systém zvládne velký program.
- Chcete-li otestovat dobu odezvy aplikace.
- Chcete-li zkontrolovat připojení k databázi.
Fakta o testování stability
Níže jsou uvedena některá užitečná fakta:
- Testování stability vyžaduje vhodné testovací prostředí.
- Pro získání lepších výsledků vyžaduje testování stability dobře naplánovaný a strukturovaný přístup.
- Je to časově náročný proces. Čas potřebný k testování se může lišit v závislosti na požadavcích klienta, typu produktu a zásadách společnosti.
- U této formy testování je důležitá izolace systému. Při testování stability aplikace existuje šance, že se data trvale ztratí nebo poškodí.
- Testování odolnosti může způsobit selhání komponent aplikace, takže koncoví uživatelé mohou pozorovat neošetřené výjimky.
Rozdíl mezi stabilitou a spolehlivostí v softwarovém systému
Mezi spolehlivostí a stabilitou softwarové aplikace je podstatný rozdíl. To lze vysvětlit pomocí příkladu.
Příklad:
Zvažte, že si uživatel do svého mobilního telefonu nainstaloval novou aplikaci a spustil ji. Pokud se nainstalovaná aplikace zhroutí po každých 3 minutách používání, bude to uživatele určitě otravovat. Pokud by však uživatel mohl po opětovném spuštění aplikace bez ztráty dat obnovit, aplikace neztratí svoji spolehlivost. Takovou aplikaci lze považovat za spolehlivou, ale nelze ji považovat za stabilní.
klidové otázky a odpovědi pro zkušené
Na druhou stranu vezměte scénář, ve kterém se data aplikace nedostávají správně uložená. Zde aplikace funguje dobře a nepadá (jako každé 3 minuty). Takovou aplikaci lze nebo nelze považovat za spolehlivou, ale lze ji považovat za „stabilní“.
Spolehlivost a stabilita jsou jako dvě strany stejné mince. Nezapomeňte tedy na skutečnost, že jak spolehlivost, tak stabilita jsou pro produkt důležité z obchodního hlediska.
Příklady testování stability:
Je běžným přístupem, že když si uživatel koupí nový mobilní telefon, provede vědomě nebo nevědomě test stability. Uživatel uloží do paměti zařízení mnoho obrázků, fotografií, videí, dokumentů atd. A zkontroluje, zda příliš mnoho uložených dat ovlivnilo výkon zařízení nebo ne. Toto je konkrétní příklad testování stability.
Kvůli obrovským uloženým datům může naše zařízení někdy zavěsit, pak musí uživatel odstranit některá data nebo vymazat dočasné soubory, aby zařízení znovu získalo výkon. Po tomto testování bude mít uživatel jasnou představu o kapacitě systému.
Dalším příkladem v reálném čase jsou online nákupní portály. Během sezóny „prodej / festival“ nakupuje mnoho lidí komodity z těchto typů webových portálů. Výkon webových stránek musí uspokojit očekávání uživatelů.
Testeri tedy musí web otestovat, přičemž musí pamatovat na očekávaný „nápor“, který se na těchto webech během těchto dnů pravděpodobně stane.
Testování stability připojení k internetu
Zde bude testovacím případem ověřit, jak stabilní je naše internetové připojení. Při navazování připojení přes internet a požadavku na webové stránky musí uživatelé kvůli ztrátě paketů trpět nekonzistentní latencí při prohlížení webových stránek.
Někdy dojde ke ztrátě paketů, když se nepodaří dosáhnout cíle. Je to kvůli ztrátě paketů, že mnozí z nás se mohli setkat s podobnými problémy, když používáme videohovory Skype, hrajeme hry přes internet nebo náhodně odpojujeme od internetu.
Předpoklady pro testování připojení k internetu:
- Abychom otestovali stabilitu internetu, musíme mít webový prohlížeč, ve kterém je firewall deaktivován.
- Vyberte webovou adresu ( Například, https://www.google.com/ ) což pravděpodobně nebude selhat.
- K zaznamenání výsledku použijte tabulku Google nebo Microsoft Excel, protože je snadno srozumitelná a pro uživatele čitelnější.
- Znovu zkontrolujte připojení k internetu, zařízení a zkontrolujte připojení znovu. Poté provedeme níže uvedené testy.
Metody používané k testování připojení k internetu:
Nejlepší způsob, jak otestovat připojení, je navštívit Test rychlosti (před dalším čtením prosím navštivte web). V SpeedTest.net máme ustanovení pro výběr serverů. Vyberte a spusťte server, který je poblíž vás.
Poté web provede některé výpočty založené na některých předdefinovaných algoritmech a okamžitě zobrazí zprávu, která určuje kvalitu našeho internetového připojení. V sestavě je zahrnuto procento ztráty paketů. Mělo by to být „0%“.
Ztráta paketů „0%“ určuje vysokou stabilitu připojení. Jakékoli číslo větší než „0“ ukazuje, že připojení je nestabilní.
Druhým způsobem je použití výzvy „cmd“ a zadání příkazu „ping“ (viz následující obrázek). Zde můžeme pomocí příkazového řádku otestovat stabilitu a latenci internetu také v reálném čase.
Na obrázku zkontrolujte sekci „Statistiky Ping“.
Tady,
Počet odeslaných paketů = 4
Počet přijatých paketů = 4
Počet ztracených paketů = 0
Výsledek ukazuje, že připojení je vysoce stabilní.
Použitý proces:
Krok 1: Testeři zvolí kteroukoli ze dvou výše vysvětlených metod.
Krok 2: Testeři proces spustí a do tabulky zaznamenají potřebné informace, které se získají jako odpověď na připojení k internetu.
Krok 3: Proces budou opakovat třikrát nebo čtyřikrát týdně.
(Vzhledem k tomu, že testování stability se provádí po určitou dobu, testeři budou muset naplánovat proces alespoň více než dvakrát týdně.)
Krok 4: Výsledky se zaznamenávají do tabulek.
Testeři si musí poznamenat datum spuštění procesu. Porovnejte výsledek získaný ke každému datu a získejte představu o stabilitě naší současné sítě.
Poznámka: Bod zlomu je stav systému, ve kterém se systém zhroutí, když mu bude přidáno další zatížení. Definuje kapacitu systému.
Specifikační dokument je dokument, který testerům předal vedoucí týmu a bude obsahovat podrobnosti o předpokládaném zatížení systému. Při testování stability testeři zkontrolují bod zlomu systému na základě pokynů, které jim byly poskytnuty v dokumentu specifikace.
Testovací tým zkontroluje systém testováním aplikace se zátěží nad / pod hranicí uvedenou v dokumentu specifikace. To se liší od případu Testování zátěže.
rekurzivní sloučení řazení c ++
Při testování stability použijeme pro testování pouze očekávané zatížení, ale při testování zatížení se aplikaci přidá neočekávané zatížení a testeři zkontrolují kapacitu aplikace.
Životní cyklus testování softwaru založený na testování stability
Různé fáze Životní cyklus testování softwaru jsou zařazeni níže:
- Analýza požadavků
- Testovací plán
- Vývoj testovacích případů
- Nastavení testovacího prostředí
- Provedení testovacího případu
- Testovací uzávěr
Rozumíme podrobně všem výše uvedeným fázím.
# 1) Analýza požadavků
V této fázi rozhodne testovací tým o různých typech testování, které se mají v aplikaci provést. Závisí to čistě na požadavcích klienta a typu aplikace. Například, testeři testují bankovní aplikaci, pak je v tomto případě nejdůležitějším testováním testování bezpečnosti. Pokud testeři testují realitní aplikaci, upřednostní funkční testování.
# 2) Plánování testů
V této fázi jsou diskutovány oblasti testování. Testeři budou diskutovat o potřebě automatizace. Pro testování stability jsou testovací procesy zdlouhavé a musí se opakovat mnohokrát po určitou dobu, automatizace bude dobrou volbou. „LoadStrom“ je dobrý nástroj k provádění testování stability pomocí automatizace.
V této fázi probereme s klientem rozpočet a časový limit pro testování. Vzhledem k tomu, že testování je časově náročné, měl by rozpočet a časový limit splňovat plán testování.
# 3) Vývoj testovacích případů
detekce úniku paměti c ++
V této fázi je vytvořen testovací případ pro testování aplikace.
# 4) Testovací prostředí
Testovací prostředí je zásadním faktorem pro testování stability. Potřebujeme správné testovací prostředí, které je replikou našeho produkčního prostředí. Původní prostředí by nemělo být používáno, protože během testování může web někdy selhat nebo dokonce dojít ke ztrátě dat.
# 5) Provedení testu
V této fázi se provádějí testovací případy a ověřují se výsledky testů. Toto je časově náročná fáze. Obecnými problémy, kterým testeři v této fázi čelí, jsou únik paměti, problémy s datovým připojením, pomalá doba odezvy atd.
# 6) Testovací uzávěr
V této fázi se všichni členové týmu setkají a projednají výstupní kritéria použitá v projektu. Kritéria pro opuštění závisí na faktorech, jako je počet nalezených závad a doba použitá při testování.
Nástroje používané při testování stability
Používají se následující nástroje:
- LoadRunner
- OpenSTA
- LoadUI
- WebLOAD
- LoadComplete
- Vzhled
- LoadUI
- Rational Performance Tester
Jak používat Apache JMeter pro testování vytrvalosti?
Apache JMeter je dobrým nástrojem pro testování vytrvalosti. Před zahájením testování musí mít testeři dobré znalosti o obchodních cílech. Poté testeři vytvoří testovací skripty. Poté nakonfigurujeme nastavení skupiny vláken v JMeteru.
Při testování vytrvalosti pomocí JMeteru musíme specifikovat následující faktory:
- Počet vláken: To naznačuje očekávaný počet uživatelů na webu.
- Náběhové období: To označuje čas, který každé vlákno potřebuje k dokončení. Pokud máme 5 vláken, doba rozběhu je 50 sekund.
- Počet smyček: To označuje počet opakování procesu. Pro vytrvalostní testování je nastaveno navždy.
- Plánovač: V tomto testování použijeme funkčnost plánovače. Musíme specifikovat konfiguraci plánovače podle požadavku.
Závěr
Mnoho aplikací je nesprávně navrženo a po použití neuvolňují paměť zařízení. To bude postupně vést ke ztrátě paměti. Problém můžeme překonat testováním stability. Testování stability je tedy velmi důležité. Jedná se o nefunkční testování. Jde pouze o charakteristiku aplikace. Tady testování není o chování systému.
Doufám, že jste pochopili důležitost a potřebu testování stability.
Doporučené čtení
- Úloha pomocníka QA při testování softwaru
- Kurz testování softwaru: Ke kterému institutu pro testování softwaru bych se měl připojit?
- Práce na volné noze se softwarem pro testování technického obsahu Writer
- Výběr testování softwaru jako vaší kariéry
- Poradenství při testování softwaru pro začínající testery
- Zpětná vazba a recenze kurzu testování softwaru
- Jak udržet živou motivaci v testerech softwaru?
- Co je Testování opic při testování softwaru?