Traceability Matrix – Macierz śledzenia

Traceability Matrix - Macierz śledzenia

Poziom trudności
2.5/5

Macierz śledzenia jest bardziej znana pod swoją angielskojęzyczną nazwą, czyli Traceability Matrix. Jest to macierz, która pokazuje powiązania pomiędzy dwoma wybranymi wartościami. Warto zaznaczyć, że występuje tu relacja wiele do wielu, czyli zarówno z jednej strony, jak i z drugiej może być wiele przypisań. Dzięki takiej charakterystyce, wykorzystanie jej do śledzenia pokrycia wymagań, przez testy, staje się bardzo łatwe, przejrzyste i czytelne. Nie ma znaczenia, jak atomowe są wymagania, a także to czy jeden test pokrywa jedno wymaganie, czy może kilka. Poniżej postaram się bliżej opisać macierz śledzenia wymagań, czyli Requiremetns Tracebility Matrix – RTM.

Co nam daje RTM?

Na początek może kilka słów o korzyściach, jakie możemy mieć z wprowadzenia w projekcie macierzy RTM. Podstawową informacją, jaką możemy odczytać z macierzy, jest określenie pokrycia wymagań przez warunki testowe, lub przypadki testowe — w przypadku bezpośredniego ich tworzenia. Dzięki temu na bieżąco możemy śledzić postępy, dla których wymagań zostały już napisane warunki testowe lub przypadki, a dla których jeszcze nie. Co jest bardzo przydatne — śledzenie może odbywać się dwukierunkowo. Na późniejszych etapach jesteśmy w stanie szybko znaleźć i powiązać wybrany wymagania z przypisanymi im produktami testów. Dodatkowo poprzez odpowiednią priorytetyzację wymagań, możemy określić, które wymaganie powinno być pokryte w pierwszej kolejności.

Wszystkie korzyści z zastosowania RTM są najbardziej widoczne w dużych projektach, gdzie liczba wymagań, a co za tym idzie warunków testowych, osiąga wielkości rzędu kilku/kilkunastu tysięcy. Bardziej zaawansowanym przypadkiem jest zastosowanie trzeciego wymiaru macierzy. Macierz taka może służyć do powiązania wymagań z warunkami testowymi oraz z przypadkami testowymi. W tym artykule stworzymy standardową dwuwymiarowa macierz powiązań dla wybranej części wymagań oraz przypadków testowych dla prostego projektu kalkulatora.

Formy prezentacji macierzy

RTM może być przedstawiana standardowo jako macierz — gdzie wiersze i kolumny prezentują dwie wartości, które chcemy powiązać. Rozwiązanie to ma swoje wady i zalety. Sprawdza się ono szczególnie w małych projektach, gdzie liczba wymagań jest ograniczona i śledzimy tylko dwie wartości. W przypadku dużych projektów taka postać staje się mniej czytelna, a co za tym idzie nieużyteczna. Podobna sytuacja jest w przypadku gdy dodamy trzeci wymiar. Tutaj lepszym rozwiązaniem jest użycie zwykłej tabeli, gdzie w kolejnych kolumnach będą na przykład: wymagania — warunki testowe — przypadki testowe — defekty. Jednak zawsze przed przystąpieniem do tworzenia RTM, dobrze jest zweryfikować, co tak naprawdę chcemy śledzić, gdyż więcej nie zawsze znaczy lepiej.

Tworzymy Traceability Matrix

Istnieją narzędzia, które ułatwiają nam stworzenie macierzy. Na przykład Jira czy Polarion, pozwala powiązać konkretne wymagania z konkretnymi przypadkami testowymi, jednak czytelność formy przedstawienia powiązań jest dyskusyjna. Jednym z prostych narzędzi do prezentacji powiązań jest stary, dobry arkusz kalkulacyjny :). W prosty sposób można w kolumnach określić wymagania, natomiast w wierszach odpowiednie przypadki testowe. Kolorami można zaznaczyć odpowiednie priorytety.

1. Otwieramy arkusz

Biorąc pod uwagę fakt, że liczba wymagań jest stała (przynajmniej teoretycznie), natomiast podczas pisania scenariuszy przybywa nam przypadków testowych, preferuję w kolumnach zawrzeć wymagania, natomiast w wierszach odpowiednie przypadki testowe. Z mojego doświadczenia wiem, że takie ustawienie sprawia, że macierz jest bardziej czytelna.

2. Wpisujemy wymagania

W kolejnym kroku, po przeprowadzonej analizie wymagań, możemy je wprowadzić do RTM, wykorzystując ich identyfikatory — w naszym przypadku może to być np. dwadzieścia pięć wymagań oznaczonych jako CALC-001 – CALC-025. W przypadku małej liczby wymagań można dodać krótki opis, w postaci tytułu do każdego wymagania. Wpłynie to z pewnością pozytywnie na czytelność całej macierzy. Jednak w przypadku większych projektów zdecydowanie odradzam takie praktyki, gdyż negatywnie wpływają one na czytelność macierzy jako całości. Zamiast tego można dodać linki do konkretnych opisów w podstawie testów lub umieszczenie opisów jako podpowiedzi.

Traceability Matrix   Macierz śledzenia image
RTM-wymagania
Traceability Matrix   Macierz śledzenia image
RTM-opis wymagania

3. Dodajemy priorytety

W kolejnym kroku można uzupełnić macierz o priorytety dla wymagań. Jeśli ich jeszcze nie posiadamy, może to być dobry moment, aby rozważyć ich zdefiniowanie. Priorytety można wprowadzić do macierzy na dwa sposoby — za pomocą dodatkowego wiersza lub dodając kolory dla kolejnych kolumn, lub jedynie dla komórek z wymaganiami. Oczywiście nic nie stoi na przeszkodzie, aby wykonać miks powyższych opcji. Wybrany sposób zależy tylko i wyłącznie od tego, co będzie dla nas czytelne.

Traceability Matrix   Macierz śledzenia image
RTM-priorytety - kolory
Traceability Matrix   Macierz śledzenia image
RTM-priorytety - liczby

4. Uzupełniamy przypadki testowe

Ostatnim krokiem jest dodanie istniejących przypadków testowych oraz po analizie pokrycia, dodawanie brakujących. W pierwszej kolumnie dodajemy kolejne przypadki testowe. Następnie w kolumnie z wymaganiem, które jest przez niego pokryte, wprowadzamy zaznaczenie.

Traceability Matrix   Macierz śledzenia image
RTM-śledzenie wymagań z przypadkami testowymi

Jak widzimy na powyższym przykładzie, stworzenie RTM nie jest rzeczą trudną, dlatego biorąc pod uwagę korzyści wynikające z jej użycia, może warto ją rozważyć w swoim projekcie?

Dodaj komentarz