Ce este testarea bazată pe model?

Ce este testarea bazată pe model?

Testarea bazată pe model este o tehnică de testare a software-ului în care comportamentul de rulare al software-ului testat este verificat în raport cu predicțiile făcute de un model. Un model este o descriere a comportamentului unui sistem. Comportamentul poate fi descris în termeni de secvențe de intrare, acțiuni, condiții, ieșire și flux de date de la intrare la ieșire. Ar trebui să fie practic de înțeles și poate fi reutilizabil; shareable trebuie să aibă o descriere precisă a sistemului testat.

Există numeroase modele disponibile și descrie diferite aspecte ale comportamentului sistemului. Exemple de model sunt:

  • Flux de date
  • Flux de control
  • Grafice de dependență
  • Tabele de decizie
  • Mașini de tranziție de stări

Testarea bazată pe model descrie modul în care un sistem se comportă ca răspuns la o acțiune (determinată de un model). Furnizați acțiune și vedeți dacă sistemul răspunde conform așteptărilor.

Este o metodă formală ușoară de a valida un sistem. Această testare poate fi aplicată atât la testarea hardware cât și la testarea software.

Exemplu de testare pe bază de model

Testare bazată pe model

Modelul de mai sus explică abordarea simplificată a scrierii poeziei în notepad și posibilele acțiuni legate de fiecare pas. Pentru fiecare acțiune (cum ar fi începerea, introducerea unei poezii, salvarea), Caz de testare poate fi generat, iar rezultatul poate fi verificat.

Tipuri de MBT

Există două tipuri de cadre de testare bazate pe modele -

  1. Offline / a priori: generarea suitelor de testare înainte de a le executa. O suită de teste nu este altceva decât o colecție de cazuri de testare.
  2. Online/on-the-fly: generare de suite de testare în timpul executării testului

Diferite modele în testare

Pentru a înțelege MBT-ul, este necesar să înțelegem câteva dintre modelele explicate mai jos. Să le parcurgem unul câte unul:

Mașini cu stare finită

Acest model îi ajută pe testeri să evalueze rezultatul în funcție de intrarea selectată. Diverse combinații ale intrărilor pot duce la o stare corespunzătoare a sistemului.

Sistemul va avea o stare specifică și o stare curentă, care este guvernată de un set de intrări date de testeri.

Luați în considerare exemplul-

Există un sistem care permite angajaților să se autentifice în aplicație. Acum, starea actuală a angajatului este „În afara” și a devenit „În” odată ce acesta se conectează în sistem. În starea „în”, un angajat poate vizualiza, imprima și scana documente în sistem.

Mașini cu stare finită

Diagrame de stat

Este o extensie a mașinii cu stări finite și poate fi utilizată pentru sisteme complexe și în timp real. Diagramele de stat sunt folosite pentru a descrie diferite comportamente ale sistemului. Are un număr definit de state. Comportamentul sistemului este analizat și reprezentat sub formă de evenimente pentru fiecare stare.

De exemplu -

Defectele sunt semnalate în instrumentul de gestionare a defectelor cu statutul Nou. Odată ce este remediat de dezvoltatori, trebuie să fie schimbat în starea Fix. Dacă un defect nu este remediat, schimbați starea în Re-deschidere. Diagramele de stat ar trebui să fie concepute în așa fel încât să solicite un eveniment pentru fiecare stat.

Diagrame de stat

Limbajul de modelare unificat (UML)

Limbajul de modelare unificat (UML) este un limbaj de modelare standardizat de uz general. UML include un set de tehnici de notare grafică pentru a crea modele vizuale care pot descrie comportamentul foarte complicat al sistemului.

UML are notații precum:

  • Activitati
  • Actori
  • Procesul de afaceri
  • Componente
  • Limbaj de programare

Limbajul de modelare unificat

Provocările testării bazate pe modele

Implementarea MBT în fiecare organizație necesită, evident, o mare investiție și efort. Următoarele sunt dezavantajele MBT în Inginerie Software.

  • Abilități necesare pentru testeri
  • Timpul curbei de învățare va fi mai mare
  • Este dificil de înțeles modelul în sine

Avantajele testării modelelor

Următoarele sunt beneficiile MBT:

  • Caz de testare/întreținere ușoară
  • Reducerea costurilor
  • Acoperire îmbunătățită a testului
  • Poate rula diferite teste pe un număr de mașini
  • Detectarea precoce a defectelor
  • Creșterea numărului de defecte
  • Economii de timp
  • Satisfacția la locul de muncă îmbunătățită a testatorului

Concluzie

Testerii construiesc oricum modele mentale în timpul testării lor. Acele modele mentale pot fi transformate în modele pe hârtie. Acest lucru îi ajută pe testeri să obțină lizibilitate și reutilizare.

Testarea bazată pe model este o nouă abordare testare software. Evoluția testării software este prezentată mai jos -

Evoluția testării software-ului