Przeglądy, jako kluczowa technika testowania statycznego, nie są chaotycznym działaniem, lecz ustrukturyzowanym procesem.
Aby były skuteczne, muszą przebiegać według określonych kroków, zapewniających systematyczność, kompletność i efektywność.
Sylabus ISTQB Foundation Level v4.0, w sekcji 3.2.2 (FL-3.2.2 K2), opisuje ogólny proces przeglądu, bazując na standardzie ISO/IEC 20246.
Zrozumienie tych czynności jest niezbędne do prawidłowego planowania, przeprowadzania i wykorzystywania wyników przeglądów.
Standard ISO/IEC 20246 definiuje „usystematyzowane, a zarazem elastyczne ramy”, co oznacza, że opisany proces stanowi szkielet, który można i należy dostosować do konkretnej sytuacji – stopnia formalności przeglądu, typu produktu pracy, kontekstu projektu i organizacji.
Im bardziej formalny przegląd (np. inspekcja), tym więcej zadań w ramach każdej czynności będzie wymaganych.
Sylabus wyróżnia pięć głównych czynności w procesie przeglądu:
- Planowanie
- Rozpoczęcie przeglądu
- Przegląd indywidualny
- Przekazanie informacji i analiza
- Usunięcie defektów i raportowanie
Przyjrzyjmy się bliżej każdej z tych czynności.
1. Planowanie (Planning)
Każdy skuteczny przegląd zaczyna się od solidnego planu.
Faza planowania ma na celu zdefiniowanie ram i celów przeglądu, zapewniając, że wszyscy uczestnicy wiedzą, co, dlaczego i jak będzie przeglądane.
Kluczowe zadania na tym etapie to:
- Określenie zakresu przeglądu: Co dokładnie będzie przedmiotem przeglądu? Czy cały dokument/kod, czy tylko jego fragment? Jakie są granice przeglądu?
- Zdefiniowanie celu przeglądu: Po co przeprowadzamy ten przegląd? Czy głównym celem jest wykrycie defektów, ocena zgodności ze standardami, osiągnięcie konsensusu, edukacja zespołu, czy może kombinacja tych celów? Cel wpływa na wybór typu przeglądu i technik.
- Identyfikacja produktu pracy: Precyzyjne wskazanie wersji dokumentu, fragmentu kodu lub modelu, który będzie analizowany.
- Określenie ocenianych charakterystyk jakościowych: Na jakich aspektach jakości skupi się przegląd? Czy na poprawności, kompletności, spójności, czytelności, zgodności ze standardami, testowalności?
- Wskazanie obszarów wymagających szczególnej uwagi: Czy istnieją konkretne części produktu pracy, które są bardziej ryzykowne, złożone lub krytyczne i wymagają dokładniejszej analizy?
- Zdefiniowanie kryteriów wyjścia (Exit Criteria): Kiedy uznamy przegląd za zakończony? Jakie warunki muszą zostać spełnione (np. liczba pozostałych defektów krytycznych, procent poprawionych anomalii, formalne zatwierdzenie)?
- Zebranie informacji pomocniczych: Jakie materiały będą potrzebne przeglądającym (np. powiązane dokumenty, standardy kodowania, listy kontrolne, wcześniejsze wersje produktu)?
- Oszacowanie nakładu pracy i ram czasowych: Ile czasu zajmie przygotowanie, przegląd indywidualny, spotkanie i działania po przeglądzie? Ustalenie realistycznego harmonogramu.
- Wybór uczestników i przypisanie ról: Kto weźmie udział w przeglądzie i jakie role będzie pełnił (Autor, Moderator, Przeglądający, Protokolant, Lider przeglądu – role zostaną omówione w kolejnej lekcji).
- Wybór typu przeglądu i technik: Jaki typ przeglądu (nieformalny, przejrzenie, techniczny, inspekcja) najlepiej pasuje do celów i kontekstu? Jakie techniki (np. ad hoc, oparte na listach kontrolnych, scenariuszach, perspektywie) zostaną zastosowane podczas przeglądu indywidualnego?
Dobrze przeprowadzona faza planowania jest fundamentem sukcesu całego procesu przeglądu.
2. Rozpoczęcie Przeglądu (Initiate Review)
Po zaplanowaniu następuje formalne rozpoczęcie przeglądu, często nazywane „kick-off”.
Celem tego etapu jest upewnienie się, że wszystko i wszyscy są gotowi do rozpoczęcia właściwej pracy.
Kluczowe zadania to:
- Dystrybucja produktu pracy i materiałów pomocniczych: Upewnienie się, że wszyscy uczestnicy otrzymali dostęp do właściwej wersji produktu pracy oraz wszelkich niezbędnych dokumentów referencyjnych, list kontrolnych, standardów itp.
- Wyjaśnienie celów, zakresu i procesu: Przypomnienie uczestnikom celów przeglądu, jego zakresu, oczekiwanych rezultatów, harmonogramu oraz zasad, według których będzie przebiegał.
- Potwierdzenie ról i obowiązków: Upewnienie się, że każdy uczestnik rozumie swoją rolę (np. jako przeglądający, moderator) i związane z nią zadania.
- Sprawdzenie gotowości produktu pracy: Czasami sprawdza się, czy produkt pracy spełnia podstawowe kryteria wejścia do przeglądu (np. czy jest kompletny, czy przeszedł podstawowe testy).
- Odpowiedzi na pytania uczestników: Umożliwienie uczestnikom zadawania pytań dotyczących procesu lub produktu pracy przed rozpoczęciem przeglądu indywidualnego.
Etap rozpoczęcia zapewnia, że wszyscy są na tej samej stronie i mają wszystko, czego potrzebują, aby efektywnie przeprowadzić przegląd indywidualny.
3. Przegląd Indywidualny (Individual Review / Preparation)
To jest „serce” procesu przeglądu, gdzie każdy przeglądający samodzielnie analizuje produkt pracy.
Celem jest dokładne zbadanie produktu pod kątem zdefiniowanych celów i charakterystyk jakościowych oraz zidentyfikowanie potencjalnych problemów.
Kluczowe zadania:
- Analiza produktu pracy: Każdy przeglądający dokładnie studiuje przydzielony mu produkt pracy (lub jego część).
- Stosowanie technik przeglądu: Wykorzystanie jednej lub więcej technik przeglądu (np. ad hoc, listy kontrolne, scenariusze, oparte na rolach, perspektywie) w celu systematycznego wyszukiwania problemów. Sylabus wspomina o listach kontrolnych i scenariuszach, a więcej technik opisuje standard ISO/IEC 20246.
- Identyfikacja anomalii: Wyszukiwanie wszelkich odchyleń od oczekiwań, standardów, wymagań lub dobrych praktyk. Anomalie mogą obejmować defekty, niespójności, niejednoznaczności, braki, sugestie usprawnień itp.
- Dokumentowanie anomalii: Zapisywanie znalezionych anomalii wraz z ich lokalizacją, opisem i (opcjonalnie) proponowanym rozwiązaniem lub klasyfikacją ważności.
- Zadawanie pytań: Notowanie pytań lub wątpliwości, które pojawiają się podczas analizy, a które wymagają wyjaśnienia przez autora lub innych uczestników.
Efektywność całego przeglądu w dużej mierze zależy od staranności i zaangażowania uczestników na tym etapie.
4. Przekazanie Informacji i Analiza (Communicate and Analyze Issues)
Po zakończeniu przeglądu indywidualnego, znalezione anomalie i pytania muszą zostać zebrane, skonsolidowane i przeanalizowane.
Celem jest wspólne zrozumienie problemów, podjęcie decyzji co do ich klasyfikacji i dalszych działań.
Kluczowe zadania:
- Przekazanie wyników: Przeglądający przekazują zidentyfikowane anomalie i pytania (np. w formie listy, komentarzy w narzędziu, podczas spotkania).
- Konsolidacja i usunięcie duplikatów: Zebranie wszystkich zgłoszonych anomalii w jednym miejscu i zidentyfikowanie duplikatów.
- Analiza anomalii: Wspólne (np. podczas spotkania przeglądowego) lub indywidualne (przez moderatora/lidera) przeanalizowanie każdej anomalii w celu zrozumienia jej istoty i wpływu.
- Klasyfikacja anomalii: Określenie, czy dana anomalia jest faktycznie defektem, sugestią, pytaniem, czy może fałszywym alarmem. Defekty mogą być dalej klasyfikowane według ważności (np. krytyczny, wysoki, niski).
- Podejmowanie decyzji: Ustalenie, które defekty wymagają poprawy, które sugestie zostaną wdrożone, a które odrzucone (z uzasadnieniem).
- Dyskusja i wyjaśnienie wątpliwości: Omówienie pytań i niejasności zgłoszonych przez przeglądających.
- Dokumentowanie wyników: Zapisanie ostatecznej listy defektów do poprawy, podjętych decyzji i ewentualnych dalszych działań (np. potrzeba kolejnego przeglądu).
Forma tego etapu może się różnić – od formalnego spotkania przeglądowego (typowego dla inspekcji) po asynchroniczną komunikację za pomocą narzędzi.
5. Usunięcie Defektów i Raportowanie (Fixing and Reporting)
Ostatnia czynność koncentruje się na naprawie zidentyfikowanych defektów i formalnym zakończeniu przeglądu.
Kluczowe zadania:
- Poprawa defektów przez autora: Autor produktu pracy wprowadza poprawki zgodnie z ustaleniami z poprzedniego etapu.
- Weryfikacja poprawek: Sprawdzenie (np. przez moderatora, lidera przeglądu lub wyznaczonego przeglądającego), czy defekty zostały poprawnie usunięte i czy nie wprowadzono nowych problemów.
- Aktualizacja statusu anomalii: Oznaczenie poprawionych defektów jako zamknięte.
- Zebranie metryk: Zgromadzenie danych dotyczących przeglądu (np. liczba znalezionych defektów, czas trwania, wysiłek), które mogą być wykorzystane do oceny efektywności procesu i jego doskonalenia.
- Sprawdzenie kryteriów wyjścia: Weryfikacja, czy wszystkie zdefiniowane w fazie planowania kryteria wyjścia zostały spełnione.
- Formalne zatwierdzenie (jeśli wymagane): W bardziej formalnych przeglądach może być wymagane formalne podpisanie lub zatwierdzenie produktu pracy przez odpowiednie osoby.
- Raportowanie wyników: Przygotowanie i dystrybucja raportu z przeglądu, podsumowującego jego przebieg, wyniki, podjęte decyzje i status końcowy.
Po pomyślnym zakończeniu tego etapu, produkt pracy jest gotowy do dalszych kroków w cyklu życia oprogramowania.
Elastyczność Procesu
Należy pamiętać, że opisany proces jest modelem ogólnym.
W praktyce, zwłaszcza przy mniej formalnych przeglądach (np. przejrzenie kodu przez kolegę), niektóre czynności mogą być uproszczone, połączone lub pominięte.
Kluczowe jest jednak zachowanie podstawowej struktury i celów każdej fazy, aby zapewnić systematyczność i skuteczność przeglądu, dostosowując poziom formalności do konkretnych potrzeb.