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