Testning av tillståndsövergångar med exempel
⚡ Smart sammanfattning
Tillståndsövergångstestning är en black-box-teknik som validerar hur en applikation rör sig mellan tillstånd när indatavillkoren ändras. Den här handledningen förklarar de fyra diagramdelarna, skillnaden mellan tillståndsdiagram och tabeller, och fungerade ATM- och inloggningsexempel för testare.
Vad är State Transition Testing?
State Transition Testing är en black-box-testteknik där förändringar i indataförhållanden orsakar tillståndsförändringar eller utdataförändringar i den testade applikationen (AUT). Den hjälper till att analysera en applikations beteende under olika indataförhållanden, och testare kan tillhandahålla positiva och negativa indatavärden samtidigt som de registrerar systemets beteende.
Den är baserad på den modell som systemet och testerna är byggda på. Alla system där du får olika utdata för samma indata – beroende på vad som hände tidigare – är ett system med ändliga tillstånd. Tekniken för tillståndsövergångstestning är användbar där du behöver testa olika systemövergångar.
När man ska använda tillståndsövergångstestning
- När en testare testar applikationen för en begränsad uppsättning ingångsvärden.
- När testaren testar en sekvens av händelser som inträffar i AUT:n, vilket gör att applikationens beteende kan kontrolleras för en sekvens av indatavärden.
- När systemet som testas är beroende av händelser eller värden från det förflutna.
När man inte ska förlita sig på testning av tillståndsövergångar
- När testningen inte görs för sekventiella ingångskombinationer.
- När testningen riktar sig mot olika funktioner, såsom utforskande testning.
Fyra delar av ett tillståndsövergångsdiagram
Det finns fyra huvudkomponenter i tillståndsövergångsmodellen, vilka beskrivs nedan.
1) Stater som programvaran kan nå.
2) Övergång från en stat till en annan.
3) Händelser som utlöser en övergång, såsom att stänga en fil eller ta ut pengar.
4) Åtgärder som är ett resultat av en övergång, såsom ett felmeddelande eller att man fått kontanter.
Tillståndsövergångsdiagram vs. Tillståndsövergångstabell
Det finns två huvudsakliga sätt att representera eller designa tillståndsövergång: tillståndsövergångsdiagrammet och tillståndsövergångstabellen.
| Aspect | Tillståndsövergångsdiagram | Tillståndsövergångstabell |
|---|---|---|
| Även kallad | Tillståndsdiagram / Graf | Statstabell |
| Representationen | Boxes för tillstånd, pilar för övergångar | Rutnät av tillstånd (rader) och händelser (kolumner) |
| Bäst för att identifiera | Giltiga övergångar | Ogiltiga övergångar |
| Varje cell visar | - | Det tillstånd som uppnås efter att en händelse inträffat |
Hur man gör en tillståndsövergång (exempel)
Exempel 1: Utlåsning av PIN-kod för bankomat
Tänk dig en bankomatfunktion där kontot låses om användaren anger ett ogiltigt lösenord tre gånger.
I det här systemet är användaren inloggad om hen anger ett giltigt lösenord vid något av de första tre försöken. Om användaren anger det ogiltiga lösenordet vid första eller andra försöket ombeds hen att ange det igen. Slutligen, om användaren anger fel lösenord en tredje gång, blockeras kontot.
Tillståndsövergångsdiagram (exempel 1)
I diagrammet, när användaren anger rätt PIN-kod, går de vidare till tillståndet Åtkomst beviljad. Om de anger fel lösenord går de vidare till nästa försök, och om de gör samma sak en tredje gång, nås tillståndet Konto blockerat.
Tabell för tillståndsövergång (exempel 1)
| Ange | Rätt PIN-kod | Fel PIN-kod |
|---|---|---|
| S1) Starta | S5 | S2 |
| S2) 1:a försöket | S5 | S3 |
| S3) Andra försöket | S5 | S4 |
| S4) 3:e försöket | S5 | S6 |
| S5) Tillträde beviljad | - | - |
| S6) Konto blockerat | - | - |
I tabellen, när användaren anger rätt PIN-kod, övergår tillståndet till S5 (Åtkomst beviljad). Om användaren anger fel lösenord går de vidare till nästa tillstånd, och efter det tredje felaktiga försöket når de tillståndet Konto blockerat.
Exempel 2: Inloggning för flygbokning
På inloggningsskärmen för flygbokning måste du ange rätt agentnamn och lösenord för att komma åt ansökan om flygbokning.
Tillståndsövergångsdiagram
Applikationen tillåter tre försök; om användaren anger fel lösenord vid det fjärde försöket stängs applikationen automatiskt.
Tillståndsgrafen hjälper dig att avgöra giltiga övergångar som ska testas. Testning med både rätt och felaktigt lösenord är obligatoriskt, och för testscenarier, inloggning på andra, tredje eller fjärde försöket kan testas. Du kan använda en tillståndstabell för att fastställa ogiltiga systemövergångar.
I en tillståndstabell listas alla giltiga tillstånd till vänster och de händelser som orsakar dem överst. Varje cell visar det tillstånd systemet går till när händelsen inträffar. Till exempel, i tillstånd S1 tar ett korrekt lösenord dig till S6 (Åtkomst beviljad); ett felaktigt lösenord vid första försöket tar dig till S3 (Andra försöket). På samma sätt kan du bestämma alla andra tillstånd.
Två ogiltiga tillstånd markeras med den här metoden. Anta att du är i tillstånd S6 (redan inloggad) och öppnar en annan instans av flygbokning och anger lösenord för samma agent. Systemets svar för ett sådant scenario behöver testas.
Fördelar och nackdelar med statlig övergångsteknik
| Fördelar | Nackdelar |
|---|---|
| Ger en bild- eller tabellrepresentation av systemets beteende, helping testarens omslag och förstå systemet effektivt. | Kan inte litas på varje gång — till exempel passar den inte system som inte är ändliga eller sekventiella. |
| Låter testaren verifiera att alla villkor är täckta och resultaten registreras. | Kräver att alla möjliga tillstånd definieras. Detta fungerar för små system men fungerar inte för större system på grund av den exponentiella tillväxten i antalet tillstånd. |






