state transition testing technique
Zjistěte, co je Testování přechodu stavu a jak používat Diagram přechodu stavu:
V našem posledním článku jsme viděli ‚ Graf příčin a následků „Technika psaní testovacích případů. Dnes pojďme k další metodě psaní dynamických testovacích případů - State State Transition.
Tento dokument zkoumá rozšíření tohoto konceptu testování na větší aplikace, které nejsou FSM jako celek, ale některé z jejich komponent jsou, aby bylo možné přijmout jeho jedinečnou vlastnost „být stavový“ a přechodových pravidel, což má za následek mnoho výhod.
Státní přechodové testování
Testování stavu přechodu je a Technika testování černé skříňky , které lze použít k testování ‚strojů s konečným stavem '.
„Finite State Machine (FSM)“ je systém, který bude v různých diskrétních stavech (jako „připraven“, „nepřipraven“, „otevřen“, „uzavřen“, ...) v závislosti na vstupech nebo podnětech.
Diskrétní stavy, které systém skončí, závisí na pravidlech přechodu systému. To znamená, že pokud systém poskytuje jiný výstup pro stejný vstup, v závislosti na jeho dřívějším stavu, pak se jedná o konečný stavový systém.
Dále, pokud je každá transakce testována v systému, nazývá se to pokrytím „přepínačem 0“. Pokud testování pokrývá 2 páry platných transakcí, pak se jedná o pokrytí „jedním přepínačem“ atd.
Co se naučíte:
Jaká je metoda testování přechodového stavu?
Technika přechodu stavu je technika dynamického testování, která se používá, když je systém definován z hlediska konečného počtu stavů a přechody mezi stavy se řídí pravidly systému.
Jinými slovy, tato technika se používá, když jsou vlastnosti systému reprezentovány jako stavy, které se transformují jeden do druhého. Transformace jsou určeny pravidly softwaru. Obrázkové znázornění lze zobrazit jako:
Tady tedy vidíme tuto entitu přechody ze státu 1 do státu 2 kvůli některým vstup stav, který vede k událost a výsledky v akce a nakonec dává výstup .
Vysvětlit to příkladem:
Navštívíte bankomat a vyberete 1000 $. Získáte hotovost. Nyní vám dojde rovnováha a podáte přesně stejnou žádost o výběr 1000 $. Tentokrát vám bankomat odmítá poskytnout peníze kvůli nedostatečnému zůstatku. Takže tady přechod , který způsobil změna stavu je dřívější výběr
Definice testování přechodu stavu
Po pochopení toho, co je přechod státu, můžeme nyní dospět ke smysluplnější definici testování přechodů státu. Jedná se tedy o druh testování černé skříňky, při kterém tester musí zkoumat chování AUT (Application Under Test) proti různým vstupním podmínkám uvedeným v pořadí.
Chování systému se zaznamenává pro pozitivní i negativní hodnoty testu.
Kdy použít testování přechodů stavu?
Testování přechodů stavu lze použít v následujících situacích:
jak přehrávat video soubor matroska
- Pokud je testovanou aplikací systém v reálném čase s různými stavy a přechody.
- Když je aplikace závislá na události / hodnotách / podmínkách minulosti.
- Když je třeba testovat sled událostí.
- Když je třeba aplikaci otestovat na základě konečné sady vstupních hodnot.
Kdy nepoužívat testování přechodu stavu?
Neměli byste se spoléhat na testování přechodu stavu v následujících situacích:
- Pokud testování není vyžadováno pro kombinace sekvenčních vstupů.
- Když se vyžaduje testování různých funkcí aplikace (spíše průzkumné testování).
Příklad testování přechodu stavu v testování softwaru
V praktickém scénáři mají testeři obvykle přechodové diagramy stavu a my jsme povinni jej interpretovat.
Tyto diagramy jsou dány buď obchodními analytiky, nebo zúčastněnou stranou a pomocí těchto diagramů určujeme naše testovací případy.
Zvažme následující situaci:
Název softwaru - Manage_display_changes
Specifikace - Software odpovídá na vstupní požadavky na změnu režimu zobrazení u zařízení pro zobrazování času.
Režim zobrazení lze nastavit na jednu ze čtyř hodnot:
- Dva odpovídající zobrazení času nebo data.
- Další dva při změně času nebo data.
Různé stavy jsou následující:
- Změnit režim (CM): Aktivace této funkce způsobí, že se režim zobrazení bude pohybovat mezi „časem zobrazení (T)“ a „datem zobrazení (D)“.
- Reset (R): Pokud je režim zobrazení nastaven na T nebo D, pak „reset“ způsobí, že režim zobrazení bude nastaven na režimy „změnit čas (AT)“ nebo „změnit datum (AD)“.
- Nastavený čas (TS): Aktivace tohoto způsobí, že se režim zobrazení vrátí z AT na T.
- Datum (DS): Aktivace této funkce způsobí, že se režim zobrazení vrátí do polohy D z AD.
Státní přechodový diagram
Nyní pojďme to interpretovat:
Tady:
# 1) Různé státy jsou:
- Čas zobrazení (S1),
- Změnit čas (S3),
- Zobrazit datum (S2) a
- Změnit datum (S4).
# 2) Různé vstupy jsou:
- Změnit režim (CM),
- Resetovat (R),
- Nastavený čas (TS),
- Nastavení data (DS).
# 3) Různé výstupy jsou:
- Změnit čas (AT),
- Čas zobrazení (T),
- Zobrazit datum (D),
- Datum změny (AD).
# 4) Změněné státy jsou:
- Čas zobrazení (S1),
- Změnit čas (S3),
- Zobrazit datum (S2) a
- Změnit datum (S4).
Krok 1: Napište všechny počáteční stavy. K tomu vezměte jeden stát najednou a podívejte se, kolik šípů z něj vychází.
- Pro stát S1 z něj vycházejí dvě šipky. Jedna šipka udává stav S3 a druhá šipka udává stav S2.
- Pro stát S2 - existují 2 šipky. Jeden jde do státu S1 a druhý do S4
- Pro stát S3 - Vychází z něj pouze 1 šipka, která přechází do stavu S1
- Pro stát S4 - Vychází z něj pouze 1 šipka, která přechází do stavu S2
Položme to na náš stůl:
Protože pro stav S1 a S2 vycházejí dvě šipky, napsali jsme to dvakrát.
Krok 2: Pro každý stát zapište jejich konečné převedené stavy.
- Pro stav S1 - Konečné stavy jsou S2 a S3
- Pro stát S2 - konečné stavy jsou S1 a S4
- Pro stát S3 - Konečný stav je S1
- Pro stát S4 - konečný stav je S2
Umístěte to na stůl jako stav Výstup / Výsledek.
Krok 3: Pro každý počáteční stav a jeho odpovídající stav dokončení si zapište vstupní a výstupní podmínky
- U stavu S1 přejde do stavu S2, vstupem je režim změny (CM) a výstupem je datum zobrazení (D) zobrazené níže:
Podobným způsobem zapište vstupní podmínky a jejich výstup pro všechny stavy následujícím způsobem:
Krok 4:
Nyní přidejte ID testovacího případu pro každý test uvedený níže:
Nyní to převeďme na formální testovací případy:
Tímto způsobem lze odvodit všechny zbývající testovací případy. Předpokládám, že druhý atributy testovacích případů jako předběžné podmínky, závažnost, priorita, prostředí, sestavení atd. jsou také zahrnuty do testovacího případu.
Shrnutí kroků ještě jednou:
- Určete počáteční stavy a jejich konečný stav na základě čar / šipek, které vycházejí z počátečního stavu.
- Pro každý počáteční stav zjistěte vstupní podmínku a výstupní výsledek
- Označte každou sadu jako samostatný testovací případ.
Další příklady techniky přechodu státu
Zde je ještě jeden příklad techniky State Transition Testing ve větších softwarových aplikacích.
Popis:
'' Stavové funkční testování “ přístup lze použít k testování konkrétních částí nebo komponent aplikace s charakteristikou stroje s konečným stavem (FSM).
Kroky při implementaci:
# 1) Prvním krokem při implementaci „Stavového funkčního testování“ je identifikovat různé komponenty / části aplikace, které lze kategorizovat jako FSM. Vstupy, stavy a výstupy jsou pečlivě sledovány pro každý z těchto FSM.
#dva) Dalším krokem by bylo vyvinout testovací případy pro tyto FSM na základě přechodových pravidel, vstupů, výstupů a přechodových stavů.
# 3) Třetím krokem by byla integrace testování těchto komponent s dalšími komponentami rozhraní pro validaci aplikace end-to-end.
To lze vysvětlit pomocí příkladu aplikace pojmenované jako „Důmový projekt“, která sleduje stavbu domu, s různými aplikačními prvky, jako je schválení architektury domu, registrace pozemku a domu, výběr dodavatele stavby , schválení úvěru na bydlení atd.
Například,
Zvažujeme testování jedné součásti FSM aplikace „Důmový projekt“: Schválení půjčky na bydlení.
Žádost o schválení půjčky na bydlení (HLA)
Aplikaci HLA bude provozovat nezávislý uživatel zpracování půjčky, který zpracovává žádost o půjčku. Níže jsou uvedeny různé kroky při zpracování aplikace:
1.1.1 Krok 1: Sběr dokumentů
Prvním krokem je shromáždění příslušných dokumentů pro podání žádosti o půjčku, jak je uvedeno v následující tabulce. Jsou „podmínkami“ pro úspěšnou aplikaci. Žadatel shromáždí požadované dokumenty a použije je na půjčku na bydlení.
Uživatel zpracovávající úvěr potvrzuje přijetí dokumentů a přechází stav žádosti o půjčku (tj. Stav komponenty aplikace HLA) do stavu „Aplikováno“.
Tabulka 1: Seznam dokumentů
1.1.2 Krok 2: Posouzení půjčky
V této fázi věřitel posoudí žádost o půjčku, aby zjistil, zda splňuje jeho úvěrové požadavky. Podpůrné dokumenty jsou v tuto chvíli ověřeny.
Tabulka 2: Kritičnost dokumentů
opravit chyby registru Windows 10 zdarma
Dokumenty požadované pro posouzení, tj. „Podmínky“, které je třeba v této fázi validovat, jsou validovány. S každou podmínkou je spojena kritičnost (v tabulce výše je uvedena jako „Y“). Jakmile jsou splněny všechny požadované kritické podmínky, aplikace se přesune do stavu „Potvrzeno“ - to znamená, že komponenta HLA aplikace je ve stavu „Potvrzeno“.
Poznámka:
# 1) Tento princip přináší strukturu a objektivitu testovacích podmínek a „stavových“ definic systému .
Rovněž ne všechny „podmínky“ pro ověření systému jsou kritické pro to, aby dosáhl tohoto „Potvrzeného“ stavu. Ve výše uvedené tabulce jsou 4 podmínky označeny jako „Není kritické“, aby aplikace dosáhla stavu „Potvrzeno“.
#dva) Počet ověřování lze optimálně snížit v závislosti na riziku nebo kritičnosti pravidel požadovaných pro každý stát. To významně zkrátí čas potřebný pro provedení testu a zároveň nebude ohroženo na kvalitě testování.
# 3) To je užitečné nejen pro testování jednotlivých komponent, ale také pro testování celého systému.
# 4) Velmi užitečné při vytváření regresních testovacích sad.
V této fázi se tedy jedná o 0-přepínačový typ testování. Pozdějšími fázemi schvalování však mohou být pro tuto fázi typy ověření s 1 nebo 2 přepínači.
Například, „Manželský list“ nemusí být v této fázi příliš relevantní, ale v pozdějších fázích schvalování, kdy se zvažuje riziko, že žadatel zaplatí EMI, může být relevantní oddací list - to znamená, pokud je také zaměstnán manžel , snižuje riziko, a pokud není zaměstnáno, zvyšuje riziko.
# 5) Výše uvedený princip lze použít pro rozšíření zkušebních podmínek v závislosti na požadavcích součásti v dané fázi.
1.1.3 Krok 3: Podmíněné schválení
Aktuální stav aplikace je „Potvrzeno“. Věřitel by dal „podmíněné schválení“, aby se proces půjčky posunul kupředu. Pro přesun aplikace HLA do stavu „Schváleno“ jsou vyžadována další ověření.
1.1.4 Krok 4: Schválení
Kritické validace se provádějí v této fázi:
- Hodnocení poskytovatelem hypotéky Lenders Mortgage Insurance (LMI): to by vyžadovalo ověření pravosti nemovitosti dvěma nebo více změnami.
- Věřitel může požadovat informace, které nebyly poskytnuty během fáze „Potvrzení“.
Jakmile jsou výše uvedené podmínky splněny, aplikace se přesune do stavu „Schváleno“. Konečné oprávnění schvalovacího procesu může provést křížovou kontrolu důvěryhodnosti žadatele o úvěr tím, že požádá o další podrobnosti, nebo se nemusí zeptat, zda jsou jiné dokumenty žadatele přesvědčivé. To znamená, že k prokázání platnosti by bylo zapotřebí více vstupů z různých komponent hlavní aplikace .
# 6) Jinými slovy, pro přechod do jiného stavu může být vyžadováno (nebo sníženo) více validací v závislosti na vstupních podmínkách pro komponentu z jiných komponent aplikace.
Níže uvedený diagram znázorňuje proces schválení.
Obrázek 1: Proces schválení půjčky
Rizika a výzvy
- U velkých aplikací jsou hluboké znalosti aplikací zásadní pro rozdělení aplikace na různé logické komponenty, aby bylo možné kategorizovat jako FSM a běžné komponenty. To může od malých a středních podniků vyžadovat nákladný čas.
- Ne všechny aplikace by měly proveditelnost tohoto druhu kategorizace FSM.
- Vzhledem k tomu, že komponenty FSM interagují s běžnými komponentami v aplikaci, vyžadují vstupy do FSM z různých komponent pečlivé plánování a provádění.
Výhody testování stavu přechodu
- V rámci této techniky se tester pomocí obrazového nebo tabulkového znázornění chování systému seznámí s designem aplikace a snadno a efektivně pokryje a navrhne testy.
- Neplánované nebo neplatné stavy systému jsou také pokryty pomocí této techniky.
- Pomocí diagramu přechodů stavu lze snadno ověřit, zda jsou splněny všechny podmínky.
Nevýhody testování přechodu stavu
- Tuto techniku nelze použít pro systémy s neomezeným stavem.
- Definování všech možných stavů pro velké a složité systémy je docela těžkopádný úkol.
Závěr
Testování přechodů stavu je užitečný přístup, když se vyžaduje testování různých přechodů systému pro systémy konečných stavů.
Testování aplikace s konceptem „Stateful Functional Testing“ může poskytnout testovacím organizacím jedinečný testovací přístup pro testování složitých aplikací, což by zvýšilo produktivitu provádění testu bez kompromisů v pokrytí testem.
Testování přechodů stavu je jedinečný testovací přístup pro testování složitých aplikací, který by zvýšil produktivitu provádění testu bez kompromisu ohledně pokrytí testem.
Omezení této techniky spočívá v tom, že ji nelze použít, dokud testovaný systém nemá pouze konečné stavy.
Doporučené čtení
- Co je technika testování na základě vad?
- Co je technika testování ortogonálních polí (OATS)?
- Funkční testování vs. nefunkční testování
- Co je srovnávací testování (naučit se s příklady)
- Co je testování mutací: Výukový program s příklady
- Co je testování vytrvalosti při testování softwaru (příklady)
- Co je testování typu end to end: Testovací rámec E2E s příklady
- Nejlepší nástroje pro testování softwaru 2021 (QA Test Automation Tools)