Jakie są kryteria akceptacji?
Kryteria akceptacji to konkretne, możliwe do przetestowania warunki, które musi spełnić historia użytkownika, zanim zostanie uznana za ukończoną. Historia opisuje co budujemy; kryteria akceptacji definiują pracujący. Bez nich „gotowe” jest opinią.
Dwa popularne formaty
Lista punktowana (oparta na regułach). Prostym angielskim, jedna zasada na punktor:
- Logowanie nie powiodło się po 5 próbach wprowadzenia błędnego hasła.
- Użytkownikowi wyświetla się ogólny błąd, a nie konkretnie „złe hasło”.
- Zapisywany jest wpis dziennika kontroli.
Biorąc pod uwagę / Kiedy / Następnie (Ogórek / na podstawie scenariusza). Oparte na zachowaniu, łatwe do przełożenia na testy automatyczne:
- Biorąc pod uwagę użytkownik 4 razy wprowadził błędne hasło, kiedy po raz piąty wpisują błędne hasło, wtedy konto jest zablokowane i rejestruje to dziennik audytu.
Właściwości dobrych kryteriów akceptacji
- Testowalne: tester może zweryfikować wynik pozytywny/negatywny bez oceniania.
- Niezależny od wdrożenia: opisuje wyniki, a nie sposób działania kodu.
- Ograniczony: obejmuje historię użytkownika, a nie sąsiednie historie.
- Do negocjacji: napisany wspólnie, udoskonalony podczas udoskonalania.
- Konkretny: „szybki” nie podlega testowaniu; „reaguje w czasie krótszym niż 200 ms przy p95” jest.
Typowe błędy
- Traktowanie ich jako listy życzeń: każde „byłoby miło” jest dodawane, dopóki historia nie stanie się zbyt obszerna, aby zmieścić się w sprintu.
- Dodanie ich po rozpoczęciu programowania: zmienia zakres w połowie sprintu.
- Zapisanie ich w języku implementacyjnym: łączy historię w jedno podejście techniczne.
- Mylimy je z definicją zrobienia: kryteria akceptacji są specyficzne dla historii; definicja ukończenia dotyczy wszystkich historii.