Tymczasem określenie to wprowadza niepotrzebny podział i może być mylące. Żadna inna profesja nie dzieli swojej pracy na "manualną" i "zautomatyzowaną". Nie mówimy przecież o "manualnych lekarzach" czy "manualnych programistach". Warto więc przyjrzeć się bliżej, jakie faktyczne aktywności i kompetencje kryją się za tym uproszczonym terminem. Michael Bolton proponuje bardziej precyzyjne nazewnictwo, które lepiej oddaje złożoność procesu testowego. „Tester manualny” to po prostu „tester”, a „testowanie manualne” to po prostu testowanie. I aby uchwycić, czym jest to „testowanie”, to możemy je rozpisać na wiele podobszarów.
Testowanie doświadczalne (experiential testing)
Ważnym elementem pracy testera jest umiejętność wejścia w rolę użytkownika końcowego. W testowaniu doświadczalnym tester wchodzi w interakcję z produktem dokładnie tak, jak zrobiłby to rzeczywisty użytkownik. To nie jest tylko sprawdzanie funkcjonalności, ale również całościowa ocena doświadczenia, które zapewnia oprogramowanie.
Testowanie interaktywne (interactive testing)
Ten rodzaj testowania koncentruje się na bezpośredniej obserwacji i analizie zachowania produktu w czasie rzeczywistym. Bolton podkreśla tu znaczenie bezpośredniego kontaktu z produktem. Tester aktywnie kontroluje aplikację - czy to przez interfejs użytkownika, czy przez narzędzia testowe - i natychmiast reaguje na zauważone zjawiska.
Testowanie eksploracyjne (exploratory testing)
W przeciwieństwie do testów opartych na scenariuszach, w testowaniu eksploracyjnym to tester zachowuje pełną kontrolę nad procesem i podejmuje decyzje w czasie rzeczywistym. Bolton zwraca uwagę na pewne rozróżnienie: "Możesz eksplorować - podejmować nieplanowane decyzje - w sposób całkowicie odmienny od normalnego spotkania użytkownika z produktem. Możesz generować ogromne ilości danych i wchodzić w interakcję z produktem, aby go obciążyć, lub eksplorować, próbując pozbawić produkt zasobów." Nie jest to więc chaotyczne klikanie, ale metodyczne badanie produktu, gdzie każdy kolejny krok wynika z poprzednich obserwacji.
Testowanie transformacyjne (transformative testing)
Ten aspekt testowania często umyka uwadze. To proces, w którym sam tester się rozwija. Bolton określa to jako aktywność, która prowadzi do uczenia się, odkryć, identyfikacji ryzyka i generowania pomysłów na nowe testy. Każda sesja testowa to okazja do pogłębienia wiedzy o produkcie, identyfikacji nowych rodzajów ryzyka i doskonalenia strategii testowych.
Automatyzacja - narzędzie, nie zamiennik
Bolton stanowczo podkreśla: "Testowania nie da się zautomatyzować. Kropka. Pewne zadania w ramach testowania mogą znacznie skorzystać z narzędzi, ale porównywanie wyników produktu ze specyfikacją przez maszynę nie jest bardziej „zautomatyzowanym testowaniem” niż sprawdzanie pisowni jest „zautomatyzowaną edycją”." Można zautomatyzować wykonywanie określonych kroków i sprawdzanie rezultatów, ale najważniejsze elementy procesu testowego, czyli projektowanie testów, interpretacja wyników, ocena ryzyka wymagają ludzkiej inteligencji i kompetencji społecznych.
Znaczenie precyzyjnego nazewnictwa
Odejście od uproszczonego podziału na testy "manualne" i "automatyczne" to nie tylko kwestia semantyki, ale raczej fundamentalna zmiana w postrzeganiu roli testera. Bolton podsumowuje to następująco: "Testowanie musi być postrzegane jako społeczne (i społecznie wymagające), kognitywne, skoncentrowane na ryzyku, krytyczne (w kilku znaczeniach), analityczne, badawcze, wykwalifikowane, techniczne, eksploracyjne, doświadczalne, eksperymentalne, naukowe, odkrywcze, honorowe rzemiosło." Precyzyjne nazewnictwo pomoże lepiej zrozumieć złożoność procesu testowego i docenić kompetencje, które są wymagane w tym zawodzie. Im precyzyjniej będziemy opisywać nasze działania, tym lepiej będziemy komunikować ich wartość.
Z całością oryginalnego tekstu możecie zapoznać się tutaj.