Podczas całego procesu testowego, który omówiliśmy w lekcji 1.5, tworzone są różnorodne dokumenty, skrypty, dane i inne artefakty.
Te wyniki pracy, specyficzne dla działań testowych, określane są zbiorczym terminem testware.
Zrozumienie, czym jest testware i jakie są jego główne kategorie, jest fundamentalne dla efektywnego zarządzania procesem testowym, komunikacji w zespole oraz zapewnienia powtarzalności i audytowalności testów.
W tej lekcji przyjrzymy się bliżej definicji testware oraz jego kluczowym elementom zgodnie z sylabusem ISTQB.
Testware to nie tylko przypadki testowe czy raporty o błędach.
To cały ekosystem produktów pracy, które powstają na różnych etapach procesu testowego – od planowania, przez analizę, projektowanie, implementację, aż po wykonanie i zakończenie testów.
Każdy z tych produktów ma swoje specyficzne przeznaczenie i przyczynia się do osiągnięcia celów testowania.
Zarządzanie tymi artefaktami, w tym ich wersjonowanie i utrzymanie spójności, jest kluczowym elementem dojrzałego procesu testowego, często wspieranym przez narzędzia do zarządzania konfiguracją.
Definicja Testware
Według definicji ISTQB, testware to produkty pracy (work products) wytworzone podczas procesu testowego, wykorzystywane do planowania, projektowania, wykonywania, oceny i raportowania testów.
Obejmuje to artefakty takie jak plany testów, przypadki testowe, skrypty testowe, dane testowe, wyniki testów, raporty testowe, a także środowiska testowe i narzędzia.
Ważne jest, aby odróżnić testware od podstawy testów (test basis).
Podstawa testów to dokumentacja lub artefakty, na podstawie których definiowane są wymagania i projektowane testy (np. specyfikacje wymagań, historyjki użytkownika, kod źródłowy).
Testware jest natomiast wynikiem pracy zespołu testowego, stworzonym w oparciu o podstawę testów w celu przeprowadzenia i udokumentowania procesu testowego.
Kategorie Produktów Pracy Testowej (Testware)
Sylabus ISTQB Foundation Level v4.0.1 grupuje testware według głównych czynności procesu testowego, podczas których te produkty pracy powstają lub są wykorzystywane.
Należy jednak pamiętać, że lista ta nie jest wyczerpująca, a konkretne artefakty i ich forma mogą się różnić w zależności od organizacji, projektu i stosowanych metodyk.
1. Produkty Pracy Związane z Planowaniem Testów (Test Planning Work Products)
Te artefakty powstają na etapie definiowania strategii i planowania działań testowych.
Służą jako mapa drogowa dla całego procesu testowego.
Główne przykłady to:
- Plan Testów (Test Plan): Kluczowy dokument opisujący cele, zakres, podejście, harmonogram, zasoby, kryteria wejścia i wyjścia oraz ryzyka związane z testowaniem. (Szczegółowo omówiony w Rozdziale 5.1).
- Harmonogram Testów (Test Schedule): Określa ramy czasowe dla poszczególnych działań testowych.
- Rejestr Ryzyka (Risk Register): Lista zidentyfikowanych ryzyk związanych z produktem lub projektem, wraz z ich prawdopodobieństwem, wpływem i planami mitygacji. Często zawiera ryzyka, które mają być adresowane przez testowanie. (Szczegółowo omówiony w Rozdziale 5.2).
- Kryteria Wejścia i Wyjścia (Entry and Exit Criteria): Zdefiniowane warunki, które muszą być spełnione, aby rozpocząć (wejścia) lub zakończyć (wyjścia) dany poziom lub etap testów. Często są częścią Planu Testów.
- Informacje o Łagodzeniu Ryzyka (Information about Risk Mitigation): Dokumentacja opisująca, w jaki sposób testowanie przyczyni się do zmniejszenia zidentyfikowanych ryzyk.
Produkty pracy związane z planowaniem stanowią fundament dla wszystkich dalszych działań testowych, zapewniając ich spójność z celami projektu i zarządzanie ryzykiem.
2. Produkty Pracy Związane z Monitorowaniem i Sterowaniem Testami (Test Monitoring and Test Control Work Products)
Te artefakty służą do śledzenia postępów, oceny jakości i podejmowania decyzji dotyczących procesu testowego.
Powstają i są aktualizowane przez cały czas trwania testów.
Przykłady obejmują:
- Raporty o Postępach Testów (Test Progress Reports): Regularne raporty informujące interesariuszy o statusie wykonania testów, pokryciu, znalezionych defektach i ewentualnych problemach lub opóźnieniach w stosunku do planu. (Szczegółowo omówione w Rozdziale 5.3).
- Dokumentacja Dyrektyw Sterujących (Documentation of Control Directives): Zapis decyzji podjętych w ramach sterowania testami, np. zmiany priorytetów, alokacji zasobów, modyfikacji harmonogramu.
- Informacje o Ryzykach (Information about Risks): Aktualizowane informacje na temat statusu ryzyk, w tym tych nowo zidentyfikowanych lub tych, których poziom się zmienił w wyniku działań testowych. (Szczegółowo omówione w Rozdziale 5.2).
Te produkty pracy są kluczowe dla zapewnienia przejrzystości procesu testowego i umożliwienia podejmowania świadomych decyzji zarządczych.
3. Produkty Pracy Związane z Analizą Testów (Test Analysis Work Products)
Powstają podczas analizy podstawy testów i definiowania "co" ma być testowane.
Główne przykłady to:
- Warunki Testowe (Test Conditions): Zidentyfikowane elementy lub zdarzenia, które mają być zweryfikowane (np. "sprawdź logowanie z poprawnym hasłem"). Mogą być udokumentowane na różnym poziomie szczegółowości.
- Informacje o Defektach w Podstawie Testów (Information about Defects in the Test Basis): Zgłoszenia błędów, niejasności lub niespójności znalezionych w dokumentacji stanowiącej podstawę testów (np. w wymaganiach).
Wyniki analizy stanowią wejście do etapu projektowania testów.
4. Produkty Pracy Związane z Projektowaniem Testów (Test Design Work Products)
Powstają podczas przekształcania warunków testowych w konkretne sposoby testowania ("jak" testować).
Przykłady obejmują:
- Przypadki Testowe (Test Cases): Zestawy warunków wstępnych, danych wejściowych, kroków i oczekiwanych rezultatów, zaprojektowane do weryfikacji konkretnego warunku testowego.
- Karty Testów (Test Charters): Stosowane w testowaniu eksploracyjnym, definiują misję lub cel sesji testowej, ale nie precyzują kroków.
- Specyfikacje Danych Testowych (Test Data Specifications): Opis danych potrzebnych do wykonania przypadków testowych.
- Specyfikacje Środowiska Testowego (Test Environment Specifications): Opis wymaganego sprzętu, oprogramowania, konfiguracji sieci itp.
Te artefakty definiują, w jaki sposób zostaną przeprowadzone testy.
5. Produkty Pracy Związane z Implementacją Testów (Test Implementation Work Products)
Powstają podczas przygotowywania wszystkiego, co jest potrzebne do faktycznego wykonania testów.
Przykłady obejmują:
- Procedury Testowe / Skrypty Testowe (Test Procedures / Test Scripts): Szczegółowe instrukcje krok po kroku dotyczące wykonania jednego lub więcej przypadków testowych, w tym skrypty automatyzacji.
- Zestawy Testów (Test Suites): Zgrupowane procedury lub skrypty testowe, często według określonego kryterium (np. testy regresji, testy danej funkcjonalności).
- Harmonogram Wykonania Testów (Test Execution Schedule): Plan określający kolejność i czas wykonania zestawów testów.
- Przygotowane Dane Testowe (Prepared Test Data): Konkretne dane gotowe do użycia w testach.
- Skonfigurowane Środowisko Testowe (Configured Test Environment): Gotowe do użycia środowisko wraz z narzędziami.
Wynikiem implementacji jest gotowość do rozpoczęcia wykonywania testów.
6. Produkty Pracy Związane z Wykonaniem Testów (Test Execution Work Products)
Powstają podczas i w wyniku uruchamiania testów.
Przykłady obejmują:
- Logi Testów (Test Logs): Zapis przebiegu wykonania testów, zawierający informacje o wykonanych krokach, rzeczywistych wynikach i statusie (zaliczony, niezaliczony, zablokowany).
- Raporty o Defektach (Defect Reports): Szczegółowe opisy zaobserwowanych awarii, które zostały zidentyfikowane jako defekty w oprogramowaniu. (Szczegółowo omówione w Rozdziale 5.5).
- Dokumentacja Wyników Testów (Documentation of Test Results): Podsumowanie wyników wykonania dla poszczególnych przypadków lub zestawów testów.
Te produkty dostarczają dowodów na wykonanie testów i informacje o jakości testowanego obiektu.
7. Produkty Pracy Związane z Zakończeniem Testów (Test Completion Work Products)
Powstają na etapie podsumowania i archiwizacji działań testowych.
Przykłady obejmują:
- Raport Podsumowujący Testy (Test Summary Report): Dokument podsumowujący cały proces testowy, jego wyniki, ocenę jakości i wnioski dla interesariuszy. (Szczegółowo omówiony w Rozdziale 5.3).
- Elementy Robocze Dotyczące Działań Doskonalących (Action Items for Improvement): Zidentyfikowane działania mające na celu usprawnienie procesu testowego w przyszłości.
- Sfinalizowane Testware (Finalized Testware): Zarchiwizowane plany, przypadki, skrypty, dane, środowiska itp., gotowe do ewentualnego ponownego użycia (np. w testach regresji, w fazie utrzymania).
Zakończenie testów formalnie zamyka cykl testowy i dostarcza cennych informacji zwrotnych.
Znaczenie Testware
Produkty pracy testowej (testware) są niezbędne do:
- Planowania i zarządzania: Umożliwiają określenie zakresu, harmonogramu i zasobów.
- Komunikacji: Służą do informowania interesariuszy o postępach i wynikach.
- Powtarzalności: Pozwalają na wielokrotne wykonywanie tych samych testów (np. regresji).
- Audytowalności: Stanowią dowód przeprowadzenia testów i ich wyników.
- Transferu wiedzy: Ułatwiają przekazywanie informacji o testach nowym członkom zespołu lub zespołom utrzymania.
- Doskonalenia procesu: Analiza testware pozwala na identyfikację obszarów do usprawnienia.
Efektywne tworzenie, zarządzanie i wykorzystanie testware jest kluczowym elementem profesjonalnego podejścia do testowania oprogramowania.