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 selectiecriteria worden hieronder besproken en vervolgens de bijbehorende testtechnieken.

Deze worden onderverdeeld in de volgende 5 groepen:

  • Structural Model Coverage Criteria
  • Data Coverage Criteria
  • Requirements-Based Coverage Criteria
  • Ad hoc logische testgevallen
  • Fault-based criteria

Elk van deze selectiecriteria, die gebruikt worden bij het automatisch genereren van logische testgevallen, zullen hieronder verder beschreven worden.

Structural Model Coverage Criteria

Deze hebben te maken met de dekking van de control-flow door het model, welke gebaseerd is op de ideeën van de control-flow voor programma’s. Hierbij is het meten en het maximaliseren van de dekking van het model het belangrijkste. Het model vertegenwoordigd op hoog niveau de testdoelstellingen. Het drukt de aspecten uit van de systeem gedragingen die de ontwikkelaar wil testen. Dus dekking van alle onderdelen van het gedrag is belangrijk.

Dit kan gedaan worden met verschillende mogelijkheden, namelijk:

  1. Control-flow-georienteerde coverage criteria
  2. Data-flow-georienteerde coverage criteria
  3. Transitie-gebaseerde coverage criteria
  4. UML-gebaseerde coverage criteria

Data Coverage Criteria

Data Coverage heeft te maken met de dekking van de ruimte voor invoergegevens van een aanpassing op een overgang in het model.

Deze manier is handig voor het kiezen van goede representatieve waardes voor de input van de tests.

Voor een domein (X), zijn er twee extreme data coverage criteria:

  1. een waarde: op z’n minst één waarde van X (in combinatie met andere testcriteria die misschien bruikbaar zijn)
  2. alle waardes: elke waarde in X

Echter is het ook mogelijk en makkelijker om gebruik te maken van grenswaardes, statistische data coverage of pairwise testing.

Requirements-Based Coverage Criteria

Deze heeft als doel om een testsuite te genereren die verzekerd dat alle informele specificaties getest worden. Traceability van de specificaties van het model maakt het mogelijk om dit proces te automatiseren. Specificaties kunnen gebruikt worden om de hoeveelheid dekking van de gegenereerde testcases te meten en om het genereren van de testen aan te drijven. Requirements-Based Coverage registreert de eisen binnen het gedragsmodel (zoals annotaties). Tevens worden de specificaties geformaliseerd en gebruikt als een testselectiecriteria.

Ad Hoc logische testgevallen

Staat het toe om expliciet aan te geven of er een bepaalde test, of set van testen, vanuit het model gegenereerd moet worden. Er zijn verschillende test specificatie talen gedefinieerd voor MBT en deze geven een precieze controle over de gegenereerde testen.

Fault-Based Criteria

Deze criteria genereren testsuites die goed zijn in het opsporen van bepaalde soort fouten in het model. Ervan uitgaande dat de SUT soortgelijke fouten bevat, dat zal de testsuite deze fouten waarschijnlijk detecteren. Dit is een testtechniek die gebruik maakt van data die ontwikkeld is om de afwezigheid van een set vooraf gedefinieerde fouten te demonstreren.

Fault-Based criteria maakt gebruik van mutatie testen. Waarbij programma aanpassingen gecreëerd worden door de syntactische transformatie van de SUT. Hierbij wordt gebruik gemaakt van mutatie operatoren. Het uitvoeren van een testsuite op alle aanpassingen leidt ertoe dat snel te zien is hoe veel aanpassingen meteen gestopt worden door de testsuite (dit geeft een fout in de aanpassing aan).

Welke testtechnieken kunnen gebruikt worden?

In de onderstaande tabel wordt per selectiecriteria aangegeven welke testtechnieken het meest gebruikt worden voor het genereren van testen. Dit is gedaan voor licht testen, normaal testen en zwaar testen.

overzicht tesen

 

A

Ook interessant?

Model Based Testen

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