Kryteria akceptacji są opisem tego, co będzie sprawdzane przez test. Biorąc pod uwagę wymaganie takie jak „Jako użytkownik, chcę wypożyczyć książkę z biblioteki”, kryterium akceptacji może być, „sprawdź czy książka jest oznaczona jako wypożyczona”. Test akceptacyjny dla tego wymagania podaje szczegóły tak, że test może być przeprowadzony z tym samym efektem za każdym razem.
Format testuEdit
Testy akceptacyjne zazwyczaj mają taką postać:
Given (setup)
Określony stan systemu
When (trigger)
Występuje akcja lub zdarzenie
Then (verification)
Stan systemu uległ zmianie lub zostało wytworzone wyjście
Możliwe jest również dodanie Stwierdzeń zaczynających się od AND w dowolnej z poniższych sekcji (Given, When, Then).
Dla przykładowego wymagania, kroki mogłyby być wymienione jako:
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
Zakończ testEdit
Poprzednie kroki nie zawierają żadnych konkretnych przykładowych danych, więc są one dodawane w celu zakończenia testu:
Dane:
Książka, która nie została wypisana
Książki | |
---|---|
Tytuł | Wypisana |
Wspaniała książka | Nie |
Użytkownik, który jest zarejestrowany w systemie
Users | |
---|---|
Nazwa | Sam |
Kiedy:
Użytkownik wypisuje książkę
Checkout action | |||
---|---|---|---|
Użytkownik | Sam | Wypisuje książkę | Great book |
Wtedy:
Książka została oznaczona jako sprawdzona
Książki | ||
---|---|---|
Tytuł | Checked out | Użytkownik |
Great. książka | Tak | Sam |
Badanie testuEdit
Badanie testu za pomocą konkretnych danych prowadzi zwykle do wielu pytań. Dla przykładu mogą to być:
- Co, jeśli książka jest już sprawdzona?
- Co, jeśli książka nie istnieje?
- Co, jeśli użytkownik nie jest zarejestrowany w systemie?
- Czy istnieje data, kiedy książka ma zostać odprawiona?
- Ile książek może odprawić użytkownik?
Pytania te pomagają wyjaśnić brakujące lub niejednoznaczne wymagania. Dodatkowe szczegóły, takie jak termin wykonania, mogą zostać dodane do oczekiwanego wyniku. Inne testy akceptacyjne mogą sprawdzić, czy warunki takie jak próba wypisania książki, która jest już wypisana, powodują oczekiwany błąd.
Inny przykład testuEdit
Załóżmy, że klient biznesowy chciał wprowadzić regułę biznesową, zgodnie z którą użytkownik może wypisać tylko jedną książkę na raz. Poniższy test wykazałby, że:
Scenariusz:Sprawdź, czy reguła biznesowa dotycząca kasy jest egzekwowana
Dane:
Książka, która została wypisana
Książki | ||
---|---|---|
Tytuł | Wypisana | Użytkownik |
Dobra książka | Tak | Sam |
Kolejna świetna książka | Nie |
Nazwa
Sam
Kiedy:
User checks out another book
Checkout action | |||
---|---|---|---|
User | Sam | Checks out | Another great book |
Then:
Występuje błąd
Opis
Naruszenie reguły biznesowej kasy
Testy akceptacyjne projektuEdit
Oprócz testów akceptacyjnych dla wymagań, testy akceptacyjne mogą być stosowane na projekcie jako całości. Na przykład, jeśli to wymaganie było częścią projektu kasy bibliotecznej, mogą istnieć testy akceptacyjne dla całego projektu. Są one często określane jako cele SMART. Przykładowy test brzmi: „Kiedy nowy system biblioteczny będzie w produkcji, użytkownicy będą mogli sprawdzać książki trzy razy szybciej niż obecnie”.