Testen van staatstransities – Diagram en techniek (voorbeeld)
Wat is staatstransitietesten?
Testen van staatstransities is een black box-testtechniek waarbij wijzigingen in invoercondities statuswijzigingen of uitvoerwijzigingen in de Application under Test (AUT) veroorzaken. State transition testing helpt bij het analyseren van het gedrag van een applicatie voor verschillende invoercondities. Testers kunnen positieve en negatieve invoertestwaarden leveren en het systeemgedrag registreren.
Het is het model waarop het systeem en de tests zijn gebaseerd. Elk systeem waarbij je voor dezelfde input een andere output krijgt, afhankelijk van wat er eerder is gebeurd, is een eindige toestandssysteem.
Testtechniek voor staatstransities is behulpzaam waar nodig verschillende systeemovergangen testen.
Wanneer staatstransitie 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 plaatsvinden in de te testen toepassing. Dit betekent dat de tester het applicatiegedrag kan testen voor een reeks invoerwaarden.
- Wanneer het te testen systeem afhankelijk is van de gebeurtenissen/waarden uit het verleden.
Wanneer moet u niet vertrouwen op staatstransitie?
- Wanneer het testen niet is uitgevoerd voor sequentiële invoercombinaties.
- Als het testen moet worden gedaan voor verschillende functionaliteiten, zoals verkennend testen
Vier delen van het staatstransitiediagram
Er zijn vier hoofdcomponenten van het staatstransitiemodel, zoals hieronder
1) Staten die de software zou kunnen krijgen
2) Overgang van de ene staat naar de andere
3) Evenementen die een overgang veroorzaken zoals het sluiten van een bestand of het opnemen van geld
4) Acties die het gevolg zijn van een transitie (een foutmelding of het krijgen van het geld.)
Staatstransitiediagram en staatstransitietabel
Er zijn twee manieren om de statusovergang weer te geven of te ontwerpen: het statustransitiediagram en de statustransitietabel.
In een state transition diagram worden de states weergegeven in boxed texts, en de transition wordt weergegeven door pijlen. Het wordt ook wel State Chart of Graph genoemd. Het is handig om geldige transitions te identificeren.
In de statusovergangstabel worden alle statussen aan de linkerkant vermeld en worden de gebeurtenissen bovenaan beschreven. Elke cel in de tabel vertegenwoordigt de status van het systeem nadat de gebeurtenis heeft plaatsgevonden. Het wordt ook wel Staatstabel genoemd. Het is nuttig bij het identificeren van ongeldige overgangen.
Hoe u een staatstransitie kunt maken (voorbeelden van een staatstransitie)
Voorbeeld 1:
Laten we eens kijken naar een ATM-systeemfunctie waarbij de account wordt vergrendeld als de gebruiker driemaal het ongeldige wachtwoord invoert.
Als de gebruiker in dit systeem bij een van de eerste drie pogingen een geldig wachtwoord invoert, wordt de gebruiker succesvol ingelogd. Als de gebruiker bij de eerste of tweede poging het ongeldige wachtwoord invoert, wordt de gebruiker gevraagd het wachtwoord opnieuw in te voeren. En tot slot, als de gebruiker een verkeerd wachtwoord invoert 3rd tijd wordt het account geblokkeerd.
Toestandsovergangsdiagram
In het diagram wordt de gebruiker telkens wanneer hij de juiste pincode invoert naar de status Toegang verleend verplaatst. Als hij het verkeerde wachtwoord invoert, wordt hij naar de volgende poging verplaatst en als hij hetzelfde doet voor de 3rd tijdstip waarop de geblokkeerde status van het account wordt bereikt.
Staatsovergangstabel
Correcte pincode | Onjuiste pincode | |
---|---|---|
S1) Begin | S5 | S2 |
S2) 1st poging | S5 | S3 |
S3) 2nd poging | S5 | S4 |
S4) 3rd poging | S5 | S6 |
S5) Toegang verleend | - | - |
S6) Account geblokkeerd | - | - |
Wanneer de gebruiker in de tabel de juiste pincode invoert, wordt de status overgezet naar S5, wat Toegang verleend is. En als de gebruiker een verkeerd wachtwoord invoert, wordt hij naar de volgende status verplaatst. Als hij hetzelfde doet 3rd keer zal hij de geblokkeerde status van het account bereiken.
Voorbeeld 2:
Bekijk deze State Transition Testing-video voordat u het onderstaande voorbeeld raadpleegt:
Klik hier als de video niet toegankelijk is
Houd er rekening mee dat u in het inlogscherm voor vluchtreserveringen de juiste agentnaam en wachtwoord moet invoeren om toegang te krijgen tot het vluchtreserveringsscherm aanvraag voor vluchtreservering.
Het geeft u toegang tot de applicatie met het juiste wachtwoord en de inlognaam, maar wat als u een verkeerd wachtwoord heeft ingevoerd.
De applicatie staat drie pogingen toe, en als gebruikers bij de vierde poging het verkeerde wachtwoord invoeren, sluit het systeem de applicatie automatisch.
Met de statusgrafieken kunt u geldige overgangen bepalen die u wilt testen. In dit geval is het testen met het juiste wachtwoord en met een onjuist wachtwoord verplicht. Voor de test scenario's, log in op 2nd, 3rd en 4th poging iedereen kan getest worden.
U kunt de statustabel gebruiken om ongeldige systeemovergangen te bepalen.
In een toestandstabel worden alle geldige toestanden aan de linkerkant van de tabel vermeld, en de gebeurtenissen die deze veroorzaken bovenaan.
Elke cel vertegenwoordigt de toestand waarnaar het systeem zal verhuizen wanneer de overeenkomstige gebeurtenis plaatsvindt.
Terwijl 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 de status S3 of 2e poging wordt gebracht.
Op dezelfde manier kunt u alle andere toestanden bepalen.
Met deze methode worden twee ongeldige toestanden gemarkeerd. Stel dat u zich in de status S6 bevindt, dat wil zeggen dat u al bent ingelogd bij de applicatie, en dat u een ander exemplaar van de vluchtreservering opent en geldige of ongeldige wachtwoorden voor dezelfde agent invoert. De systeemreactie op een dergelijk scenario moet worden getest.
Voor- en nadelen van staatstransitietechniek
Voordelen | Nadelen |
---|---|
Deze testtechniek biedt een grafische of tabelvormige weergave van het systeemgedrag, waardoor de tester het systeemgedrag effectief kan behandelen 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 sequentiële volgorde), kan deze techniek niet worden gebruikt. |
Door deze tests te gebruiken, kan de techniektester verifiëren dat aan alle voorwaarden wordt voldaan en dat de resultaten worden vastgelegd | Een ander nadeel is dat je alle mogelijke toestanden van een systeem moet definiëren. Hoewel dit prima is voor kleine systemen, valt het al snel uiteen in grotere systemen, omdat er een exponentiële progressie is in het aantal toestanden. |
Samenvatting
- State Transition-testen wordt gedefinieerd als de testtechniek waarbij veranderingen in invoeromstandigheden statusveranderingen in de geteste applicatie veroorzaken.
- In Software Engineering, State Transition Testing Technique is handig als u verschillende systeemovergangen moet testen.
- Twee belangrijke manieren om toestandsovergangen weer te geven of te ontwerpen: het toestandsovergangsdiagram en de toestandsovergangstabel.
- In een toestandsovergangsdiagram worden de toestanden weergegeven in omkaderde teksten en wordt de overgang weergegeven met pijlen.
- In de statusovergangstabel worden alle statussen aan de linkerkant vermeld en worden de gebeurtenissen bovenaan beschreven.
- Dit belangrijkste voordeel van deze testtechniek is dat deze een grafische of tabelvormige weergave van het systeemgedrag oplevert, waardoor de tester het systeemgedrag efficiënt kan behandelen en begrijpen.
- Het grootste nadeel van deze testtechniek is dat we niet elke keer op deze techniek kunnen vertrouwen.