Testing av tilstandsovergang med eksempel
โก Smart oppsummering
Testing av tilstandsoverganger er en svartboksteknikk som validerer hvordan en applikasjon beveger seg mellom tilstander nรฅr inndataforholdene endres. Denne veiledningen forklarer de fire diagramdelene, forskjellen mellom tilstandsdiagrammer og tabeller, og eksempler pรฅ fungerte minibanker og pรฅlogging for testere.
Hva er State Transition Testing?
Statlig overgangstesting er en svartboks-testteknikk der endringer i inngangsforhold forรฅrsaker tilstandsendringer eller endringer i utdata i applikasjonen under test (AUT). Den hjelper med รฅ analysere oppfรธrselen til en applikasjon for forskjellige inngangsforhold, og testere kan gi positive og negative inngangsverdier mens de registrerer systemets oppfรธrsel.
Den er basert pรฅ modellen som systemet og testene er bygget pรฅ. Ethvert system der du fรฅr forskjellig utdata for samme inngang โ avhengig av hva som skjedde fรธr โ er et system med begrenset tilstand. Teknikken for testing av tilstandsoverganger er nyttig der du trenger teste forskjellige systemoverganger.
Nรฅr man skal bruke testing av tilstandsovergang
- Nรฅr en tester tester applikasjonen for et begrenset sett med inngangsverdier.
- Nรฅr testeren tester en sekvens av hendelser som oppstรฅr i AUT-en, slik at applikasjonens oppfรธrsel kan kontrolleres for en sekvens av inngangsverdier.
- Nรฅr systemet som testes er avhengig av hendelser eller verdier fra fortiden.
Nรฅr man ikke skal stole pรฅ testing av tilstandsoverganger
- Nรฅr testingen ikke er utfรธrt for sekvensielle inngangskombinasjoner.
- Nรฅr testingen er rettet mot forskjellige funksjoner, for eksempel utforskende testing.
Fire deler av et tilstandsovergangsdiagram
Det er fire hovedkomponenter i tilstandsovergangsmodellen, beskrevet nedenfor.
1) stater som programvaren kan nรฅ.
2) Overgang fra en stat til en annen.
3) Begivenheter som utlรธser en overgang, for eksempel รฅ lukke en fil eller ta ut penger.
4) Handlinger som fรธlge av en overgang, for eksempel en feilmelding eller รฅ ha mottatt kontanter.
Tilstandsovergangsdiagram vs. tilstandsovergangstabell
Det finnes to hovedmรฅter รฅ representere eller designe tilstandsovergang pรฅ: tilstandsovergangsdiagrammet og tilstandsovergangstabellen.
| Aspekt | Overgangsdiagram for tilstand | Overgangstabell for staten |
|---|---|---|
| Ogsรฅ kalt | Statsdiagram / graf | Statens tabell |
| Representasjon | Boxes for tilstander, piler for overganger | Rutenett av tilstander (rader) og hendelser (kolonner) |
| Best for identifisering | Gyldige overganger | Ugyldige overganger |
| Hver celle viser | - | Tilstanden som nรฅs etter at en hendelse har inntruffet |
Hvordan foreta en tilstandsovergang (eksempler)
Eksempel 1: Utlรฅsing av PIN-kode for minibank
Tenk deg en minibanksystemfunksjon der kontoen lรฅses hvis brukeren taster inn et ugyldig passord tre ganger.
I dette systemet, hvis brukeren skriver inn et gyldig passord i ett av de tre fรธrste forsรธkene, er brukeren logget inn. Hvis brukeren skriver inn det ugyldige passordet pรฅ fรธrste eller andre forsรธk, blir de bedt om รฅ skrive det inn pรฅ nytt. Til slutt, hvis brukeren skriver inn feil passord en tredje gang, blokkeres kontoen.
Tilstandsovergangsdiagram (eksempel 1)
I diagrammet gรฅr brukeren til statusen Tilgang gitt nรฅr de taster inn riktig PIN-kode. Hvis de taster inn feil passord, gรฅr de videre til neste forsรธk, og hvis de gjรธr det samme en tredje gang, nรฅs statusen Konto blokkert.
Tabell for tilstandsovergang (eksempel 1)
| Tilstand | Riktig PIN-kode | Feil PIN |
|---|---|---|
| S1) Start | S5 | S2 |
| S2) 1. forsรธk | S5 | S3 |
| S3) 2. forsรธk | S5 | S4 |
| S4) 3. forsรธk | S5 | S6 |
| S5) Tilgang gitt | - | - |
| S6) Konto blokkert | - | - |
I tabellen, nรฅr brukeren taster inn riktig PIN-kode, gรฅr statusen over til S5 (Tilgang gitt). Hvis brukeren taster inn feil passord, gรฅr de videre til neste status, og etter det tredje feilforsรธket nรฅr de statusen Konto blokkert.
Eksempel 2: Innlogging for flyreservasjon
Pรฅ innloggingsskjermen for flyreservasjonen mรฅ du oppgi riktig agentnavn og passord for รฅ fรฅ tilgang til sรธknad om flyreservasjon.
Statsovergangsgraf
Applikasjonen tillater tre forsรธk; hvis brukeren skriver inn feil passord pรฅ det fjerde forsรธket, lukkes programmet automatisk.
Tilstandsgrafen hjelper deg med รฅ bestemme gyldige overganger som skal testes. Testing med bรฅde riktig og feil passord er obligatorisk, og for test scenarier, innlogging pรฅ andre, tredje eller fjerde forsรธk kan testes. Du kan bruke en tilstandstabell for รฅ bestemme ugyldige systemoverganger.
I en tilstandstabell er alle gyldige tilstander listet opp til venstre, og hendelsene som forรฅrsaker dem er listet opp รธverst. Hver celle viser tilstanden systemet gรฅr til nรฅr hendelsen inntreffer. For eksempel, i tilstand S1 tar et riktig passord deg til S6 (Tilgang gitt); et feil passord pรฅ fรธrste forsรธk tar deg til S3 (2. forsรธk). Pรฅ samme mรฅte kan du bestemme alle andre tilstander.
To ugyldige tilstander utheves ved hjelp av denne metoden. Anta at du er i tilstand S6 (allerede logget inn) og du รฅpner en annen instans av flyreservasjonen og skriver inn passord for den samme agenten. Systemresponsen for et slikt scenario mรฅ testes.
Fordeler og ulemper med statlig overgangsteknikk
| Fordeler | Ulemper |
|---|---|
| Gir en billedlig eller tabellarisk fremstilling av systemoppfรธrselen, helping testdekselet og forstรฅ systemet effektivt. | Kan ikke stoles pรฅ hver gang โ for eksempel passer den ikke systemer som ikke er endelige eller sekvensielle. |
| Lar testeren bekrefte at alle betingelser er dekket og resultatene registreres. | Krever definering av alle mulige tilstander. Dette fungerer for smรฅ systemer, men brytes ned for stรธrre systemer pรฅ grunn av den eksponentielle veksten i antall tilstander. |






