Tillståndsövergångstest – diagram och teknik (exempel)

Vad är State Transition Testing?

State Transition Testing är en svart låda-testteknik där ändringar som görs i ingångsförhållanden orsakar tillståndsändringar eller utdataändringar i Application under Test(AUT). State transition testing hjälper till att analysera beteendet hos en applikation för olika ingångsförhållanden. Testare kan ge positiva och negativa indatatestvärden och registrera systemets beteende.

Det är modellen som systemet och testerna bygger på. Alla system där du får en annan utdata för samma ingång, beroende på vad som har hänt tidigare, är ett finita tillståndssystem.

State Transition Testing Teknik är till hjälp där du behöver testa olika systemövergångar.

När ska man använda State Transition?

  • Detta kan användas när en testare testar applikationen för en ändlig uppsättning ingångsvärden.
  • När testaren försöker testa sekvensen av händelser som inträffar i applikationen som testas. Dvs detta kommer att tillåta testaren att testa applikationens beteende för en sekvens av ingångsvärden.
  • När systemet som testas har ett beroende av händelserna/värdena i det förflutna.

När ska man inte lita på en statlig övergång?

  • När testningen inte görs för sekventiella ingångskombinationer.
  • Om testningen ska göras för olika funktionaliteter som utforskande testning

Fyra delar av statens övergångsdiagram

Det finns fyra huvudkomponenter i den statliga övergångsmodellen enligt nedan

1) Stater som programvaran kan få

Stater

2) Övergång från en stat till en annan

Övergång

3) Händelser som orsakar en övergång som att stänga en fil eller ta ut pengar

Evenemang

4) Åtgärder som är resultatet av en övergång (ett felmeddelande eller att få pengarna.)

Actions

Tillståndsövergångsdiagram och tillståndsövergångstabell

Det finns två huvudsakliga sätt att representera eller designa tillståndsövergång, tillståndsövergångsdiagram och tillståndsövergångstabell.

I tillståndsövergångsdiagram visas tillstånden i rutor, och övergången representeras av pilar. Det kallas också State Chart eller Graph. Det är användbart för att identifiera giltiga övergångar.

I tillståndsövergångstabellen är alla tillstånd listade på vänster sida, och händelserna beskrivs överst. Varje cell i tabellen representerar systemets tillstånd efter händelsen har inträffat. Det kallas också State Table. Det är användbart för att identifiera ogiltiga övergångar.

Hur man gör en tillståndsövergång (exempel på en tillståndsövergång)

Exempel 1:

Låt oss överväga en ATM-systemfunktion där om användaren anger det ogiltiga lösenordet tre gånger kommer kontot att låsas.

I det här systemet, om användaren anger ett giltigt lösenord i något av de tre första försöken kommer användaren att loggas in. Om användaren anger det ogiltiga lösenordet vid första eller andra försöket kommer användaren att bli ombedd att ange lösenordet igen. Och slutligen, om användaren anger felaktigt lösenord 3rd tid kommer kontot att spärras.

Tillståndsövergångsdiagram

Tillståndsövergångsdiagram

Närhelst i diagrammet användaren anger rätt PIN-kod flyttas han till tillstånd beviljad åtkomst, och om han anger fel lösenord flyttas han till nästa försök och om han gör samma sak för 3rd när kontot spärrat tillstånd nås.

Tillståndsövergångstabell

Rätt PIN-kod Fel PIN-kod
S1) Starta S5 S2
S2) 1st försök S5 S3
S3) 2nd försök S5 S4
S4) 3rd försök S5 S6
S5) Tillträde beviljad - -
S6) Kontot spärrat - -

I tabellen när användaren anger rätt PIN-kod övergår tillståndet till S5 som är Access beviljad. Och om användaren anger fel lösenord flyttas han till nästa tillstånd. Om han gör detsamma 3rd tid, kommer han att nå kontot blockerat tillstånd.

Exempel 2:

Kontrollera den här videon om tillståndsövergångstest innan du hänvisar till exemplet nedan:

Klicka här. om videon inte är tillgänglig

Tänk på att du måste ange korrekt agentnamn och lösenord på inloggningsskärmen för flygbokningen för att komma åt ansökan om flygbokning.

Tillståndsövergångsdiagram
Tillståndsövergångsdiagram

Det ger dig tillgång till applikationen med korrekt lösenord och inloggningsnamn, men tänk om du angav fel lösenord.

Applikationen tillåter tre försök, och om användare anger fel lösenord vid 4:e försöket stänger systemet applikationen automatiskt.

Tillståndsgraferna hjälper dig att bestämma giltiga övergångar som ska testas. I detta fall är testning med rätt lösenord och med ett felaktigt lösenord obligatoriskt. För testscenarier, logga in på 2nd, 3rd och 4th försök vem som helst kunde testas.

Du kan använda State Table för att fastställa ogiltiga systemövergångar.

Tillståndsövergångstabell

I en tillståndstabell listas alla giltiga tillstånd på tabellens vänstra sida och händelserna som orsakar dem överst.

Varje cell representerar tillståndet som systemet kommer att flytta till när motsvarande händelse inträffar.

Till exempel, medan du i S1-tillståndet anger ett korrekt lösenord, tas du till S6 (Access Granted). Anta att om du har angett fel lösenord vid första försöket kommer du att tas till S3 eller 2:a försöket.

På samma sätt kan du bestämma alla andra tillstånd.

Två ogiltiga tillstånd markeras med denna metod. Anta att du är i tillstånd S6, det vill säga att du redan är inloggad i applikationen och att du öppnar en annan instans av flygbokning och anger giltiga eller ogiltiga lösenord för samma agent. Systemrespons för ett sådant scenario måste testas.

Fördelar och nackdelar med statlig övergångsteknik

Fördelar Nackdelar
Denna testteknik kommer att ge en bild- eller tabellrepresentation av systembeteende som gör att testaren kan täcka och förstå systemets beteende effektivt. Den största nackdelen med denna testteknik är att vi inte kan lita på denna teknik varje gång. Till exempel, om systemet inte är ett ändligt system (inte i sekventiell ordning), kan denna teknik inte användas.
Genom att använda denna testning kan tekniktestaren verifiera att alla villkor är täckta och resultaten fångas En annan nackdel är att du måste definiera alla möjliga tillstånd i ett system. Även om detta är okej för små system, bryts det snart ner i större system eftersom det finns en exponentiell progression i antalet tillstånd.

Sammanfattning

  • Tillståndsövergångstestning definieras som den testteknik där ändringar i ingångsförhållanden orsakar tillståndsändringar i applikationen under test.
  • In Mjukvaruutveckling, State Transition Testing Technique är till hjälp där du behöver testa olika systemövergångar.
  • Två huvudsakliga sätt att representera eller designa tillståndsövergång, tillståndsövergångsdiagram och tillståndsövergångstabell.
  • I tillståndsövergångsdiagram visas tillstånden i rutor, och övergången representeras av pilar.
  • I tillståndsövergångstabellen är alla tillstånd listade på vänster sida, och händelserna beskrivs överst.
  • Denna främsta fördel med denna testteknik är att den ger en bild- eller tabellrepresentation av systembeteende som gör att testaren kan täcka och förstå systemets beteende effektivt.
  • Den största nackdelen med denna testteknik är att vi inte kan lita på denna teknik varje gång.