Acceptatietests
Definitie
Acceptatietests controleren of de acceptatiecriteria zijn vervuld en of het product of de feature werkt zoals verwacht.
Context
Acceptatietests helpen agile teams te bevestigen dat de geleverde functionaliteit voldoet aan de verwachtingen van de stakeholders. Ze zorgen voor snelle feedbackloops, brengen problemen vroegtijdig aan het licht en versterken het vertrouwen in de productkwaliteit.
Geautomatiseerde acceptatietests versnellen de agile ontwikkeling doordat ze de handmatige testinspanning verminderen en de betrouwbaarheid verhogen. Als de acceptatiecriteria subjectief zijn, is automatisering niet mogelijk. Als ze objectief zijn, loont automatisering om ervoor te zorgen dat wijzigingen aan het product bestaande functies niet aantasten.
Beschrijving
Terwijl acceptatiecriteria de voorwaarden voor succes definiëren, beschrijven acceptatietests de concrete stappen om deze voorwaarden in het product te verifiëren.
Ze kunnen voor of tijdens de ontwikkeling worden opgesteld en – indien geautomatiseerd – onbeperkt herhaald worden. Acceptatietests zijn een centraal onderdeel van agile kwaliteitsborging, omdat ze ervoor zorgen dat elk Product Backlog Item voor de release aan de verwachtingen voldoet.
Acceptatiecriteria en -tests zijn ook nuttig in klassieke benaderingen zoals het watervalsmodel. Daar worden ze echter vaak pas aan het einde uitgevoerd (bijv. als User Acceptance Tests – UAT), wat het leerproces vertraagt. In agile benaderingen zoals Scrum vinden ze in elke Sprint plaats, waardoor teams sneller feedback ontvangen en goedkoper kunnen bijsturen.
Voorbeeld
In een shopping-app zou een acceptatiecriterium kunnen luiden:
"Gebruikers kunnen artikelen aan het winkelwagentje toevoegen en het bijgewerkte totaalbedrag zien."
Een bijbehorende acceptatietest zou de volgende stappen kunnen bevatten:
- App openen en naar een product navigeren
- Het product aan het winkelwagentje toevoegen
- Controleren of het totaalbedrag correct wordt bijgewerkt
Veelvoorkomende misverstanden
Een veelvoorkomend misverstand is dat acceptatietests uitsluitend de taak van testers zijn. In agile teams definiëren, voeren uit en – indien mogelijk – automatiseren alle teamleden deze tests gezamenlijk.
Meer weten?
Lees het artikel over acceptatiecriteria om te begrijpen hoe acceptatietests voortbouwen op duidelijk gedefinieerde voorwaarden.
Als je het onderwerp technisch wilt verdiepen, bekijk dan de video van Dave Farley hieronder.