Aplicarea metodelor de testare

tabelul de tranziție de stat

Stat tabele de tranziție și util pentru analiști de afaceri și proiectanții de sisteme, deoarece permite să se ia în considerare o combinație de condiții, evenimente și condiții care pot fi omise.

Pentru a construi un stat tabele de tranziție va trebui mai întâi să enumere toate statele din diagrama de tranziție a stării (vezi. Fig. 1) din exemplul discutat în articolul precedent.

Aplicarea metodelor de testare

Fig. 1. Diagrama de tranziție de stat pentru aplicații de e-commerce

Apoi, aveți nevoie pentru a lista toate combinațiile de evenimente / condițiile din diagrama de tranziție de stare. Următorul este un tabel în care fiecare rând corespunde fiecărei combinații de stări și evenimente / condiții. Fiecare linie are patru domenii:

  • Starea actuală;
  • Eveniment / condiție;
  • acțiune;
  • Nou de stat.

Pentru rândurile în cazul în care o diagramă de tranziție de stări și determină acțiunea noului stat pentru modele prestabilite de stat curente și evenimente / condiții pot fi completate cu cele două domenii (acțiunea și noul stat) din diagrama de tranziție. Cu toate acestea, pentru rândurile rămase în tabel nu sunt definite.

Acum puteți merge la analiștii de afaceri, proiectanții de sisteme și alți participanți și întreabă: „Ei bine, ce ar trebui să se întâmple în fiecare dintre aceste situații?“

Și cel mai probabil veți auzi ca răspuns: „Oh, o astfel de situație nu se va întâmpla!“. Dar, ca un analist de test, știi ce înseamnă asta. Și acum sarcina dumneavoastră este de a arăta modul în care acest lucru se poate întâmpla.

Figura 2 prezintă o parte a tabelului, care poate fi creat, de exemplu, cererea de e-commerce, care a fost discutat în al patrulea articol din această serie. Există 6 stări:

De asemenea, există 11 condiții / evenimente:

  • Urmați link-ul;
  • Adauga in cos de cumparaturi;
  • continua;
  • pentru a scrie;
  • Conectare [nevalid];
  • Autentificare [TRUE];
  • Plata [succes];
  • Plata [nu este adevărat];
  • Anulare;
  • Continuă cumpărături;
  • Du-te departe la un alt site.


Fig. 2. Exemplu de masă tranziție de stare

Acest lucru înseamnă că masa completă a tranzițiilor de stat vor avea 66 de linii - câte una pentru fiecare pereche posibilă a statelor individuale și combinații individuale de evenimente / condiții.

Pentru setul de test care acoperă masa de tranziție de stare, este posibil să se urmeze procedura de mai jos. Trebuie remarcat faptul că noi construim o suita de teste existente, care se bazează pe diagrama de tranziție de stat, pentru a realiza o acoperire de state / tranziții sau „acoperind 0 tranziții.“

  1. Vom începe cu un set de teste (inclusiv stările inițiale și finale ale normelor) derivate din diagrama de tranziție de stare oferind condiții de acoperire / tranziții.
  2. Vom construi un tabel de tranziție de stat și asigurați-vă că testele acoperă toate „anumite“ (șirurile definite de acțiune și noi de stat). În cazul în care nu acoperă, fie a generat în mod incorect un set existent de teste sau tabelul de tranziție de stare construite incorect sau o diagramă de tranziție a stării este incorectă. Nu puteți continua până atunci, până când se găsește problema, și nu este rezolvată, inclusiv crearea unui tabel de tranziție de stat sau de un set de teste din nou, dacă este necesar.
  3. Am ales teste care să acopere condiții pentru care masa are una sau mai multe linii de „incertitudine“. Noi modifica testul și să încerce să creeze o combinație de evenimente / condiții pentru „incertitudine“, a liniei. Rețineți că acțiunea în acest caz, nu este definit.
  4. Așa cum sunt marcate modificari de test ca un rând acoperit. Cel mai simplu mod de a face acest lucru este de a lua o versiune tipărită a tabelului și, folosind un creion sau un marker pentru a marca fiecare rând ca acoperire.
  5. Repetați pașii 3 și 4 până când toate rândurile au fost acoperite.

Această procedură creează un cazuri de testare logice.

Nu încerca să acopere „incertitudine“ combinație de evenimente / condiții pentru mai mult de o condiție în orice test, pentru că cu siguranță nu știu dacă va exista un sistem adecvat pentru testare după aceea!

Cel mai bun caz, combinația „nesigură“ de evenimente / condiții vor fi ignorate sau refuzate, cu un mesaj de eroare semnificativă, iar apoi procesul va continua în mod normal.

Se poate observa, de asemenea, că, în fiecare test a inclus numai o combinație „vagă“ de evenimente / condiții. De ce? Acest tip de norme echivalente cu partiție, sub care este imposibil de a crea un script „invalid“ de testare, care includ mai mult de un test de „incorectă“ acest lucru. În acest caz, fiecare rând reprezintă o încercare de date „invalid“. Dacă încercați să acopere două linii de un singur test, nu putem fi siguri că sistemul va fi potrivit pentru testarea după primul test „invalid“ acest lucru.

Am etichetat acțiunea ca „nedeterminat“. Care este comportamentul sistemului în aceste condiții pot fi considerate ca fiind un ideal? Este mai bine dacă evenimentele „incertitudine“ / condiții sunt ignorate, sau - chiar mai bine - să fie respins cu un mesaj de eroare semnificativă. După aceea, sistemul ar trebui să funcționeze în mod normal. În absența unei decizii a unui analist de afaceri, cerințele caietului de sarcini, designer de sistem sau alt specialist influent, am dreptul de a lua o poziție ca orice alt rezultat este considerat a fi un defect, inclusiv mesaje de eroare ciudate, cum ar fi „Ce sa întâmplat - nu se poate întâmpla “. Aceasta nu este o poveste fictivă. Pe unul dintre cursurile fetei a spus că a văzut cu ochii lui a fost un mesaj ca răspuns la încercarea de a introduce date incorecte.

Andrew Konushin inginer de test de conducere