Co powinniśmy zapamiętać
Planowanie i strategia testów
Planowanie testów to kluczowy etap w procesie zapewniania jakości oprogramowania – określa cele, zakres, harmonogram, zasoby i ryzyka.
Dobrze zaplanowane testowanie pozwala skupić się na najważniejszych funkcjach i zminimalizować prawdopodobieństwo przeoczenia błędów.
Cele testów powinny być zgodne z wymaganiami biznesowymi i technicznymi oraz wspierać interesariuszy w ocenie jakości produktu.
Strategie testowe należy dostosować do charakterystyki projektu – mogą być oparte na ryzyku, iteracyjne (np. w Agile), adaptacyjne lub oparte na specyfikacji.
Testowanie oparte na ryzyku pomaga skupić się na obszarach najbardziej krytycznych – identyfikujemy ryzyka, oceniamy je i priorytetyzujemy działania testowe.
Ważna jest aktualizacja planu testów w trakcie trwania projektu – zmieniające się wymagania i warunki projektowe powinny mieć odzwierciedlenie w dokumentacji.
Dokumentacja testów musi być czytelna, aktualna i dostępna dla całego zespołu – wspiera analizę efektywności i umożliwia audyt działań testowych.
Techniki projektowania testów
Techniki testowe pomagają tworzyć efektywne przypadki testowe, które zapewniają wysokie pokrycie funkcjonalności i kodu.
Techniki czarnej skrzynki (black-box): koncentrują się na zewnętrznych zachowaniach systemu – bez znajomości kodu. Przykłady:
testowanie wartości granicznych,
podział na klasy równoważności,
testowanie decyzyjne.
Techniki białoskrzynkowe (white-box): wymagają znajomości struktury kodu źródłowego i obejmują:
testowanie ścieżek, warunków i pętli,
analizę pokrycia kodu,
statyczną analizę kodu.
Testowanie eksploracyjne: oparte na intuicji i doświadczeniu testera – projektowanie testów odbywa się w trakcie ich wykonywania.
Testowanie eksperckie: wykorzystuje wiedzę domenową testera – pozwala szybko identyfikować nietypowe lub trudne do wykrycia błędy.
Dobre przygotowanie przypadków testowych wymaga znajomości wymagań oraz stosowania narzędzi takich jak macierze pokrycia.