Testiranje prijelaza stanja s primjerom
⚡ Pametni sažetak
Testiranje prijelaza stanja je tehnika crne kutije koja provjerava kako se aplikacija kreće između stanja kako se mijenjaju ulazni uvjeti. Ovaj vodič objašnjava četiri dijela dijagrama, razliku između dijagrama stanja i tablica te primjere rada s ATM-om i prijavom za testere.

Što je testiranje prijelaza stanja?
Testiranje prijelaza stanja je tehnika testiranja crne kutije u kojoj promjene ulaznih uvjeta uzrokuju promjene stanja ili promjene izlaza u aplikaciji koja se testira (AUT). Pomaže u analizi ponašanja aplikacije za različite ulazne uvjete, a testeri mogu dati pozitivne i negativne ulazne vrijednosti dok bilježe ponašanje sustava.
Temelji se na modelu na kojem su izgrađeni sustav i testovi. Svaki sustav u kojem dobivate različit izlaz za isti ulaz - ovisno o tome što se dogodilo prije - je sustav s konačnim stanjima. Tehnika testiranja prijelaza stanja korisna je tamo gdje je potrebno testirati različite prijelaze sustava.
Kada koristiti testiranje tranzicije stanja
- Kada tester testira aplikaciju za konačan skup ulaznih vrijednosti.
- Kada tester testira niz događaja koji se događaju u AUT-u, omogućuje se provjera ponašanja aplikacije za niz ulaznih vrijednosti.
- Kada testirani sustav ovisi o događajima ili vrijednostima iz prošlosti.
Kada se ne treba oslanjati na testiranje tranzicije države
- Kada se testiranje ne provodi za sekvencijalne ulazne kombinacije.
- Kada testiranje cilja različite funkcionalnosti, kao što je istraživačko testiranje.
Četiri dijela dijagrama prijelaza stanja
Postoje četiri glavne komponente modela tranzicije stanja, opisane u nastavku.
1) Države do kojih bi softver mogao doći.
2) Prijelaz iz jedne države u drugu.
3) Događaji koje pokreću prijelaz, poput zatvaranja datoteke ili podizanja novca.
4) Radnje koje su rezultat prijelaza, kao što je poruka o pogrešci ili primanje novca.
Dijagram prijelaza stanja u odnosu na tablicu prijelaza stanja
Postoje dva glavna načina za predstavljanje ili dizajniranje prijelaza stanja: dijagram prijelaza stanja i tablica prijelaza stanja.
| Aspekt | Dijagram prijelaza stanja | Tablica prijelaza stanja |
|---|---|---|
| Također se zove | Grafikon stanja / dijagram | Državni stol |
| Prikaz | Boxes za stanja, strelice za prijelaze | Mreža stanja (retci) i događaja (stupci) |
| Najbolje za prepoznavanje | Važeći prijelazi | Nevažeći prijelazi |
| Svaka ćelija prikazuje | - | Stanje postignuto nakon što se događaj dogodio |
Kako izvršiti tranziciju stanja (primjeri)
Primjer 1: Blokiranje PIN-a na bankomatu
Razmotrimo funkciju bankomatskog sustava gdje se, ako korisnik tri puta unese nevažeću lozinku, račun zaključava.
U ovom sustavu, ako korisnik unese valjanu lozinku u bilo kojem od prva tri pokušaja, uspješno se prijavljuje. Ako korisnik unese nevažeću lozinku u prvom ili drugom pokušaju, traži se da je ponovno unese. Konačno, ako korisnik treći put unese netočnu lozinku, račun se blokira.
Dijagram prijelaza stanja (Primjer 1)
Na dijagramu, kad god korisnik unese ispravan PIN, prelazi u stanje Pristup odobren. Ako unese pogrešnu lozinku, prelazi na sljedeći pokušaj, a ako to učini treći put, dostiže stanje Račun blokiran.
Tablica prijelaza stanja (Primjer 1)
| Država | Ispravan PIN | Neispravan PIN |
|---|---|---|
| S1) Početak | S5 | S2 |
| S2) 1. pokušaj | S5 | S3 |
| S3) 2. pokušaj | S5 | S4 |
| S4) 3. pokušaj | S5 | S6 |
| S5) Pristup odobren | - | - |
| S6) Račun blokiran | - | - |
U tablici, kada korisnik unese ispravan PIN, stanje prelazi u S5 (Pristup odobren). Ako korisnik unese pogrešnu lozinku, prelazi u sljedeće stanje, a nakon trećeg pogrešnog pokušaja dolazi do stanja Račun blokiran.
Primjer 2: Prijava za rezervaciju leta
Na ekranu za prijavu na rezervaciju leta morate unijeti ispravno ime agenta i lozinku za pristup aplikacija za rezervaciju leta.
Graf prijelaza stanja
Aplikacija dopušta tri pokušaja; ako korisnik u četvrtom pokušaju unese pogrešnu lozinku, sustav automatski zatvara aplikaciju.
Grafikon stanja pomaže vam odrediti valjane prijelaze za testiranje. Testiranje s ispravnom i netočnom lozinkom je obavezno, a za testni scenariji, prijava u 2., 3. ili 4. pokušaju mogla bi se testirati. Tablicu stanja možete koristiti za određivanje nevažećih prijelaza sustava.
U Tablici stanja, sva valjana stanja navedena su s lijeve strane, a događaji koji ih uzrokuju na vrhu. Svaka ćelija prikazuje stanje u koje sustav prelazi kada se događaj dogodi. Na primjer, u stanju S1, ispravna lozinka vodi vas u stanje S6 (Pristup odobren); pogrešna lozinka u prvom pokušaju vodi vas u stanje S3 (2. pokušaj). Slično tome, možete odrediti sva ostala stanja.
Ovom metodom se ističu dva nevažeća stanja. Pretpostavimo da ste u stanju S6 (već prijavljeni) i otvorite drugu instancu rezervacije leta te unesete lozinke za istog agenta. Potrebno je testirati odgovor sustava za takav scenarij.
Prednosti i nedostaci tehnike prijelaza stanja
| Prednosti | Nedostaci |
|---|---|
| Pruža slikovni ili tablični prikaz ponašanja sustava, helpping tester pokriva i učinkovito razumije sustav. | Ne može se na njega uvijek osloniti - na primjer, ne odgovara sustavima koji nisu konačni ili sekvencijalni. |
| Omogućuje testeru da provjeri jesu li svi uvjeti ispunjeni i jesu li rezultati zabilježeni. | Zahtijeva definiranje svih mogućih stanja. Ovo funkcionira za male sustave, ali ne funkcionira za veće zbog eksponencijalnog rasta broja stanja. |








