Een van de uitdagingen bij het ontwikkelen en onderhouden van software is het geven van het antwoord op de vraag: is de software van voldoende kwaliteit om naar de volgende fase of naar productie te gaan? Om antwoord te kunnen geven is er binnen software ontwikkeling een aantal testsoorten en testvormen onderkend die gedurende het ontwikkelproces worden uitgevoerd. Wetende dat 100% foutloze software (nog) niet mogelijk is, is de vervolgvraag: en wanneer is er dan voldoende getest?
Zelfs na het vinden van veel fouten in de software, kan niemand echt garanderen dat de software foutvrij is. Er is geen situatie waarin we zeker weten dat we alle tests hebben voltooid, alle fouten in de software hebben gevonden en er geen bugs meer zijn.
Het doel van testen is dan ook niet om elke fout in de software te vinden. De doelstelling van testen is om te bewijzen dat de software werkt zoals bedoeld of om verschillen te vinden tussen het huidige gedrag en het verwachte gedrag.
Wetende dat het (nog) onmogelijk is om 100% foutloze software te ontwikkelen, is het dus van belang om het beschikbare budget ( in tijd en geld) voor testen op een dusdanige manier in te zetten dat aangetoond wordt dat de de applicatie voldoet aan bepaalde voorwaarden en requirements. Hiervoor kunnen entry en exit criteria worden gebruikt.
Waarom?
Entry en exit criteria zijn nodig om een testsoort of testvormen te kunnen beginnen of eindigen. Het is een (1) van de voorwaarden om een project met succes af te kunnen ronden. Ze helpen ook om de doelstellingen van het project te verhelderen.
De exit criteria zijn naast de risico analyse en acceptatiecriteria input voor het opstellen van de teststrategie.
De criteria voor een succesvolle afronding dienen voor de start van een testtraject te worden bepaalt. Ver voor het moment dat de testers de druk van de deadline gaan voelen en moeten door alle betrokken stakeholders worden onderschreven.
Het definiëren van entry en exit criteria zijn op zich geen garantie voor een succesvol project. Ze zorgen er wel voor dat het besluitvormingsproces makkelijker wordt, dat stakeholders de voortgang kunnen afzetten tegen de criteria en dat wanneer niet aan de criteria is voldaan de impact daarvan inzichtelijk is.
Exit en entry criteria zorgen ook voor duidelijke grenzen. Zo kun je als entry criteria definiëren dat de requirements volledig en meetbaar beschreven moeten zijn. Wanneer hier niet aan wordt voldaan wordt er niet gestart met het testproject. Of als exit criteria: alle opgestelde testgevallen moeten zijn uitgevoerd.
Uiteraard dienen de entry en exit criteria in samenwerking met de stakeholders te worden opgesteld.
Voorbeelden
Een aantal mogelijke criteria is hieronder als voorbeeld opgenomen.
Entry Criteria
- Testomgeving is beschikbaar
- Goedgekeurde requirements
- De requirements zijn gedetailleerd en meetbaar beschreven
- Testplan is opgesteld en goedgekeurd
- Gedocumenteerde testcases en resultaten uit vorige fase zijn beschikbaar
- De toegangsrechten voor de testers zijn geregeld
- Voorgaande testfase (unittest, systeemtest, integratietest, ….) is afgerond
- …..
Exit criteria
- Alle requirements in scope zijn getest
- Alle geplande testgevallen zijn opgesteld en uitgevoerd
- Alle testresultaten (verwacht en actueel) zijn opgeslagen en gedocumenteerd in de testscripts.
- Alle productie blokkerende issues zijn opgelost en gehertest.
- Voor alle openstaande issues is er een workaround beschreven. Deze workarounds zijn geaccepteerd door de business.
- …..
AAA