Wat is testen? Als antwoord klinkt vaak dat testen een kwaliteitsvangnet is, dat testen de kwaliteit van een product moet vaststellen of dat testen een risicobeperkende maatregel is. Dit soort definities zijn elk niet onjuist, ze zijn echter erg beperkt.
Door testen tot één van dit soort doelen te beperken wordt vaak niet meer gezien wat testen ook kan brengen. Om deze reden stelde James Bach, een testgoeroe uit America, de volgende definitie voor:
Testing is the process of evaluating a product by learning about it through exploration and experimentation, which includes to some degree: questioning, study, modeling, observation, inference, etc..
(bron: https://www.satisfice.com/blog/archives/856).
Evalueren
Het doel van testen volgens Bach is “evalueren”: dit betekent beoordelen maar ook het verzamelen van allerlei informatie omtrent het object. Het hoeft dus niet alleen om het bepalen van de kwaliteit of het vinden van fouten te gaan. Uitzoeken wat je met een applicatie zou kunnen doen, hoe je iets op verschillende manieren zou kunnen doen of het vrij verkennen van een systeem is ook testen.
Testers vergeten dit nog wel eens en natuurlijk zijn er genoeg situaties waarin het alleen maar om het bepalen van de kwaliteit of het vinden van fouten gaat, zoals een technische unittest door een programmeur of een stresstest: dan heb je een specifieke vraag waar je antwoord op wil.
Betere gebruikers
De bredere definitie van testen geeft ruimte om anders naar Acceptatietesten te kijken. In een acceptatietest wil je natuurlijk het antwoord op de vraag: kunnen we onze dagelijkse processen goed uitvoeren? Dit is de kwaliteitsvraag: hoe goed ondersteunt het systeem onze processen?
Maar in de praktijk heb ik vaak een ander positief effect gezien van acceptatietesten die niet uit de kwaliteitsvraag voortkomt: namelijk dat gebruikers kennis en vaardigheden opdoen waardoor ze betere gebruikers worden. Dit effect van testen mag vaker als expliciet doel gesteld worden en is dan een extra argument om testen te “verkopen” aan afdelingen. Het kan zelfs een reden zijn om meer te testen dan strikt noodzakelijk is vanuit de kwaliteitsvraag.
Als het opdoen van kennis en vaardigheden ook een doel is van testen kan dit ook betekenen dat je bijvoorbeeld een testomgeving langer openstelt voor meer gebruikers. De testomgeving wordt dan een opleidingsomgeving of een speeltuin.
Een ander doel van testen kan zijn om processen of werkwijzen aan te passen: we voeren nu een klant op een bepaalde manier in maar wat als we het anders doen? Zijn er efficiëntere manieren? Kan de samenwerking tussen afdelingen beter? Maken we wel gebruik van alle functionaliteit in het systeem? Wat als we op dezelfde manier werken als een collega-organisaties?