Test af tilstandsovergang med eksempel
โก Smart opsummering
Test af tilstandsovergange er en black-box-teknik, der validerer, hvordan en applikation bevรฆger sig mellem tilstande, nรฅr inputbetingelserne รฆndrer sig. Denne vejledning forklarer de fire diagramdele, forskellen mellem tilstandsdiagrammer og tabeller samt eksempler pรฅ fungerende ATM- og login-funktioner for testere.
Hvad er State Transition Testing?
Statsovergangstest er en black-box-testteknik, hvor รฆndringer i inputforhold forรฅrsager tilstandsรฆndringer eller outputรฆndringer i den testede applikation (AUT). Det hjรฆlper med at analysere en applikations adfรฆrd under forskellige inputforhold, og testere kan give positive og negative inputvรฆrdier, mens de registrerer systemets adfรฆrd.
Det er baseret pรฅ den model, som systemet og testene er bygget pรฅ. Ethvert system, hvor man fรฅr et forskelligt output for det samme input โ afhรฆngigt af hvad der skete fรธr โ er et finite-state system. Teknikken med tilstandsovergangstestning er nyttig, hvor man har brug for teste forskellige systemovergange.
Hvornรฅr skal man bruge test af tilstandsovergang
- Nรฅr en tester tester applikationen for et endeligt sรฆt af inputvรฆrdier.
- Nรฅr testeren tester en rรฆkkefรธlge af hรฆndelser, der forekommer i AUT'en, hvilket gรธr det muligt at kontrollere applikationens adfรฆrd for en rรฆkkefรธlge af inputvรฆrdier.
- Nรฅr det testede system afhรฆnger af begivenheder eller vรฆrdier fra fortiden.
Hvornรฅr man ikke skal stole pรฅ test af tilstandsovergang
- Nรฅr testen ikke udfรธres for sekventielle inputkombinationer.
- Nรฅr testningen er rettet mod forskellige funktionaliteter, sรฅsom udforskende testning.
Fire dele af et tilstandsovergangsdiagram
Der er fire hovedkomponenter i tilstandsovergangsmodellen, som er beskrevet nedenfor.
1) stater som softwaren kan nรฅ.
2) Overgang fra รฉn stat til en anden.
3) Begivenheder der udlรธser en overgang, sรฅsom lukning af en fil eller hรฆvning af penge.
4) Handlinger som fรธlge af en overgang, sรฅsom en fejlmeddelelse eller at have fรฅet udbetalt kontanter.
Tilstandsovergangsdiagram vs. Tilstandsovergangstabel
Der er to primรฆre mรฅder at reprรฆsentere eller designe tilstandsovergang pรฅ: tilstandsovergangsdiagrammet og tilstandsovergangstabellen.
| Aspect | Tilstandsovergangsdiagram | Statsovergangstabel |
|---|---|---|
| Ogsรฅ kaldet | Statsdiagram / graf | Statstabel |
| Reprรฆsentation | Boxes for tilstande, pile for overgange | Gitter af tilstande (rรฆkker) og begivenheder (kolonner) |
| Bedste for at identificere | Gyldige overgange | Ugyldige overgange |
| Hver celle viser | โ | Den tilstand, der opnรฅs efter en begivenhed |
Sรฅdan foretager du en tilstandsovergang (eksempler)
Eksempel 1: Spรฆrring af pinkode til hรฆveautomat
Overvej en hรฆveautomatsystemfunktion, hvor kontoen lรฅses, hvis brugeren indtaster den ugyldige adgangskode tre gange.
I dette system er brugeren logget ind, hvis brugeren indtaster en gyldig adgangskode i et af de fรธrste tre forsรธg. Hvis brugeren indtaster den ugyldige adgangskode i fรธrste eller andet forsรธg, bliver de bedt om at indtaste den igen. Hvis brugeren indtaster den forkerte adgangskode en tredje gang, blokeres kontoen.
Tilstandsovergangsdiagram (eksempel 1)
I diagrammet gรฅr brugeren til tilstanden Adgang givet, nรฅr de indtaster den korrekte pinkode. Hvis de indtaster den forkerte adgangskode, gรฅr de videre til nรฆste forsรธg, og hvis de gรธr det samme en tredje gang, nรฅs tilstanden Konto blokeret.
Tabel for tilstandsovergang (eksempel 1)
| Tilstand | Korrekt pinkode | Forkert PIN-kode |
|---|---|---|
| S1) Start | S5 | S2 |
| S2) 1. forsรธg | S5 | S3 |
| S3) 2. forsรธg | S5 | S4 |
| S4) 3. forsรธg | S5 | S6 |
| S5) Adgang givet | - | - |
| S6) Konto blokeret | - | - |
I tabellen skifter tilstanden til S5 (Adgang givet), nรฅr brugeren indtaster den korrekte pinkode. Hvis brugeren indtaster en forkert adgangskode, gรฅr de videre til den nรฆste tilstand, og efter det tredje forkerte forsรธg nรฅr de tilstanden Konto blokeret.
Eksempel 2: Login til flyreservation
Pรฅ loginskรฆrmen til flyreservationen skal du indtaste det korrekte agentnavn og den korrekte adgangskode for at fรฅ adgang til ansรธgning om flyreservation.
Tilstandsovergangsgraf
Applikationen tillader tre forsรธg; hvis brugeren indtaster den forkerte adgangskode i det fjerde forsรธg, lukker systemet applikationen automatisk.
Tilstandsgrafen hjรฆlper dig med at bestemme gyldige overgange, der skal testes. Testning med bรฅde den korrekte og en forkert adgangskode er obligatorisk, og for test scenarier, login pรฅ 2., 3. eller 4. forsรธg kan hver isรฆr testes. Du kan bruge en tilstandstabel til at bestemme ugyldige systemovergange.
I en tilstandstabel er alle gyldige tilstande angivet til venstre, og de hรฆndelser, der forรฅrsager dem, er angivet รธverst. Hver celle viser den tilstand, systemet bevรฆger sig til, nรฅr hรฆndelsen indtrรฆffer. For eksempel, i tilstand S1, fรธrer en korrekt adgangskode dig til S6 (Adgang givet); en forkert adgangskode ved fรธrste forsรธg fรธrer dig til S3 (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 (allerede logget ind), og du รฅbner en anden instans af flyreservationen og indtaster adgangskoder til den samme agent. Systemets respons for et sรฅdant scenarie skal testes.
Fordele og ulemper ved statsovergangsteknik
| Fordele | Ulemper |
|---|---|
| Giver en billedlig eller tabelformet reprรฆsentation af systemets adfรฆrd, helping testdรฆkslet og forstรฅ systemet effektivt. | Kan ikke stoles pรฅ hver gang โ for eksempel passer den ikke til systemer, der ikke er endelige eller sekventielle. |
| Lader testeren verificere, at alle betingelser er dรฆkket, og at resultaterne registreres. | Krรฆver definition af alle mulige tilstande. Dette fungerer for smรฅ systemer, men fungerer ikke for stรธrre systemer pรฅ grund af den eksponentielle vรฆkst i antallet af tilstande. |






