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.