Testowanie akceptacyjne to formalny proces testowania prowadzony w celu ustalenia, czy system spełnia kryteria akceptacji, potrzeby użytkowników, wymagania i procesy biznesowe, umożliwiający interesariuszom podjęcie decyzji o przyjęciu systemu. To ostatnie sprawdzenie w procesie wytwarzania oprogramowania przed wydaniem, zapewniające, że produkt spełnia cele biznesowe i oczekiwania użytkowników. Kluczowe aspekty obejmują:
Typy testowania akceptacyjnego:
Proces: Testowanie akceptacyjne zwykle obejmuje analizę wymagań, utworzenie planu testów, projektowanie przypadków testowych, wykonanie oraz potwierdzenie realizacji celów. Wymaga wcześniej zdefiniowanych procedur testowania, danych oraz porównania wyników rzeczywistych z oczekiwanymi.
Kryteria akceptacji: To zbiór warunków, które muszą być spełnione, zanim dostarczane produkty zostaną przyjęte — często warunków szczegółowych, wywodzących się z historyjek użytkownika (user stories) lub wymagań.
Znaczenie: Testowanie akceptacyjne waliduje potrzeby użytkowników i cele biznesowe, ogranicza ryzyka po wdrożeniu, stanowi finalną weryfikację przed wdrożeniem oraz ujawnia luki w wymaganiach. Zapewnia satysfakcję użytkowników, ogranicza ryzyko, gwarantuje jakość, zapewnia zgodność i buduje zaufanie interesariuszy.
Bank wdraża nową funkcję płatności mobilnych. Przed wydaniem użytkownicy biznesowi przeprowadzają testowanie akceptacyjne względem kryteriów akceptacji: weryfikują, że płatność można zainicjować, autoryzować i potwierdzić od początku do końca, że limity są egzekwowane oraz że transakcja pojawia się w wyciągu. Wyniki są sprawdzane względem procesów biznesowych, które funkcja musi wspierać, i dopiero wtedy bank podejmuje decyzję o przyjęciu systemu.
Jaka jest różnica między testowaniem akceptacyjnym a testowaniem systemowym? Testowanie systemowe sprawdza kompletny system względem jego wymagań technicznych. Testowanie akceptacyjne sprawdza go względem potrzeb użytkowników, procesów biznesowych i kryteriów akceptacji i jest prowadzone po to, aby umożliwić użytkownikowi, klientom lub innemu upoważnionemu podmiotowi podjęcie decyzji o przyjęciu systemu.
Kto wykonuje testowanie akceptacyjne? Użytkownicy, klienci lub upoważniony podmiot — a nie zespół programistyczny. Ta niezależność sprawia, że decyzja o akceptacji jest wiarygodna.
Czy testowanie akceptacyjne jest zawsze ostatnim poziomem testów? W klasycznym modelu V jest ostatnim poziomem, ale testowanie akceptacyjne może również wystąpić wcześniej (na przykład testowanie akceptacyjne kontraktowe dostarczanych komponentów) i może być powtarzane po zmianach.
Jakie typy testowania akceptacyjnego istnieją? Testowanie akceptacyjne przez użytkownika (UAT) prowadzone przez przyszłych użytkowników, testowanie akceptacyjne biznesowe względem celów biznesowych, testowanie akceptacyjne kontraktowe względem wymagań kontraktowych, testowanie akceptacyjne regulacyjne dla zapewnienia zgodności oraz testowanie akceptacyjne operacyjne dla potwierdzenia gotowości środowiska operacyjnego.
Jaki jest związek między testowaniem akceptacyjnym a walidacją? Testowanie akceptacyjne to forma walidacji — potwierdza na podstawie obiektywnych dowodów, że wymagania dotyczące zamierzonego zastosowania zostały spełnione.