Wat is State Transition Testing?
State Transition Testing is een black box-testtechniek waarbij veranderingen in inputcondities statusveranderingen of outputveranderingen veroorzaken in de Application under Test (AUT). Toestandsovergangstesten helpen om het gedrag van een applicatie voor verschillende inputcondities te analyseren. Testers kunnen positieve en negatieve input-testwaarden leveren en het systeemgedrag registreren.
Het is het model waarop het systeem en de tests zijn gebaseerd. Elk systeem waarbij u een andere uitvoer krijgt voor dezelfde invoer, afhankelijk van wat er eerder is gebeurd, is een systeem met een eindige toestand.
State Transition Testing Technique is handig wanneer u verschillende systeemovergangen moet testen.
In deze tutorial leer je-
- Wat is toestandsovergang bij testen?
- Wanneer staatsovergang gebruiken?
- Wanneer moet u niet vertrouwen op een staatsovergang?
- Vier delen van toestandsovergangsschema
- State Transition Diagram en State Transition Table
- Hoe u een staatsovergang kunt maken (voorbeelden van een staatsovergang)
- Voordelen en nadelen van State Transition Technique
Wanneer staatsovergang gebruiken?
- Dit kan worden gebruikt wanneer een tester de applicatie test op een eindige set invoerwaarden.
- Wanneer de tester een reeks gebeurtenissen probeert te testen die zich voordoen in de te testen applicatie. Dat wil zeggen, hierdoor kan de tester het applicatiegedrag testen voor een reeks invoerwaarden.
- Wanneer het te testen systeem afhankelijk is van de gebeurtenissen / waarden in het verleden.
Wanneer moet u niet vertrouwen op een staatsovergang?
- Als er niet wordt getest op opeenvolgende invoercombinaties.
- Of het testen gedaan moet worden voor verschillende functionaliteiten zoals verkennend testen
Vier delen van toestandsovergangsschema
Er zijn 4 hoofdcomponenten van het State Transition Model, zoals hieronder
1) Geeft aan dat de software
2) Overgang van de ene staat naar de andere
3) Gebeurtenissen die een overgang veroorzaken, zoals het sluiten van een dossier of het opnemen van geld
4) Acties die het gevolg zijn van een transitie (een foutmelding of het geld krijgen.)
State Transition Diagram en State Transition Table
Er zijn twee manieren om de statusovergang, het toestandsovergangsdiagram en de toestandsovergangstabel weer te geven of te ontwerpen.
In het toestandsovergangsdiagram worden de toestanden weergegeven in omkaderde teksten, en de overgang wordt weergegeven door pijlen. Het wordt ook wel State Chart of Graph genoemd. Het is handig bij het identificeren van geldige overgangen.
In de toestandsovergangstabel worden alle toestanden aan de linkerkant weergegeven en worden de gebeurtenissen bovenaan beschreven. Elke cel in de tabel vertegenwoordigt de toestand van het systeem nadat de gebeurtenis heeft plaatsgevonden. Het wordt ook wel State Table genoemd. Het is handig bij het identificeren van ongeldige overgangen.
Hoe u een staatsovergang kunt maken (voorbeelden van een staatsovergang)
Voorbeeld 1:
Laten we eens kijken naar een ATM-systeemfunctie waarbij als de gebruiker driemaal het ongeldige wachtwoord invoert, het account wordt vergrendeld.
Als de gebruiker in dit systeem een geldig wachtwoord invoert bij een van de eerste drie pogingen, wordt de gebruiker met succes aangemeld. Als de gebruiker het ongeldige wachtwoord bij de eerste of tweede poging invoert, wordt de gebruiker gevraagd het wachtwoord opnieuw in te voeren. En tot slot, als de gebruiker voor de derde keer een onjuist wachtwoord invoert , wordt het account geblokkeerd.
Staat transitie diagram
In het diagram wordt elke keer dat de gebruiker de juiste pincode invoert, verplaatst naar de status Toegang verleend, en als hij het verkeerde wachtwoord invoert, wordt hij verplaatst naar de volgende poging en als hij hetzelfde doet voor de derde keer, wordt de status van de geblokkeerde account bereikt.
Statusovergangstabel
Juiste pincode |
Onjuiste pincode |
|
---|---|---|
S1) Start |
S5 |
S2 |
S2) 1 e poging |
S5 |
S3 |
S3) 2e poging |
S5 |
S4 |
S4) 3 rd poging |
S5 |
S6 |
S5) Toegang verleend |
|
|
S6) Account geblokkeerd |
|
|
Wanneer de gebruiker in de tabel de juiste pincode invoert, wordt de status overgeschakeld naar S5, dat is Toegang verleend. En als de gebruiker een verkeerd wachtwoord invoert, wordt hij naar de volgende staat verplaatst. Als hij dezelfde 3 e keer doet, zal hij de geblokkeerde status van het account bereiken.
Voorbeeld 2:
Bekijk deze video voordat je het onderstaande voorbeeld doorverwijst:
Klik hier als de video niet toegankelijk is
Overweeg in het aanmeldingsscherm voor vluchtreserveringen dat u de juiste agentnaam en wachtwoord moet invoeren om toegang te krijgen tot de vluchtreserveringsapplicatie.
Het geeft je toegang tot de applicatie met het juiste wachtwoord en inlognaam, maar wat als je het verkeerde wachtwoord hebt ingevoerd?
De applicatie staat drie pogingen toe, en als gebruikers bij de 4e poging het verkeerde wachtwoord invoeren, sluit het systeem de applicatie automatisch.
De toestandsgrafieken helpen u geldige overgangen te bepalen die moeten worden getest. In dit geval is testen met het juiste wachtwoord en met een onjuist wachtwoord verplicht. Voor de testscenario's, inloggen op 2 e , 3 e en 4 e poging kon iedereen worden getest.
U kunt State Table gebruiken om ongeldige systeemovergangen te bepalen.
In een toestandstabel worden alle geldige toestanden aan de linkerkant van de tabel weergegeven en de gebeurtenissen die ze veroorzaken bovenaan.
Elke cel vertegenwoordigt het toestandsysteem waarnaar de overeenkomstige gebeurtenis zich voordoet.
Als u bijvoorbeeld in de status S1 een correct wachtwoord invoert, wordt u naar de status S6 (toegang verleend) geleid. Stel dat als u bij de eerste poging het verkeerde wachtwoord hebt ingevoerd, u naar S3 of 2e poging wordt geleid.
Evenzo kunt u alle andere toestanden bepalen.
Met deze methode worden twee ongeldige staten gemarkeerd. Stel dat u zich in staat S6 bevindt, dat wil zeggen dat u al bent aangemeld bij de toepassing, en u opent een ander exemplaar van de vluchtreservering en voert geldige of ongeldige wachtwoorden in voor dezelfde agent. De systeemrespons voor een dergelijk scenario moet worden getest.
Voordelen en nadelen van State Transition Technique
Voordelen |
Nadelen |
---|---|
Deze testtechniek biedt een picturale of tabellarische weergave van het systeemgedrag, waardoor de tester het systeemgedrag effectief kan bestuderen en begrijpen. |
Het grootste nadeel van deze testtechniek is dat we niet elke keer op deze techniek kunnen vertrouwen. Als het systeem bijvoorbeeld geen eindig systeem is (niet in opeenvolgende volgorde), kan deze techniek niet worden gebruikt. |
Door deze test te gebruiken, kan de techniektester verifiëren dat aan alle voorwaarden is voldaan en dat de resultaten worden vastgelegd |
Een ander nadeel is dat je alle mogelijke toestanden van een systeem moet definiëren. Hoewel dit in orde is voor kleine systemen, valt het al snel uiteen in grotere systemen omdat er een exponentiële progressie is in het aantal toestanden. |
Overzicht:
- State Transition testing wordt gedefinieerd als de testtechniek waarbij veranderingen in inputcondities de statusveranderingen in de te testen applicatie veroorzaken.
- In Software Engineering is State Transition Testing Technique nuttig wanneer u verschillende systeemovergangen moet testen.
- Twee belangrijke manieren om een toestandsovergang weer te geven of te ontwerpen: toestandsovergangsdiagram en toestandsovergangstabel.
- In het toestandsovergangsdiagram worden de toestanden weergegeven in omkaderde teksten, en de overgang wordt weergegeven door pijlen.
- In de toestandsovergangstabel worden alle toestanden aan de linkerkant weergegeven en worden de gebeurtenissen bovenaan beschreven.
- Dit belangrijkste voordeel van deze testtechniek is dat het een picturale of tabellarische weergave van het systeemgedrag biedt, waardoor de tester het systeemgedrag efficiënt kan bestuderen en begrijpen.
- Het grootste nadeel van deze testtechniek is dat we niet elke keer op deze techniek kunnen vertrouwen.