Wat is Model Based Testing (MBT)?

Voordat we ingaan op model based testing (MBT), gaan we eerst in op wat een model is.

Wat is een model?

Een model beschrijft het gedrag van een systeem. Het gedrag kan worden beschreven in termen van invoer sequenties, acties, voorwaarden, uitvoer en de dataflow van invoer tot uitvoer.

Er zijn talrijke modellen beschikbaar en deze beschrijven uiteenlopende aspecten van het systeemgedrag. Voorbeelden zijn:

  • Dataflow
  • Procesflow
  • Graaf
  • State transition diagrammen
  • UML

Wat is model based testen?

Voor model based testen zijn verschillende definities te vinden met daarin een (1) cruciaal verschil:

Definitie 1
“Model based testing (MBT) is het automatisch genereren van testgevallen, met behulp van abstracte modellen gebaseerd op de requirements en het gedrag. Hoewel deze manier van testen een extra inspanning vraagt bij de start ivm het opstellen van een model, biedt het aanzienlijke voordelen ten opzichte van andere methoden.”

Definitie 2
“Model based testing is het opstellen van testgevallen op basis van modellen gebaseerd op de requirements en het gedrag. Waarna deze testgevallen handmatig of automatisch uitgevoerd kunnen worden.”

Het belangrijkste verschil tussen deze 2 definities is dat bij definitie 2 er niet van wordt uitgegaan dat de testgevallen altijd automatisch worden afgeleid uit de opgestelde abstracte modellen.

Wanneer je uitgaat van definitie 2, hanteren al heel veel testers “ongemerkt” MBT. Veel testers maken vaak flows of grafen om de te testen functionaliteit te visualiseren om vervolgens handmatig daaruit de logische testgevallen af te leiden.

Voordelen van Model based testen

Het toepassen van MBT heeft een aantal voordelen:

  • Effectiviteit
    • Modellering bevordert de communicatie tussen de betrokken partijen. Zoals bijvoorbeeld: stakeholders, ontwerpers, ontwikkelaars en testers
    • Betere communicatie helpt om een gemeenschappelijke visie en begrip van de eisen te creëren en om mogelijke misverstanden op te sporen.
    • Grafische modellen zorgen ervoor dat stakeholders makkelijker betrokken kunnen worden.
    • Het opstellen van modellen zorgt voor een continue verbetering van de competentie van testers in een bepaald domein.
    • Het abstractieniveau van een model maakt het makkelijker om onderdelen van het systeem te identificeren waar de kans op fouten groter is.
    • Het opstellen (al dan niet geautomatiseerd) en analyseren van testgevallen is al mogelijk voordat er code is gemaakt.
  • Efficiëntie
    • Het vroeg in het ontwikkelproces opstellen van modellen kan voorkomen dat er fouten worden gemaakt in het ontwikkelproces. Modellen kunnen ter verificatie worden voorgelegd aan de stakeholders (business analisten, ontwerpers, developers) waarmee lacunes vroegtijdig kunnen worden opgespoord.
    • MBT ondersteunt het automatisch afleiden van testgevallen en zorgt er daarmee voor dat fouten die worden gemaakt bij het handmatig opstellen van de testgevallen voorkomen kunnen worden en maakt het onderhouden van testgevallen makkelijker.
    • Uit een model kunnen verschillende sets van testgevallen worden afgeleid.
    • MBT helpt de onderhoudskosten te verlagen als de eisen veranderen. Alleen het model hoeft te worden aangepast.

Stappen binnen MBT proces

De mogelijke stappen van een MBT proces zijn weergegeven in onderstaand figuur.

Model Based Testen

 

Een uitleg over de verschillende stappen kun je lezen op: Stappen binnen MBT proces.

Ook interessant?

Model Based Testen

Stappen binnen Model Based Testing proces

De mogelijke stappen binnen het Model Based Testing proces zijn weergegeven in onderstaand figuur. Afhankelijk van de gebruikte tooling kunnen ...
overzicht tesen

Model Based Testing (MBT), selectiecriteria en testtechnieken

In de tweede stap van Model Based Testing (MBT) worden op basis van de requirements en testdoelen, selectiecriteria gekozen. Deze ...
Tools Model Based Testen

Tools voor Model Based Testing

In onderstaande tabel hebben we een aantal open source en commerciële Model Based Testing tools opgenomen die het MBT proces ...
Selenium Suite

Selenium Suite

We hebben een aantal onderwerpen over Selenium Suite opgenomen:
Blijf op de hoogte van onze nieuwste ontwikkelingen, schrijf je hier in voor de nieuwsbrief!