Definicja #
Acceptance testing (testowanie akceptacyjne) to końcowa faza testowania oprogramowania, której celem jest potwierdzenie, że system spełnia wymagania biznesowe i jest gotowy do przekazania użytkownikom końcowym lub wdrożenia na produkcję.
Typy testów akceptacyjnych:
- UAT (User Acceptance Testing) — użytkownicy końcowi weryfikują system w scenariuszach zbliżonych do rzeczywistego użycia; najczęstszy typ acceptance testing
- Business Acceptance Testing (BAT) — weryfikacja z perspektywy procesów biznesowych; interesariusze sprawdzają zgodność z wymaganiami biznesowymi
- Alpha Testing — przeprowadzane wewnątrz organizacji (przez pracowników firmy, nie docelowych użytkowników) przed zewnętrznym beta testingiem
- Beta Testing — wersja oprogramowania udostępniana wybranej grupie rzeczywistych użytkowników; zbieranie feedbacku przed pełnym wydaniem
- Contract Acceptance Testing — weryfikacja zgodności z wymaganiami kontraktu (SLA, specyfikacja techniczna)
- Regulatory Acceptance Testing — weryfikacja zgodności z regulacjami prawnymi (RODO, PCI DSS, HIPAA)
Proces UAT w praktyce:
- Przygotowanie scenariuszy testowych (test cases) opartych na wymaganiach i user stories
- Konfiguracja środowiska UAT (oddzielne od dev/staging)
- Wykonanie testów przez użytkowników biznesowych z rejestrowaniem wyników
- Raportowanie defektów — przekazanie do zespołu deweloperskiego
- Ponowne testowanie po poprawkach (re-test)
- Sign-off — formalne zatwierdzenie przez interesariuszy
W metodykach Agile acceptance testing jest realizowane w ramach każdego sprintu przez kryteria akceptacji user stories.
Zastosowania #
- Wdrożenia systemów ERP i CRM — UAT przez pracowników działu finansowego, HR, sprzedaży przed go-live
- Projekty Agile — weryfikacja user stories przez Product Ownera i interesariuszy pod koniec sprintu (Definition of Done)
- Projekty kontraktowe — potwierdzenie zgodności dostarczanego systemu z wymaganiami kontraktu przed płatnością
- Aktualizacje systemów produkcyjnych — weryfikacja krytycznych procesów biznesowych przed wdrożeniem na produkcję
- Systemy regulowane (finanse, medycyna) — dokumentowany UAT jako dowód zgodności z regulacjami (walidacja systemu, GxP)
Ścieżka nauki #
Acceptance testing jest procesem organizacyjnym — wymaga zarówno umiejętności technicznych, jak i komunikacji z biznesem.
Zacznij od:
- Podstawy testowania: rodzaje testów, STLC (Software Testing Life Cycle), różnica między verification a validation
- Tworzenie test cases: co to jest przypadek testowy, kroki, oczekiwany rezultat, dane testowe
- Narzędzia do zarządzania testami: Xray (Jira), TestRail, Zephyr — rejestrowanie i śledzenie testów
- Metodyki Agile: rola UAT w Scrumie, kryteria akceptacji user stories (Given-When-Then)
Następnie pogłębiaj:
- BDD (Behavior-Driven Development) — pisanie kryteriów akceptacji w formacie Gherkin (Cucumber)
- Exploratory testing — niestrukturyzowane testowanie odkrywające nieoczekiwane błędy
- Środowiska testowe: konfiguracja UAT environment, zarządzanie danymi testowymi
- Certyfikacja ISTQB Foundation — podstawy testowania obejmujące UAT
FAQ #
- Czym różni się UAT od testów systemowych?
- Testy systemowe (System Testing) weryfikują całość systemu z perspektywy technicznej — wykonywane przez QA zespół na środowisku testowym. UAT (User Acceptance Testing) to ostatnia faza — użytkownicy końcowi lub biznes weryfikują system z perspektywy codziennego użycia. UAT potwierdza, że system jest gotowy do wdrożenia i spełnia oczekiwania użytkowników.
- Kto przeprowadza UAT?
- UAT przeprowadzają użytkownicy końcowi lub przedstawiciele biznesu — nie testerzy QA ani deweloperzy (choć mogą wspierać). W projektach enterprise: pracownicy działu finansowego, HR, sprzedaży testują konkretne procesy. W Agile: Product Owner zatwierdza user stories. W produktach konsumenckich: wybrana grupa beta testerów lub klientów.
- Co to jest sign-off w kontekście UAT?
- Sign-off (podpisanie protokołu akceptacji) to formalne zatwierdzenie systemu przez interesariuszy po zakończeniu UAT. Oznacza, że biznes potwierdza gotowość systemu do wdrożenia produkcyjnego i akceptuje ewentualne znane ograniczenia. W projektach kontraktowych sign-off często warunkuje wypłatę kolejnej transzy wynagrodzenia.
- Jak działa acceptance testing w metodykach Agile?
- W Scrumie acceptance testing jest realizowane w każdym sprincie. User stories mają kryteria akceptacji (Acceptance Criteria) — warunki, które muszą być spełnione, by historia była ukończona (Definition of Done). Product Owner weryfikuje i zatwierdza historię podczas Sprint Review. BDD i Gherkin (Given-When-Then) pomagają pisać kryteria akceptacji jako automatyczne testy.