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:
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.
Een uitleg over de verschillende stappen kun je lezen op: Stappen binnen MBT proces.
Ook interessant?
Stappen binnen Model Based Testing proces
Model Based Testing (MBT), selectiecriteria en testtechnieken
Tools voor Model Based Testing
Selenium Suite
- Wat is Selenium Suite?
- De voordelen en nadelen van de ...