Planowanie testów - metoda ACC

Pytania: jak dobrze testować? czy jak zaplanować testowanie, aby sprawdzić kluczowe funkcje systemu? Pojawiają się bardzo często … i brak jest jednoznacznych odpowiedzi.

Zdaje się, że pewnej odpowiedzi w tym obszarze udziela James Whittaker, który śmiało porównał testowanie do zmieniającego się i aktywnego procesu opieki zdrowotnej, a oprogramowanie do pacjenta.

Lekarze w swej pracy mogą korzystać z dwóch istotnych rzeczy, a mianowicie: karty pacjenta wraz historią choroby i leczenia oraz monitora, który pokazuje aktualny stan najważniejszych parametrów pacjenta.

Jak słusznie zauważa Whittaker tester nie ma historii choroby, nie wie w którym miejscu system jest „chory”. Tester nie ma również monitora, który pokazuje aktualny stan oprogramowania( ile jest  błędów, gdzie występują, i kto się aktualnie nimi zajmuje, naprawia je).

To spostrzeżenie sprowokowało Whittakera do powołania do życia metody, która pozwala sporządzić iście lekarską diagnozę oprogramowania przeznaczonego do testów.

Metoda ACC – Attributes – Components – Capabilities

Metoda ACC prezentuje jedną z ciekawszych strategii planowania testów. James Whittaker przedstawił ją bazując na swoim doświadczeniu z pracy w Google. Jest to metoda zaproponowana jako alternatywa dla tworzenia klasycznych planów testów, opierających się jedynie o scenariusze testowe. ACC również takowe zawiera, ale nacisk jest położony na zupełnie inny obszar testów. Metoda Attribute – Component – Capability Analisys  składa się z trzech etapów i angażuje cały zespół.

Etap I – Definiowanie Atrybutów (Attributes)

Według Whittakera I etap tworzenia planu testów to określenie atrybutów produktu (strony, serwisu internetowego, aplikacji mobilnej). W pierwszej kolejności zespół testerów tworzy opis produktu w postaci prostej listy przymiotników. Nie chodzi tu jednak o zwykły opis, ale o listę najważniejszych i kluczowych cech, które czynią ten produkt pożądanym przez użytkowników i pozytywnie wyróżniają go na tle konkurencji. Przykłady: bezpieczny, szybki, itp.

Etap II – Definiowanie Komponentów (Components)

Na etapie drugim zespół zastanawia się nad komponentami produktu, które można określić jako składowe systemu. Są to podstawowe elementy systemu, jak np. „Koszyk” w serwisach zakupowych, lub „Dodawanie zdjęć” na portalach społecznościowych. Whittaker sugeruje, aby zadać sobie pytanie „Z czego jest zrobiony? Jakie ma części?”. Komponenty przyjmują najczęściej postać rzeczowników.

Najlepszą techniką generowania atrybutów i komponentów jest „burza mózgów”.

Etap III – Definiowanie Zdolności (Capabilities)

Na tym etapie ACC zespół definiuje zdolności produktu. Jest to etap wymagający i czasochłonny. Zdolności przyjmują formę czasowników, ponieważ opisują akcje, procesy, czynności jakie wykonuje system, produkt. Tłumacząc Whittakera, Capability to dziecko (dzieci) Atrybutu z Komponentem. Jeżeli nasza lista zdolności wydaje się krótka warto poprosić developerów by na nią spojrzeli. Wówczas z typową sobie chęcią naprawiania, zaczną podpowiadać, doradzać i modyfikować naszą listę. Przykładowe capability: wyszukiwanie jest szybkie, ponieważ trwa krócej niż 1s.

Końcowym rezultatem metody ACC jest zazwyczaj matryca bądź wizualizacja, która obrazuje ilość zdolności w konkretnych parach atrybutów z komponentami. Jest to, wykorzystując metaforę Whittakera, rodzaj karty pacjenta, która mówi nam, jaki jest jego stan i jakie miejsca są narażone na choroby.  Jak widać ACC z pewnością pozwala zlokalizować obszary, które najbardziej potrzebują leczenia (testów).

Przypadki testowe – logicznie i konkretnie
Witamy na blogu Testility

Nasi pracownicy cyklicznie publikują posty związane z poprawą jakości w IT. Tematy, które poruszamy:

  • testy oprogramowania
  • nauka testowania aplikacji i systemów
  • rodzaje testów
  • metodyki pracy IT
  • wiele innych
Najnowsze w blogu