pl

Testowanie akceptacyjne

TESTY AKCEPTACYJNE – czy są potrzebne?

Tak, jak w całym cyklu wytwarzania oprogramowania, tak również w testowaniu mamy różne etapy (lub poziomy), przez które należy przejść w każdym projekcie. Dzieli je się, aby z jednej strony pokryć testowaniem jak największy obszar, a z drugiej nie powtarzać testów tych samych elementów czy funkcjonalności. Testy akceptacyjne są ostatnim poziomem testowania, choć po nich mogą pojawić się jeszcze testy integracyjne dotyczące systemów w większej skali. Co analizuje się na tym etapie i czemu nie można go ominąć? 

Przede wszystkim skupiają się one na zachowaniu i możliwościach całego systemu lub produktu oraz na tym czy system działa zgodnie z oczekiwaniami ustalonymi na samym początku projektu. Według sylabusa ISTQB wymieniane są trzy cele testowania akceptacyjnego: budowanie zaufania do systemu, walidacja (czy system jest kompletny i czy będzie działał zgodnie z oczekiwaniami) oraz weryfikacja zgodności zachowania funkcjonalnego i niefunkcjonalnego systemu ze specyfikacją. Poza tym, bardziej „biznesowym” celem tego rodzaju testowania może być dostarczenie interesariuszom informacji na temat ryzyka jakie wiąże się z przekazaniem systemu do eksploatacji w danym momencie.

Często można się spotkać z podziałem na alfa i beta testy. Czasem są one traktowane jako część testów akceptacyjnych, a czasem jako oddzielny poziom testów. Pierwsze odnoszą się do tych odbywających się wewnątrz firmy testerskiej, drugie natomiast wykonywane są przez potencjalnych przyszłych klientów już poza firmą tworzącą dane oprogramowanie. 

Wynikiem przeprowadzonego testowania akceptacyjnego są informacje odnoszące się do tego czy dany system jest już gotowy do wdrożenia, a co za tym idzie – użytkowania przez klienta. Mimo, iż jest to zazwyczaj ostatni etap i szukanie defektów nie jest tu głównym celem, mogą czasem zostać wykryte błędy. Należy jednak pamiętać, że znacząca liczba błędów może być niepokojąca, bo oznacza to, że nie zostały wychwycone na wcześniejszych etapach, które były do tego przeznaczone. Ponadto testowanie akceptacyjne może być niezbędne do spełnienia wymagań wynikających z obowiązujących przepisów prawa lub norm czy standardów, które muszą być spełnione, aby można było wprowadzić dane rozwiązanie na rynek.

To, kiedy przeprowadzane są testy akceptacyjne zależy od charakteru danego projektu.
W metodykach zwinnych, między innymi w Scrumie, wykonywane są one bardzo często, zazwyczaj na zakończenie każdego sprintu. Część aplikacji przekazywana jest wtedy klientowi, a zespół deweloperski często w tym czasie zaczyna już działania w ramach kolejnego sprintu. Natomiast w modelu kaskadowym powinny być one wyszczególnione w harmonogramie. Zazwyczaj jest to po prostu ten moment, kiedy jesteśmy zobowiązani oddać naszemu klientowi aplikację do testów.

Podsumowując, głównym celem testów akceptacyjnych nie jest szukanie błędów – co więcej, duża liczba błędów na tym etapie może poddać w wątpliwość jakość całego projektu. Zamiast tego, jak sama nazwa wskazuje, w tym etapie powinniśmy przede wszystkim upewnić się, że wszystkie wymagania określone na początku projektu zostały spełnione.

pl