Dokumentacja testowa to zbiór dokumentów opisujących procesy, kryteria, obiekty i scenariusze testowania. Powstała wraz z rozwojem podejść do strukturyzacji kontroli jakości oprogramowania, aby zapewnić przejrzystość, powtarzalność i przekazywanie wiedzy w zespole.
Historia pytania:
Na wczesnych etapach rozwoju IT testowanie było chaotyczne, głównie ustne, co prowadziło do pominiętych błędów i utraty wiedzy. Wraz z pojawieniem się zespołowego rozwoju i koniecznością standardyzacji procesów, pojawiła się potrzeba dokumentowania testowania.
Problem:
Bez dokumentacji trudno jest reprodukować błędy, ciężko ocenić pokrycie testów, rośnie ryzyko regresji przy zmianach. Nie ma przejrzystości w pracach testera, a nowi specjaliści muszą na nowo zrozumieć logikę testów. Możliwe jest dublowanie zasobów przy poszukiwaniu tych samych błędów.
Rozwiązanie:
Wprowadzenie standardyzowanych szablonów — checklist, test case'ów, raportów błędów — pozwala na dokumentowanie kryteriów akceptacji, szczegółowe opisywanie wymagań, delegowanie zadań, śledzenie pokrycia i zachowanie wiedzy dla nowych pracowników.
Kluczowe cechy:
Czym różni się test case od checklisty?
Checklista to krótka lista tego, co trzeba sprawdzić. Test case to szczegółowy opis jednego sprawdzenia z krokami, oczekiwanym wynikiem i danymi wejściowymi.
Czy można całkowicie obejść się bez dokumentacji testowej?
Nie, nawet przy „zwinnych” podejściach (Agile, Kanban) podstawowe artefakty powinny istnieć — przynajmniej krótkie checklisty lub scenariusze testów regresyjnych.
Czy dokumentacja testowa powinna być aktualizowana w przypadku zmian wymagań?
Tak, ponieważ nieaktualna dokumentacja prowadzi do przestarzałych testów i pominięcia aktualnych błędów.
W zespole testerzy korzystali tylko z ustnych dyskusji i zapisywali wyniki testów w notatnikach. Przy pojawieniu się błędu regresyjnego nikt nie był w stanie odtworzyć sekwencji działań, która doprowadziła do błędu.
Plusy:
Minusy:
Testerzy wprowadzili szablony test case'ów i regularnie je aktualizowali w miarę zmian wymagań. W momencie wystąpienia błędu szybko można było znaleźć niezbędne warunki do jego reprodukcji i usunięcia.
Plusy:
Minusy: