Szkoły testowania

Szkoły testowania
Szkoły testowania to zbiór reguł i zasad, jakie przestrzegają pewne grupy testerów. Są to podejścia do tego, jak testy są wykonywane i jak postrzegamy wartość testowania. Przyjrzymy się im bliżej.

Pierwsze szkoły testowania zaprezentował w 2003 r. Bret Prettichord. Była to ważna próba poznania testowania i kultury wykonania weryfikacji. Czym są szkoły testowania? Są definiowane przez standardy, techniki i hierarchię ważności. Autor wyróżnił następujące szkoły:

  • szkoła analityczna / matematyczna – poprzez systematyczną analizę może dostarczyć dowodów na to, że oprogramowanie działa zgodnie z wymaganiami [najbardziej znany przedstawiciel to Boris Beizer], 

  • szkoła procesowa – testowanie powinno być ustrukturyzowane i powtarzalne i nie powinno zależeć od pojedynczego wykonania; postęp projektu informatycznego mierzy się poprzez testowanie,

  • szkoła kontroli jakości – testerzy przejmują odpowiedzialność za jakość w projekcie [najbardziej znany przedstawiciel to Alka Jarvis]

  • szkoła kontekstowa – testowanie musi adaptować się do kontekstu [Cem Kaner, James Bach].

 

Później pracę Prettichorda próbowano modyfikować na wiele sposobów, dodając nowe szkoły. Ponieważ zmienia się samo tworzenie oprogramowania, to i testowanie ewoluuje. Aktualnie mówimy o pięciu szkołach:

  • szkoła analityczna – podejście silnie techniczne; stawia na dowody powodzenia testowania, często odwołuje się do uzyskania pokrycia wymagań,

  • szkoła procesowa – oparta jest na standardach; próbuje określić postęp przez testowanie,

  • szkoła jakości – podejście, w którym testerzy stają się strażnikami jakości,

  • szkoła kontekstowa – według tej szkoły najważniejsze jest zrozumienie potrzeb odbiorców i poszukiwanie problemów, które są z ich perspektywy ważne,

  • szkoła zwinności – według niej testowanie jest potwierdzeniem, że pewien etap tworzenia oprogramowania się zakończył; z silnym naciskiem na automatyzację.

 

Częstym błędem popełnianym przez testerów oprogramowania jest uznawanie struktury certyfikacji ISTQB jako jednej ze szkół testowania. Nie jest to prawda. W swoich sylabusach ISTQB kreuję pewną wizję testowania, ale samo nie aspiruje do bycia szkołą. Testowanie opisywane w sylabusach to podejście silnie procesowe z naciskiem na analityczny aspekt testowania w oparciu o wymagania. W wielu miejscach ISTQB promuje postawę i rolę testera jako osoby, która pilnuje i strzeże jakości. W swoich najnowszych publikacjach odwołuje się również do zwinności w testowaniu. 

W sylabusach ISTQB, a szczególnie w podręczniku do poziomu zaawansowanego dla kierowników testów, znajdziemy opisy wielu szkół z rekomendacją łączenia technik i metod testowania, tzw. blended testing. Największą skuteczność weryfikacji oprogramowania uzyskamy dzięki znalezieniu podejścia najbardziej efektywnego w danym otoczeniu. Można by to traktować jako szkołę kontekstową, gdyby nie zbiór „najlepszych” praktyk jak np. "testuj w oparciu o wymagania", "pisz przypadki testowe".

W mojej praktyce zawodowej spotkałem się z wieloma szkołami testowania i, choć sam jestem zwolennikiem szkoły kontekstowej, to uznaję, że każda ze szkół ma swoje zalety i wady. Analiza okoliczności projektowych może nam pomóc zdefiniować (nazwać) daną szkołę i stosować się do niej w danym projekcie lub organizacji. Warto znać również inne szkoły, aby móc z nich czerpać i rozwijać własne testowanie. Szkoły testowania opisuję podczas swoich szkoleń (zazwyczaj ISTQB Poziom Zaawansowany - Kierownik Testów).

 

Radek Smilgin 

 

Źródła:

https://www.slideshare.net/Softwarecentral/four-schools-of-software-testing

 

Najbliższe szkolenie ISTQB Poziom Zaawansowany - Kierownik Testów odbędzie się 18-22 czerwca we Wrocławiu.

 

To powinno Cię zainteresować