Ce este testarea tranziției de stat?
Testarea tranziției de stare este o tehnică de testare a cutiei negre în care modificările făcute în condițiile de intrare provoacă modificări de stare sau modificări de ieșire în aplicația sub test (AUT). Testarea tranziției de stat ajută la analiza comportamentului unei aplicații pentru diferite condiții de intrare. Testerii pot furniza valori pozitive și negative de testare de intrare și pot înregistra comportamentul sistemului.
Este modelul pe care se bazează sistemul și testele. Orice sistem în care obțineți o ieșire diferită pentru aceeași intrare, în funcție de ceea ce s-a întâmplat înainte, este un sistem de stare finită.
Tehnica de testare a tranziției de stat este utilă atunci când trebuie să testați diferite tranziții de sistem.
În acest tutorial, veți învăța-
- Ce este tranziția de stat în testare?
- Când se folosește tranziția de stat?
- Când să nu te bazezi pe tranziția de stat?
- Patru părți ale diagramei de tranziție de stat
- Diagrama tranziției de stat și tabelul tranziției de stat
- Cum se face o tranziție de stat (exemple de tranziție de stat)
- Avantajele și dezavantajele tehnicii de tranziție de stat
Când se folosește tranziția de stat?
- Aceasta poate fi utilizată atunci când un tester testează aplicația pentru un set finit de valori de intrare.
- Când testerul încearcă să testeze secvența de evenimente care apar în aplicația testată. Adică, acest lucru va permite testerului să testeze comportamentul aplicației pentru o succesiune de valori de intrare.
- Atunci când sistemul testat are o dependență de evenimentele / valorile din trecut.
Când să nu te bazezi pe tranziția de stat?
- Când testarea nu se face pentru combinații secvențiale de intrare.
- Dacă testarea se face pentru diferite funcționalități, cum ar fi testarea exploratorie
Patru părți ale diagramei de tranziție de stat
Există 4 componente principale ale modelului de tranziție de stat, după cum urmează
1) afirmă că software-ul ar putea primi
2) Tranziția dintr-un stat în altul
3) Evenimente care generează o tranziție, cum ar fi închiderea unui fișier sau retragerea de bani
4) Acțiuni care rezultă dintr-o tranziție (un mesaj de eroare sau primirea banilor.)
Diagrama tranziției de stat și tabelul tranziției de stat
Există două moduri principale de a reprezenta sau proiecta tranziția de stare, diagrama de tranziție de stat și tabelul de tranziție de stat.
În diagrama de tranziție a stărilor, stările sunt prezentate în texte în cutie, iar tranziția este reprezentată de săgeți. Se mai numește și diagramă de stat sau grafic. Este util în identificarea tranzițiilor valide.
În tabelul de tranziție a stărilor, toate stările sunt listate în partea stângă, iar evenimentele sunt descrise în partea de sus. Fiecare celulă din tabel reprezintă starea sistemului după ce a avut loc evenimentul. Se mai numește și tabel de stat. Este util în identificarea tranzițiilor nevalide.
Cum se face o tranziție de stat (exemple de tranziție de stat)
Exemplul 1:
Să luăm în considerare o funcție de sistem ATM în care, dacă utilizatorul introduce parola nevalidă de trei ori, contul va fi blocat.
În acest sistem, dacă utilizatorul introduce o parolă validă în oricare dintre primele trei încercări, utilizatorul va fi logat cu succes. Dacă utilizatorul introduce parola nevalidă în prima sau a doua încercare, utilizatorul va fi rugat să reintroducă parola. Și , în sfârșit, în cazul în care utilizatorul introduce parola incorecte 3 rd timp, contul va fi blocat.
Diagrama de tranziție de stat
În diagrama de fiecare dată când utilizatorul introduce PIN - ul corect că este mutat la stat acordat acces, și dacă el intră parola greșită el este mutat la următoarea încercare și dacă el face același lucru pentru 3 rd momentul în care contul de stat blocat este atins.
Tabel de tranziție de stat
Codul PIN corect |
Cod PIN incorect |
|
---|---|---|
S1) Începeți |
S5 |
S2 |
S2) Prima încercare |
S5 |
S3 |
S3) A doua încercare |
S5 |
S4 |
S4) A 3 -a încercare |
S5 |
S6 |
S5) Acces acordat |
- |
- |
S6) Cont blocat |
- |
- |
În tabel, când utilizatorul introduce codul PIN corect, starea este trecută la S5, care este accesul acordat. Și dacă utilizatorul introduce o parolă greșită, este mutat în starea următoare. Dacă el face același 3 - lea timp, el va ajunge la un cont de stat blocat.
Exemplul 2:
Verificați acest videoclip înainte de a consulta exemplul de mai jos:
Faceți clic aici dacă videoclipul nu este accesibil
În ecranul de conectare a rezervării de zbor, considerați că trebuie să introduceți numele agentului și parola corecte pentru a accesa aplicația de rezervare a zborului.
Vă oferă acces la aplicație cu parola corectă și numele de conectare, dar dacă ați introdus o parolă greșită.
Aplicația permite trei încercări și, dacă utilizatorii introduc o parolă greșită la a 4-a încercare, sistemul închide automat aplicația.
Graficele de stat vă ajută să determinați tranzițiile valabile care trebuie testate. În acest caz, testarea cu parola corectă și cu o parolă incorectă este obligatorie. Pentru scenariile de test, conectați-vă la a 2 -a , a 3 -a și a 4- a încercare, oricine ar putea fi testat.
Puteți utiliza State Table pentru a determina tranzițiile de sistem nevalide.
Într-un tabel de stări, toate stările valide sunt listate în partea stângă a tabelului, iar evenimentele care le provoacă în partea de sus.
Fiecare celulă reprezintă sistemul de stare în care se va muta când apare evenimentul corespunzător.
De exemplu, în timp ce în starea S1 introduceți o parolă corectă, sunteți condus la starea S6 (Acces acordat). Să presupunem că, dacă ați introdus o parolă greșită la prima încercare, veți fi condus la starea S3 sau a 2-a Încercați.
La fel, puteți determina toate celelalte stări.
Două stări nevalide sunt evidențiate folosind această metodă. Să presupunem că sunteți în starea S6, adică sunteți deja conectat la aplicație și deschideți o altă instanță de rezervare a zborului și introduceți parole valide sau nevalide pentru același agent. Răspunsul sistemului pentru un astfel de scenariu trebuie testat.
Avantajele și dezavantajele tehnicii de tranziție de stat
Avantaje |
Dezavantaje |
---|---|
Această tehnică de testare va oferi o reprezentare picturală sau tabelară a comportamentului sistemului, care îl va face pe tester să acopere și să înțeleagă în mod eficient comportamentul sistemului. |
Principalul dezavantaj al acestei tehnici de testare este că nu ne putem baza în această tehnică de fiecare dată. De exemplu, dacă sistemul nu este un sistem finit (nu în ordine secvențială), această tehnică nu poate fi utilizată. |
Prin utilizarea acestei testări, testerul tehnic poate verifica dacă toate condițiile sunt acoperite și rezultatele sunt capturate |
Un alt dezavantaj este că trebuie să definiți toate stările posibile ale unui sistem. Deși acest lucru este în regulă pentru sistemele mici, în curând se descompune în sisteme mai mari, deoarece există o progresie exponențială a numărului de state. |
Rezumat:
- Testarea tranziției de stat este definită ca tehnica de testare în care modificările condițiilor de intrare cauzează modificări de stare în aplicația sub test.
- În Ingineria software-ului, tehnica de testare a tranziției de stat este utilă atunci când trebuie să testați diferite tranziții de sistem.
- Două modalități principale de a reprezenta sau proiecta tranziția de stat, diagrama de tranziție de stat și tabelul de tranziție de stat.
- În diagrama de tranziție a stărilor, stările sunt prezentate în texte în cutie, iar tranziția este reprezentată de săgeți.
- În tabelul de tranziție a stărilor, toate stările sunt listate în partea stângă, iar evenimentele sunt descrise în partea de sus.
- Acest avantaj principal al acestei tehnici de testare este că va oferi o reprezentare picturală sau tabelară a comportamentului sistemului, care va face testerul să acopere și să înțeleagă comportamentul sistemului în mod eficient.
- Principalul dezavantaj al acestei tehnici de testare este că nu ne putem baza în această tehnică de fiecare dată.