Testy akceptacyjne
Definicja
Testy akceptacyjne sprawdzają, czy kryteria akceptacji zostały spełnione i czy produkt lub funkcjonalność działają zgodnie z oczekiwaniami.
Kontekst
Testy akceptacyjne pomagają zespołom zwinnym potwierdzić, że dostarczona funkcjonalność spełnia oczekiwania interesariuszy. Tworzą szybkie pętle informacji zwrotnej, wcześnie wykrywają problemy i wzmacniają zaufanie do jakości produktu.
Zautomatyzowane testy akceptacyjne przyspieszają zwinne wytwarzanie oprogramowania, ponieważ zmniejszają nakład pracy związany z ręcznym testowaniem i zwiększają niezawodność. Jeśli kryteria akceptacji są subiektywne, automatyzacja nie jest możliwa. Jeśli są obiektywne, automatyzacja się opłaca, aby upewnić się, że zmiany w produkcie nie wpływają negatywnie na istniejące funkcje.
Opis
Podczas gdy kryteria akceptacji definiują warunki sukcesu, testy akceptacyjne opisują konkretne kroki weryfikacji tych warunków w produkcie.
Mogą być tworzone przed rozpoczęciem lub w trakcie rozwoju i – jeśli są zautomatyzowane – mogą być powtarzane dowolną liczbę razy. Testy akceptacyjne są kluczowym elementem zwinnego zapewniania jakości, ponieważ gwarantują, że każdy Product Backlog Item przed wydaniem spełnia oczekiwania.
Kryteria i testy akceptacyjne są przydatne również w klasycznych modelach wytwarzania, takich jak model kaskadowy. Tam jednak często przeprowadzane są dopiero na końcu (np. jako User Acceptance Tests – UAT), co opóźnia proces uczenia się. W podejściach zwinnych, takich jak Scrum, odbywają się w każdym Sprincie, dzięki czemu zespoły szybciej otrzymują informację zwrotną i mogą taniej wprowadzać poprawki.
Przykład
W aplikacji zakupowej kryterium akceptacji mogłoby brzmieć:
„Użytkownicy mogą dodawać artykuły do koszyka i widzieć zaktualizowaną kwotę łączną."
Powiązany test akceptacyjny mógłby obejmować następujące kroki:
- Otworzyć aplikację i przejść do produktu
- Dodać produkt do koszyka
- Sprawdzić, czy kwota łączna została prawidłowo zaktualizowana
Częste nieporozumienia
Częstym nieporozumieniem jest przekonanie, że testy akceptacyjne to wyłącznie zadanie testerów. W zespołach zwinnych wszyscy członkowie zespołu wspólnie definiują, przeprowadzają i – jeśli to możliwe – automatyzują te testy.
Chcesz dowiedzieć się więcej?
Przeczytaj artykuł o kryteriach akceptacji, aby zrozumieć, jak testy akceptacyjne opierają się na jasno zdefiniowanych warunkach.
Jeśli chcesz zgłębić temat od strony technicznej, obejrzyj poniższy film Dave'a Farleya.