Što je testiranje temeljeno na modelu?

Što je testiranje temeljeno na modelu?

Testiranje temeljeno na modelu je tehnika testiranja softvera pri kojoj se ponašanje softvera koji se testira provjerava u odnosu na predviđanja modela. Model je opis ponašanja sustava. Ponašanje se može opisati u terminima ulaznih sekvenci, radnji, uvjeta, izlaza i protoka podataka od ulaza do izlaza. Trebao bi biti praktički razumljiv i može se ponovno koristiti; dijeljenje mora imati precizan opis sustava koji se testira.

Dostupni su brojni modeli koji opisuju različite aspekte ponašanja sustava. Primjeri modela su:

  • Protok podataka
  • Kontrolni tijek
  • Grafovi ovisnosti
  • Tablice odlučivanja
  • Strojevi za prijelaz stanja

Testiranje temeljeno na modelu opisuje kako se sustav ponaša kao odgovor na radnju (određenu modelom). Nabavite radnju i provjerite reagira li sustav u skladu s očekivanjima.

To je lagana formalna metoda za provjeru valjanosti sustava. Ovo testiranje može se primijeniti i na hardversko i na softversko testiranje.

Primjer testiranja temeljen na modelu

Testiranje temeljeno na modelu

Gornji model objašnjava pojednostavljeni pristup pisanja poezije u bilježnicu i moguće radnje povezane sa svakim korakom. Za svaku radnju (poput pokretanja, unosa pjesme, spremanja), Testni slučaj može se generirati, a izlaz se može provjeriti.

Vrste MBT

Postoje dvije vrste okvira za testiranje temeljenih na modelu-

  1. Offline / a priori: Generiranje paketa testova prije izvođenja. Testni paket nije ništa drugo nego zbirka testnih slučajeva.
  2. Online / on-the-fly: Generiranje paketa testova tijekom izvođenja testa

Različiti modeli u testiranju

Kako bismo razumjeli MBT, potrebno je razumjeti neke od modela objašnjenih u nastavku. Prođimo ih jednu po jednu:

Konačni državni strojevi

Ovaj model pomaže ispitivačima da procijene rezultat ovisno o odabranom ulazu. Različite kombinacije ulaza mogu rezultirati odgovarajućim stanjem sustava.

Sustav će imati određeno stanje i trenutno stanje, kojim upravlja skup ulaza koje daju ispitivači.

Razmotrite primjer-

Postoji sustav koji zaposlenicima omogućuje prijavu u aplikaciju. Sada je trenutačno stanje zaposlenika "Out", a postalo je "In" nakon što se prijavi u sustav. U stanju "u" zaposlenik može pregledavati, ispisivati ​​i skenirati dokumente u sustavu.

Konačni državni strojevi

Državne karte

To je proširenje konačnog stroja stanja i može se koristiti za složene sustave u stvarnom vremenu. Grafikoni stanja koriste se za opisivanje različitih ponašanja sustava. Ima određen broj stanja. Ponašanje sustava se analizira i prikazuje u obliku događaja za svako stanje.

Na primjer -

Greške se prikazuju u alatu za upravljanje greškama sa statusom Novo. Nakon što ga programeri poprave, mora se promijeniti u status Popravljeno. Ako kvar nije popravljen, promijenite status u Ponovno otvori. Državne karte trebaju biti dizajnirane na takav način da pozivaju na događaj za svaku državu.

Državne karte

Unificirani modelni jezik (UML)

Jedinstveni jezik za modeliranje (UML) je standardizirani jezik za modeliranje opće namjene. UML uključuje skup tehnika grafičke notacije za stvaranje vizualnih modela koji mogu opisati vrlo komplicirano ponašanje sustava.

UML ima oznake kao što su:

  • Aktivnosti
  • Glumci
  • Poslovni proces
  • Komponente
  • Programski jezik

Jedinstveni jezik za modeliranje

Izazovi testiranja temeljenog na modelu

Implementacija MBT-a u svakoj organizaciji očito zahtijeva velika ulaganja i trud. Slijede nedostaci MBT-a u Programsko inženjerstvo.

  • Potrebne vještine koje su potrebne za testere
  • Vrijeme krivulje učenja bit će dulje
  • Teško je razumjeti sam model

Prednosti testiranja modela

Sljedeće su prednosti MBT-a:

  • Lako održavanje testnog slučaja/kompleta
  • Smanjenje troškova
  • Poboljšana pokrivenost testom
  • Može izvoditi različite testove na n broju strojeva
  • Rano otkrivanje kvara
  • Povećanje broja kvarova
  • Ušteda vremena
  • Poboljšano zadovoljstvo poslom testera

Zaključak

Testeri ionako konstruiraju mentalne modele tijekom testiranja. Ti se mentalni modeli mogu transformirati u modele na papiru. To pomaže testerima da postignu čitljivost i ponovnu upotrebu.

Testiranje temeljeno na modelu novi je pristup testiranje softvera. Evolucija testiranja softvera prikazana je u nastavku –

Evolucija testiranja softvera