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. |






