Testování přechodu státu – schéma a technika (příklad)
Co je testování přechodu státu?
Testování přechodu státu je technika testování černé skříňky, ve které změny provedené ve vstupních podmínkách způsobí změny stavu nebo změny výstupu v aplikaci v testu (AUT). Testování přechodu stavu pomáhá analyzovat chování aplikace pro různé vstupní podmínky. Testeři mohou poskytnout pozitivní a negativní vstupní testovací hodnoty a zaznamenat chování systému.
Je to model, na kterém je založen systém a testy. Jakýkoli systém, kde získáte jiný výstup pro stejný vstup v závislosti na tom, co se stalo předtím, je systém konečných stavů.
Technika testování přechodu státu je užitečné tam, kde potřebujete testovat různé systémové přechody.
Kdy použít stavový přechod?
- To lze použít, když tester testuje aplikaci na konečnou sadu vstupních hodnot.
- Když se tester pokouší otestovat sekvenci událostí, které se vyskytují v testované aplikaci. To znamená, že to umožní testeru testovat chování aplikace na sekvenci vstupních hodnot.
- Když je testovaný systém závislý na událostech/hodnotách v minulosti.
Kdy nespoléhat na přechod státu?
- Když se neprovádí testování pro sekvenční kombinace vstupů.
- Pokud se má testování provádět pro různé funkce, jako je průzkumné testování
Čtyři části Diagramu přechodu státu
Existují 4 hlavní součásti modelu státního přechodu, jak je uvedeno níže
1) Státy které by software mohl získat
2) Přechod z jednoho státu do druhého
3) Události které pocházejí z přechodu, jako je uzavření souboru nebo výběr peněz
4) Akce které vyplývají z přechodu (chybová zpráva nebo obdržení hotovosti.)
Diagram přechodu stavu a tabulka přechodu stavu
Existují dva hlavní způsoby, jak znázornit nebo navrhnout přechod stavu, diagram přechodu stavu a tabulku přechodu stavu.
V diagramu přechodu stavu jsou stavy zobrazeny v textovém rámečku a přechod je znázorněn šipkami. Nazývá se také State Chart nebo Graph. Je to užitečné při identifikaci platných přechodů.
V tabulce přechodu stavů jsou všechny stavy uvedeny na levé straně a události jsou popsány nahoře. Každá buňka v tabulce představuje stav systému poté, co k události došlo. Nazývá se také stavová tabulka. Je to užitečné při identifikaci neplatných přechodů.
Jak provést přechod státu (příklady přechodu státu)
Příklad 1:
Uvažujme funkci bankomatového systému, kde pokud uživatel třikrát zadá neplatné heslo, účet se zablokuje.
V tomto systému, pokud uživatel zadá platné heslo v některém z prvních tří pokusů, bude uživatel úspěšně přihlášen. Pokud uživatel zadá neplatné heslo při prvním nebo druhém pokusu, bude požádán o opětovné zadání hesla. A nakonec, pokud uživatel zadá nesprávné heslo 3rd čas bude účet zablokován.
Diagram přechodu stavu
V diagramu, kdykoli uživatel zadá správný PIN, je přesunut do stavu Přístup udělen, a pokud zadá špatné heslo, přesune se na další pokus a pokud udělá totéž pro 3rd čas dosažení stavu blokovaného účtu.
Tabulka přechodu stavu
Správný PIN | Nesprávný PIN | |
---|---|---|
S1) Start | S5 | S2 |
S2) 1st pokus | S5 | S3 |
S3) 2nd pokus | S5 | S4 |
S4) 3rd pokus | S5 | S6 |
S5) Přístup udělen | - | - |
S6) Účet zablokován | - | - |
V tabulce, když uživatel zadá správný PIN, se stav přepne na S5, což je Přístup udělen. A pokud uživatel zadá špatné heslo, je přesunut do dalšího stavu. Pokud udělá totéž 3rd době dosáhne stavu zablokovaného účtu.
Příklad 2:
Než se pustíte do níže uvedeného příkladu, podívejte se na toto video Testování přechodu stavu:
klikněte zde pokud video není přístupné
Na přihlašovací obrazovce rezervace letu zvažte, že pro přístup musíte zadat správné jméno agenta a heslo aplikace pro rezervaci letu.
Umožňuje vám přístup do aplikace se správným heslem a přihlašovacím jménem, ale co když jste zadali špatné heslo.
Aplikace umožňuje tři pokusy, a pokud uživatelé zadají na 4. pokus špatné heslo, systém aplikaci automaticky zavře.
Stavové grafy vám pomohou určit platné přechody, které mají být testovány. V tomto případě je testování se správným heslem a s nesprávným heslem povinné. Pro testovací scénáře, přihlaste se 2nd, 3rd a 4th pokus může být testován kdokoli.
K určení neplatných přechodů systému můžete použít tabulku stavů.
V tabulce stavů jsou všechny platné stavy uvedeny na levé straně tabulky a události, které je způsobují, jsou uvedeny nahoře.
Každá buňka představuje stav, do kterého se systém přesune, když dojde k odpovídající události.
Například, když ve stavu S1 zadáte správné heslo, dostanete se do stavu S6 (přístup udělen). Předpokládejme, že pokud jste na první pokus zadali špatné heslo, budete přesměrováni do stavu S3 nebo 2nd Try.
Stejně tak můžete určit všechny ostatní stavy.
Pomocí této metody jsou zvýrazněny dva neplatné stavy. Předpokládejme, že jste ve stavu S6, což znamená, že jste již přihlášeni do aplikace a otevřete další instanci rezervace letu a zadáte platná nebo neplatná hesla pro stejného agenta. Odezvu systému pro takový scénář je třeba otestovat.
Výhody a nevýhody techniky přechodu státu
Výhody | Nevýhody |
---|---|
Tato testovací technika poskytne obrázkové nebo tabulkové znázornění chování systému, díky kterému bude tester efektivně pokrýt a pochopit chování systému. | Hlavní nevýhodou této testovací techniky je, že se na ni nemůžeme pokaždé spolehnout. Pokud například systém není konečný systém (není v sekvenčním pořadí), nelze tuto techniku použít. |
Pomocí tohoto testování může technik tester ověřit, že jsou pokryty všechny podmínky, a výsledky jsou zachyceny | Další nevýhodou je, že musíte definovat všechny možné stavy systému. I když je to pro malé systémy v pořádku, brzy se to rozpadne na větší systémy, protože počet stavů exponenciálně narůstá. |
Shrnutí
- Testování přechodu stavu je definováno jako testovací technika, při které změny vstupních podmínek způsobí změny stavu v testované aplikaci.
- In Softwarové inženýrství, Technika testování přechodu stavu je užitečná tam, kde potřebujete otestovat různé přechody systému.
- Dva hlavní způsoby reprezentace nebo návrhu přechodu stavu, diagram přechodu stavu a tabulka přechodu stavu.
- V diagramu přechodu stavu jsou stavy zobrazeny v textovém rámečku a přechod je znázorněn šipkami.
- V tabulce přechodu stavů jsou všechny stavy uvedeny na levé straně a události jsou popsány nahoře.
- Touto hlavní výhodou této testovací techniky je to, že poskytne obrázkovou nebo tabulkovou reprezentaci chování systému, díky čemuž tester efektivně pokryje a pochopí chování systému.
- Hlavní nevýhodou této testovací techniky je, že se na ni nemůžeme pokaždé spolehnout.