Acceptatiecriteria zijn een beschrijving van wat door een test zou worden gecontroleerd. Met een eis als “Als gebruiker wil ik een boek uitchecken bij de bibliotheek”, zou een acceptatiecriterium kunnen zijn: “Controleer of het boek is gemarkeerd als uitgecheckt”. Een acceptatietest voor deze requirement geeft de details, zodat de test elke keer met hetzelfde effect kan worden uitgevoerd.
Test formatEdit
Acceptatietests volgen gewoonlijk deze vorm:
Gegeven (setup)
Een gespecificeerde toestand van een systeem
Wanneer (trigger)
Een actie of gebeurtenis doet zich voor
Dan (verificatie)
De toestand van het systeem is veranderd of een uitvoer is geproduceerd
Ook is het mogelijk om in elk van de onderstaande secties (Gegeven, Wanneer, Dan) uitspraken toe te voegen die met AND beginnen.
Voor de voorbeeldvereiste zouden de stappen als volgt kunnen worden opgesomd:
Given Book that has not been checked outAnd User who is registered on the systemWhen User checks out a bookThen Book is marked as checked out
Voltooi testEdit
De vorige stappen bevatten geen specifieke voorbeeldgegevens, dus die worden toegevoegd om de test te voltooien:
Gegeven:
Boek dat niet is uitgecheckt
Boeken | |
---|---|
Titel | Uitgecheckt |
Groot boek | Nee |
Gebruiker die is geregistreerd op het systeem
Gebruikers | |
---|---|
Naam | Sam |
Wanneer:
Gebruiker checkt een boek uit
Checkout action | |||
---|---|---|---|
Gebruiker | Sam | Checks out | Groot boek |
Dan:
Boek is gemarkeerd als uitgecheckt
Boeken | ||
---|---|---|
Titel | User | |
Groot boek | Ja | Sam |
TestonderzoekEdit
Onderzoek van de test met specifieke gegevens leidt meestal tot veel vragen. Voor het voorbeeld zouden dit kunnen zijn:
- Wat als het boek al is uitgecheckt?
- Wat als het boek niet bestaat?
- Wat als de gebruiker niet is geregistreerd in het systeem?
- Is er een datum waarop het boek moet worden ingecheckt?
- Hoeveel boeken kan een gebruiker uitchecken?
Deze vragen helpen bij het verhelderen van ontbrekende of dubbelzinnige vereisten. Aanvullende details zoals een vervaldatum kunnen worden toegevoegd aan het verwachte resultaat. Andere acceptatietests kunnen controleren of omstandigheden zoals een poging om een boek uit te checken dat al is uitgecheckt, de verwachte fout oplevert.
Een ander testvoorbeeldEdit
Voorstel dat de zakelijke klant een bedrijfsregel wilde dat een gebruiker slechts één boek tegelijk kon uitchecken. De volgende test zou dat aantonen:
Scenario:Controleren of de bedrijfsregel voor uitchecken wordt afgedwongen
Gegeven:
Boek dat is uitgecheckt
Boeken | ||
---|---|---|
Titel | Uitgecheckt | Gebruiker |
Groot boek | Ja | Sam |
Een ander geweldig boek | Nee |
Naam
Sam
Wanneer:
Gebruiker haalt nog een boek uit
Kassa-actie | |||
---|---|---|---|
Gebruiker | Sam | Naam | Naam |
Toen:
Fout treedt op
Omschrijving
Overtreding van de bedrijfsregel voor het afrekenen
ProjectacceptatietestsEdit
Naast acceptatietests voor vereisten, kunnen acceptatietests worden gebruikt voor een project als geheel. Als deze requirement bijvoorbeeld deel uitmaakt van een project voor het afrekenen van boeken in een bibliotheek, kunnen er acceptatietests voor het hele project zijn. Deze worden vaak SMART doelstellingen genoemd. Een voorbeeld test is “Wanneer het nieuwe bibliotheeksysteem in productie is, zullen de gebruikers in staat zijn om boeken in en uit te checken drie keer zo snel als ze nu doen”.