Piramida testów – hit czy kit?

Piramida testów – hit czy kit? W artykule postaram się przedstawić koncepcję, a także korzyści płynące ze stworzenia oraz jej używania.

Piramida testów

Piramida testów


Słysząc określenie piramida, pierwsze skojarzenia, jakie nam się nasuwają, są związane z Egiptem, faraonami, sfinksami itd… Jednak patrząc okiem testera, podstawowym skojarzeniem powinna być piramida testów. Czym jest, z czego się składa i do czego ją wykorzystać — tego dowiesz czytając ten artykuł.

Czym jest piramida testów?

Zacznijmy od tego, czym jest piramida testów. Najprościej rzecz ujmując, jest to graficzna reprezentacja optymalnego podziału poziomów testów, z uwzględnieniem ilościowym każdego z nich. Innymi słowy, pramida ta obrazuje „jak dużo” powinno być testowania na każdym, wymienionym w niej poziomie. Standardowo piramida dzieli się na trzy części o takiej samej wysokości, a co za tym idzie różnej powierzchni.

Poziom znajdujący się najniżej reprezentuje testy jednostkowe, środkowy — testy integracyjne, natomiast najwyższy testy end to end (e2e). Taki podział wynika jasno z czasu tworzenia, wykonywania oraz późniejszego utrzymywania testów na poszczególnych poziomach, a także, co pośrednio wynika z powyższego, kosztów wspomnianych operacji. Nikt chyba nie ma wątpliwości, że łatwiej i szybciej napisać test jednostkowy od testu integracyjnego czy testu end to end, szczególnie w sytuacji, gdy mamy do czynienia z kilkoma modułami/systemami. Kolejną sprawą jest fakt, że testy jednostkowe, w znakomitej większości są  automatyzowane, dzięki czemu ich wykonywanie nie kosztuje praktycznie nic — pozostaje jedynie koszty tworzenia oraz utrzymania.

Tworzenie piramidy

Aby wykonać taką piramidę, najlepiej zacząć od stworzenia trójkąta, najlepiej równobocznego — dzięki temu łatwiejsze będzie zobrazowanie oraz określenie podziału konkretnych sekcji. Zakładając, że cała piramida to przedstawia nasze wszystkie testy, to zgodnie z obliczeniami matematycznymi (zaokrąglenia do 10%), kolejność testów będzie następująca:

  • jednostkowe – 60%
  • integracyjne – 30%
  • E2E – 10%
PIramida testów - 3 poziomy
PIramida testów – 3 poziomy
Piramida testów - 4 poziomy
Piramida testów – 4 poziomy

A może więcej niż trzy poziomy?

Niektóre źródła przypisują poszczególnym poziomom umowne wartości jak na przykład odpowiednio 70%, 20%, 10%, lub 50%, 30%, 20%. Sam jestem zwolennikiem podziału matematycznego z zaokrągleniem do pełnych dziesiątek. Jest to o tyle dobre rozwiązanie, że w przypadku dodania kolejnego poziomu można w prosty sposób wyliczyć odpowiednie pokrycie.

Jak łatwo obliczyć, podział testów w tym wypadku będzie następujący:

  • jednostkowe – 40%
  • systemowe – 30%
  • integracyjne – 20%
  • E2E – 10%
Piramida testów - procentowy podział
Piramida testów – procentowy podział

Im więcej będziemy mieć poziomów, tym mniejsze będą nam wychodziły różnice pomiędzy nimi, a co za tym idzie, musimy zwiększyć dokładność wskazań każdego poziomu. Należy jednak mieć na uwadze, że wszystkie wartości są jedynie szacunkowe, dlatego też nie powinniśmy ich brać dosłownie. Głównym zadaniem piramidy testów jest zobrazowanie podziału testów. Jeśli w naszym projekcie mamy 300 testów jednostkowych, 100 testów integracyjnych, 150 e2e, to warto w takim przypadku dokonać przeglądu wszystkich testów, zastanowić się oraz wprowadzić niezbędne poprawki w testach.

Podsumowując, a zarazem odpowiadając na pytanie z tytułu, nie odważyłbym się umieścić piramidy testów w worku z oznaczeniem kit. Jednocześnie nie zdecydowałbym się określić jej mianem hitu. Osobiście wiem jakie korzyści płyną z jej używania, dlatego uznałbym to za solidne, a co ważniejsze użyteczne narzędzie. Może nie wprost, ale większość z nas ją stosuje — a jeśli nie, to po pewnym czasie z pewnością zacznie.

close

Newsletter