Tilstandsovergangstest – diagram og teknik (eksempel)
Hvad er State Transition Testing?
Statsovergangstest er en sort boks-testteknik, hvor ændringer foretaget i inputbetingelser forårsager tilstandsændringer eller outputændringer i Application under Test(AUT). Tilstandsovergangstest hjælper med at analysere opførsel af en applikation for forskellige inputbetingelser. Testere kan give positive og negative inputtestværdier og registrere systemets adfærd.
Det er den model, som systemet og testene er baseret på. Ethvert system, hvor du får et andet output for det samme input, afhængigt af hvad der er sket før, er et endeligt tilstandssystem.
State Transition Testing Teknik er hjælpsom, hvor du har brug for det teste forskellige systemovergange.
Hvornår skal man bruge statsovergang?
- Dette kan bruges, når en tester tester applikationen for et endeligt sæt af inputværdier.
- Når testeren forsøger at teste rækkefølgen af hændelser, der opstår i den applikation, der testes. Dette vil give testeren mulighed for at teste applikationsadfærden for en sekvens af inputværdier.
- Når systemet under test er afhængig af hændelser/værdier i fortiden.
Hvornår skal man ikke stole på statsovergang?
- Når testen ikke udføres for sekventielle inputkombinationer.
- Hvis testen skal udføres for forskellige funktionaliteter som eksplorativ test
Fire dele af statens overgangsdiagram
Der er 4 hovedkomponenter i statsovergangsmodellen som nedenfor
1) stater som softwaren kan få
2) Overgang fra en stat til en anden
3) Begivenheder der opstår en overgang som at lukke en fil eller hæve penge
4) Handlinger som er resultatet af en overgang (en fejlmeddelelse eller at få kontanter).
Tilstandsovergangsdiagram og tilstandsovergangstabel
Der er to hovedmåder at repræsentere eller designe tilstandsovergang, tilstandsovergangsdiagram og tilstandsovergangstabel.
I tilstandsovergangsdiagrammet er tilstandene vist i indrammede tekster, og overgangen er repræsenteret med pile. Det kaldes også State Chart eller Graph. Det er nyttigt til at identificere gyldige overgange.
I tilstandsovergangstabellen er alle tilstande listet i venstre side, og begivenhederne er beskrevet øverst. Hver celle i tabellen repræsenterer systemets tilstand efter hændelsen er indtruffet. Det kaldes også State Table. Det er nyttigt til at identificere ugyldige overgange.
Sådan laver du en statsovergang (eksempler på en statsovergang)
Eksempel 1:
Lad os overveje en ATM-systemfunktion, hvor hvis brugeren indtaster den ugyldige adgangskode tre gange, vil kontoen blive låst.
I dette system, hvis brugeren indtaster en gyldig adgangskode i et af de første tre forsøg, vil brugeren blive logget ind. Hvis brugeren indtaster den ugyldige adgangskode i første eller andet forsøg, vil brugeren blive bedt om at indtaste adgangskoden igen. Og endelig, hvis brugeren indtaster forkert adgangskode 3rd tidspunkt, vil kontoen blive spærret.
Statsovergangsdiagram
I diagrammet, når brugeren indtaster den korrekte PIN-kode, flyttes han til Adgang givet tilstand, og hvis han indtaster den forkerte adgangskode, flyttes han til næste forsøg, og hvis han gør det samme for de 3.rd tidspunkt, hvor konto blokeret er nået.
Statsovergangstabel
Korrekt pinkode | Forkert PIN-kode | |
---|---|---|
S1) Start | S5 | S2 |
S2) 1st forsøg | S5 | S3 |
S3) 2nd forsøg | S5 | S4 |
S4) 3rd forsøg | S5 | S6 |
S5) Adgang givet | - | - |
S6) Konto spærret | - | - |
I tabellen, når brugeren indtaster den korrekte PIN-kode, er tilstanden overført til S5, som er Adgang givet. Og hvis brugeren indtaster en forkert adgangskode, flyttes han til næste tilstand. Hvis han gør det samme 3rd gang, vil han nå den blokerede konto.
Eksempel 2:
Tjek denne tilstandsovergangstest-video, før du henviser til eksemplet nedenfor:
Klik link. hvis videoen ikke er tilgængelig
På flyreservationsloginskærmen skal du overveje, at du skal indtaste korrekt agentnavn og adgangskode for at få adgang til ansøgning om flyreservation.
Det giver dig adgang til applikationen med korrekt adgangskode og loginnavn, men hvad nu hvis du indtastede den forkerte adgangskode.
Applikationen tillader tre forsøg, og hvis brugere indtaster den forkerte adgangskode ved 4. forsøg, lukker systemet automatisk applikationen.
Tilstandsgraferne hjælper dig med at bestemme gyldige overgange, der skal testes. I dette tilfælde er test med den korrekte adgangskode og med en forkert adgangskode obligatorisk. For test scenarier, log ind på 2nd, 3rd og 4th forsøg at enhver kunne blive testet.
Du kan bruge State Table til at bestemme ugyldige systemovergange.
I en tilstandstabel er alle de gyldige tilstande listet i venstre side af tabellen, og de hændelser, der forårsager dem, øverst.
Hver celle repræsenterer den tilstand, systemet vil flytte til, når den tilsvarende hændelse indtræffer.
For eksempel, mens du i S1-tilstand indtaster en korrekt adgangskode, bliver du ført til tilstand S6 (Access Granted). Antag, at hvis du har indtastet den forkerte adgangskode ved første forsøg, vil du blive ført til tilstanden S3 eller 2. forsøg.
Ligeledes kan du bestemme alle andre tilstande.
To ugyldige tilstande fremhæves ved hjælp af denne metode. Antag, at du er i tilstand S6, det vil sige, at du allerede er logget ind på applikationen, og du åbner en anden forekomst af flyreservation og indtaster gyldige eller ugyldige adgangskoder for den samme agent. Systemrespons for et sådant scenario skal testes.
Fordele og ulemper ved statsovergangsteknik
Fordele | Ulemper |
---|---|
Denne testteknik vil give en billed- eller tabelrepræsentation af systemadfærd, som vil få testeren til at dække og forstå systemets adfærd effektivt. | Den største ulempe ved denne testteknik er, at vi ikke kan stole på denne teknik hver gang. For eksempel, hvis systemet ikke er et endeligt system (ikke i sekventiel rækkefølge), kan denne teknik ikke bruges. |
Ved at bruge denne test kan tekniktester verificere, at alle betingelser er dækket, og resultaterne er fanget | En anden ulempe er, at du skal definere alle de mulige tilstande i et system. Selvom dette er i orden for små systemer, bryder det hurtigt ned i større systemer, da der er en eksponentiel progression i antallet af tilstande. |
Resumé
- Tilstandsovergangstest er defineret som den testteknik, hvor ændringer i inputbetingelser forårsager tilstandsændringer i applikationen under test.
- In Software Engineering, State Transition Testing Technique er nyttig, hvor du skal teste forskellige systemovergange.
- To hovedmåder at repræsentere eller designe tilstandsovergang, tilstandsovergangsdiagram og tilstandsovergangstabel.
- I tilstandsovergangsdiagrammet er tilstandene vist i indrammede tekster, og overgangen er repræsenteret med pile.
- I tilstandsovergangstabellen er alle tilstande listet i venstre side, og begivenhederne er beskrevet øverst.
- Denne største fordel ved denne testteknik er, at den vil give en billed- eller tabelrepræsentation af systemadfærd, som vil få testeren til at dække og forstå systemets adfærd effektivt.
- Den største ulempe ved denne testteknik er, at vi ikke kan stole på denne teknik hver gang.