Testarea tranziției de stat – diagramă și tehnică (exemplu)

Ce este testarea tranziției de stat?

Testarea tranziției de stat este o tehnică de testare cutie neagră în care modificările făcute în condițiile de intrare provoacă schimbări de stare sau modificări de ieșire în aplicația aflată în testare (AUT). Testarea de tranziție a stării ajută la analizarea comportamentului unei aplicații pentru diferite condiții de intrare. Testerii pot furniza valori de intrare pozitive și negative ș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 cu stări finite.

Tehnica de testare a tranziției de stat este de ajutor acolo unde trebuie testați diferite tranziții ale sistemului.

Când să folosiți Tranziția de stat?

  • Acesta poate fi folosit 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 au loc în aplicația testată. Adică, acest lucru va permite testerului să testeze comportamentul aplicației pentru o secvență de valori de intrare.
  • 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 este efectuată pentru combinațiile de intrări secvențiale.
  • Dacă testarea trebuie făcută pentru diferite funcționalități, cum ar fi testarea exploratorie

Diagrama de tranziție a patru părți ale stării

Există 4 componente principale ale modelului de tranziție de stat, după cum urmează

1) Statele pe care software-ul ar putea primi

Statele

2) Tranziție de la o stare la alta

Tranziție

3) Evenimente care generează o tranziție precum închiderea unui dosar sau retragerea banilor

Evenimente

4) Acțiuni care rezultă dintr-o tranziție (un mesaj de eroare sau primirea banilor.)

Acţiuni

Diagrama de tranziție a stărilor și tabelul de tranziție a stărilor

Există două moduri principale de a reprezenta sau proiecta tranziția stării, diagrama de tranziție a stărilor și tabelul de tranziție a stărilor.

În diagrama de tranziție a stărilor stările sunt afișate în casete, 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 State Table. Este util în identificarea tranzițiilor nevalide.

Cum se face o tranziție de stat (exemple de tranziție de stat)

Exemplu 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 autentificat cu succes. Dacă utilizatorul introduce parola invalidă în prima sau a doua încercare, utilizatorului i se va cere să introducă din nou parola. Și, în sfârșit, dacă utilizatorul introduce o parolă incorectă 3rd timp, contul va fi blocat.

Diagrama de tranziție a stărilor

Diagrama de tranziție a stărilor

În diagramă ori de câte ori utilizatorul introduce PIN-ul corect, acesta este mutat în starea Acces acordat, iar dacă introduce parola greșită este mutat la următoarea încercare și dacă face același lucru pentru cele 3rd momentul în care este atins starea de blocare a contului.

Tabel de tranziție de stat

PIN corect Cod PIN incorect
S1) Începeți S5 S2
S2) 1st încercare S5 S3
S3) 2nd încercare S5 S4
S4) 3rd încercare S5 S6
S5) Acces acordat - -
S6) Cont blocat - -

În tabel, când utilizatorul introduce PIN-ul corect, starea este trecută la S5, care este Acces acordat. Și dacă utilizatorul introduce o parolă greșită, acesta este mutat în următoarea stare. Dacă face la fel 3rd timp, el va ajunge în starea de blocare a contului.

Exemplu 2:

Verificați acest videoclip de testare a tranziției de stat, înainte de a consulta exemplul de mai jos:

Clic aici dacă videoclipul nu este accesibil

În ecranul de autentificare pentru rezervarea zborului, luați în considerare că trebuie să introduceți numele agentului și parola corecte pentru a accesa cerere de rezervare a zborului.

Graficul de tranziție de stat
Graficul de tranziție de stat

Vă oferă acces la aplicație cu parola și numele de conectare corecte, dar dacă ați introdus parola greșită.

Aplicația permite trei încercări, iar dacă utilizatorii introduc parola greșită la a 4-a încercare, sistemul închide automat aplicația.

Graficele de stat vă ajută să determinați tranzițiile valide care trebuie testate. În acest caz, testarea cu parola corectă și cu o parolă incorectă este obligatorie. Pentru scenarii de testare, conectați-vă pe 2nd, 3rd și 4th încercați oricine poate fi testat.

Puteți utiliza tabelul de stări pentru a determina tranzițiile nevalide ale sistemului.

Tabel de tranziție de stat

Î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ă starea în care se va muta sistemul atunci când are loc evenimentul corespunzător.

De exemplu, în timp ce în starea S1 introduceți o parolă corectă, sunteți dus în starea S6 (Acces acordat). Să presupunem că dacă ați introdus parola greșită la prima încercare, veți fi dus la starea S3 sau a doua încercare.

La fel, puteți determina toate celelalte stări.

Două stări invalide sunt evidențiate folosind această metodă. Să presupunem că vă aflaț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 grafică sau tabelară a comportamentului sistemului, ceea ce va face testatorul să acopere și să înțeleagă comportamentul sistemului în mod eficient. Principalul dezavantaj al acestei tehnici de testare este că nu ne putem baza pe 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ă.
Folosind această testare, testerul de 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 stări.

Rezumat

  • Testarea de tranziție a stării este definită ca tehnica de testare în care modificările condițiilor de intrare provoacă schimbări de stare în aplicația testată.
  • In Inginerie Software, Tehnica de testare a tranziției de stat este utilă acolo unde trebuie să testați diferite tranziții ale sistemului.
  • Două moduri principale de a reprezenta sau proiecta tranziția stării, diagrama de tranziție a stării și tabelul de tranziție a stării.
  • În diagrama de tranziție a stărilor stările sunt afișate în casete, 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 principal avantaj al acestei tehnici de testare este că va oferi o reprezentare grafică sau tabelară a comportamentului sistemului, ceea ce va face testatorul să acopere și să înțeleagă eficient comportamentul sistemului.
  • Principalul dezavantaj al acestei tehnici de testare este că nu ne putem baza pe această tehnică de fiecare dată.