Tester-optymista

Tester-optymista
Czy jest różnica w tym jak patrzę na oprogramowanie, kiedy pierwszy raz siadam do nowej wersji?

Kiedy podczas spotkania krakowskich testerów (KraQA) powiedziałem, że jestem testerem-optymistą i testując oprogramowanie nie szukam defektów, a sprawdzam, w których obszarach działa, stojąc na podeście prawie widziałem jak przez salę przechodzi fala konsternacji. Dało się wyczuć, że niektóre osoby jakby dostały z otwartej ręki w twarz. Pojawiło się pytanie - "...ale jak to?". Niestety rozwijająca się ciekawa dyskusja została brutalnie przerwana przez moderatora, więc chciałbym wyjaśnić skąd moje podejście.

Tester-optymista jest przeciwnością testera-krytyka, testera czepialskiego czy testera niezadowolonego. Jego celem nie jest wytknięcie wszystkich błędów i wskazanie wszystkich awarii. Jego celem jest na początku poszukanie pozytywów. Wiadomo, że są też negatywy, ale dlaczego zaczynać od najgorszego.

Posłużę się prostą analogią. Jeśli zamawiam w restauracji pizzę i piwo, to nie myślę, że ciasto do pizzy na pewno będzie niedopieczone, a piwo będzie rozcieńczone wodą. Nie robię tego, bo już na początku zepsułbym sobie posiłek. Mam nadzieję, że będzie smacznie od początku do końca. Na końcu możliwe, że stwierdzę, że tam, gdzie było więcej ciasta pizza się nie dopiekła, a wędlina może nie do końca była pierwszej świeżości. Może być tak, że na końcu przyjdzie mi do głowy, że cena nie do końca jest adekwatna do jakości produktu. Czy kucharz i kelner nie byliby odrobinę bardziej niechętni względem mojej osoby jeśli konsumpcję rozpocząłbym od stwierdzenia "Wiem, że ta pizza jest beznadziejna, ale to jedynie konstruktywna krytyka"? Pomijam już takie rzeczy jak pozytywne myślenie czy też samospełniające się proroctwa zakończone "A nie mówiłem". Można zarzucić, że przecież wielokrotnie wcześniej jadłem tę pizzę i zawsze była pełna niedoróbek. Tak? To po co tu ciągle jadam. Może warto wreszcie wstać od swojego bezpiecznego stolika daleko od kuchni, podejść do kucharza i powiedzieć mu, że jak dalej będziecie robił taką pizzę, to ta firma długo nie pociągnie. Mam nadzieję, że ta powodująca cieknięcie śliny historia jest wystarczająco obrazowa.

Jestem więc testerem-optymistą i, jak w agile'u, bardziej przyjmuję perspektywę właściciela produktu, zakładam jego okulary kiedy patrzę na produkt. Klient nie zamawia oprogramowania, aby wyżyć się na jego twórcach. Chce, aby produkt działał. Potrafię również wejść w buty programisty i zamiast atakować go dziesiątkami zgłoszeń defektów, wolę pogadać co zrobić, aby było lepiej. Zaczynam testowanie od sprawdzenia, czy przejdę aplikację od początku do końca. Mam nadzieję, że tak będzie. Jeśli pojawią się przeszkody, raportuję je. Jeśli przeszkody są nie do pokonania, biegnę do programisty i mówię mu, że mamy problem. Nie, że on MA problem, ale że nasz projekt ma problem.

Czasami mój optymizm wystawiony jest na ciężką próbę. Jeśli jednak poddam się atmosferze użalania się nad jakością oprogramowania i mam poczucie, że ani ja, ani nic co zrobię tej jakości nie zmieni, to biorę głęboki oddech i zaczynam od początku. Szklanka jest w połowie pełna albo w połowie pusta, a oprogramowania jest niedobre z widokiem na poprawę albo dobre z kierunkiem na niepoprawność.

 

Radek Smilgin

 

To powinno Cię zainteresować