Jesteś testerką? Czyli że w pracy cały dzień grasz w gry? Hm, no niezupełnie. Odkąd pracuję jako tester oprogramowania, słyszę takie opinie cały czas. Większość ludzi jest przekonana, że testerzy zajmują się wyłącznie testowaniem gier komputerowych, co oznacza, że grają w nie całymi dniami. Nic bardziej błędnego! 

Nie tylko producenci gier zatrudniają testerów. Testerzy pracują w działach IT firm z różnych branż. Spotkacie ich również w software house’ach, takich jak Goyello. Być może was zaskoczę, ale nawet testerom zatrudnionym w firmach produkujących gry dzień nie upływa na zabawie. Praca testera może być jednak bardzo przyjemna i satysfakcjonująca. W dzisiejszym wpisie powiem wam, co to właściwie znaczy być testerem. Przedstawię też najważniejsze cechy, jakie według mnie trzeba mieć, aby być dobrym w tym zawodzie.

Zagrajmy w to… pięćdziesiąt razy!

Dlaczego testowanie gier to nie zabawa, zapytacie? Odpowiedź jest prosta. Zawodowy tester nie gra w taki sam sposób, jak gracz amator. Zadaniem testera jest znaleźć jak najwięcej błędów podczas gry. Co to oznacza w praktyce? Na przykład to, że bierze on udział w tej samej rozgrywce pięćdziesiąt razy pod rząd. Za każdym razem zmieniają się nieco okoliczności – walczy inną bronią czy atakuje przeciwnika z innej strony. To jednak wciąż ta sama walka. Możecie mi wierzyć na słowo – po dwudziestym razie zaczyna się człowiekowi nudzić. Po pięćdziesiątym ma już całkiem dosyć. 😉

Testowałam kiedyś grę typu „endless run”. Podczas biegu musiałam pokonywać przeszkody, omijać przeciwników, używać różnych rodzajów broni i uważać na śmiertelne pułapki. Tło i wszystkie elementy gry były ładowane dynamicznie. Za każdym kolejnym razem nie dało się przewidzieć, jaka konfiguracja się trafi. Bywało, że cały dzień schodził na testowaniu zachowania jednej postaci. Najpierw musiałam ją znaleźć. Następnie sprawdzić, czy zachowuje się zgodnie z założeniami. A to wszystko na szybko przesuwającym się tle. Po ośmiu godzinach takiego testowania świat falował mi przed oczami. O prowadzeniu samochodu mogłam zapomnieć.

A mówiąc poważnie…

Wyobrażacie sobie, co by było, gdyby producenci oprogramowania dla banków, firm ubezpieczeniowych, na potrzeby branży lotniczej czy medycznej nie testowali swoich produktów? Aplikacje dla biznesu muszą być najwyższej jakości, niezawodne i bezpieczne. To zadanie dla testera, który codziennie weryfikuje wiele różnych aplikacji i tworzy raporty błędów. Sprawdza również, czy zgłoszone wcześniej usterki zostały naprawione.

Co jest najtrudniejsze?

Najtrudniejszy aspekt pracy testera to napięcie i stres. Jego natężenie oczywiście zależy od projektu. Jednak w większości przypadków tester musi pracować w skupieniu przez cały dzień. Dlaczego to stresująca praca? Głównie dlatego, że testerzy odpowiadają za jakość i bezpieczeństwo produktów. Tester bierze na siebie wszystkie błędy krytyczne, które zostaną ujawnione w finalnej wersji produktu, a które nie zostały znalezione podczas testów.

tester 1

Jesteś junior developerem?

Powszechnym problemem, z którym stykają się testerzy, jest fakt brania ich za junior developerów. Co więcej – ludzie często uważają, że tester to coś gorszego niż developer i pracę tę może wykonywać przysłowiowy człowiek z ulicy. Ktokolwiek tak myśli, bardzo się myli. W dobrych zespołach testerzy i developerzy współpracują ze sobą. Ich role dopełniają się. Patrzą na tę samą aplikację z różnych perspektyw.

Kim zatem jest tester? Co to znaczy być dobrym testerem? Jest kilka cech, które każdy dobry tester musi posiadać. Omówię je poniżej.

Profesjonalna wiedza

Tester musi dysponować taką samą wiedzą o aplikacji, jak developer. Dodatkowo, musi umieć wczuć się w rolę zwykłego użytkownika. Dzięki temu użyje aplikacji w taki sam sposób, w jaki będzie z niej korzystał użytkownik. Nie zaś tak, jak chciałby developer. Od testera wymaga się również znajomości kwestii biznesowych i umiejętności porównania ich z tym, co stworzy developer. Niezbędna jest też wiedza techniczna – o technologiach i językach programowania. Tester korzysta z tej wiedzy, bazując na swoim doświadczeniu, dobrych praktykach i informacjach dotyczących danej aplikacji.

Umiejętności komunikacyjne

Dobry tester to osoba komunikatywna i lubiąca ludzi. Informacje o znalezionych błędach powinien przekazywać neutralnym tonem, bez stwarzania niepotrzebnego napięcia czy obwiniania kogokolwiek. Umiejętność skutecznego komunikowania się, zarówno ustnie jak i na piśmie, ułatwia kontakt z developerami, analitykami biznesowymi i innymi uczestnikami projektu. Tester nie może bać się reakcji, jakie wywoła jego raport kontroli jakości produktu. Szukanie i zgłaszanie błędów to jego rola.

Niestandardowe podejście

Tester powinien odznaczać się swego rodzaju dziecięcą naiwnością. Czasem nie da się przewidzieć działania aplikacji. Jeszcze mniej przewidywalne jest zachowanie użytkownika. Dlatego zdolność do nieszablonowego myślenia, dociekliwość i kreatywność są niezwykle cennymi cechami każdego testera. Dobry tester to też ktoś, kto lubi zadawać pytania. Nie wstydzi się, jeśli okaże się, że się myli.

Analityczne myślenie

Osobie testującej oprogramowanie przyda się również zdolność do analitycznego i logicznego rozumowania. Pomoże namierzyć ukryte błędy, rozpracować kwestie biznesowe i przewidzieć, co może pójść nie tak na dalszych etapach realizacji. Analityczny i otwarty umysł pomaga przy pisaniu przypadków i scenariuszy testowych.

Dbałość o szczegóły

Mały kamyk może spowodować lawinę. Podobnie jest z błędami w aplikacjach. Dlatego tester musi zwracać uwagę na szczegóły. Członkowie zespołu, którzy są w projekcie od dawna, widzą aplikację codziennie. Pewnych kwestii mogą już po prostu nie zauważać. Tester musi mieć cały czas oczy szeroko otwarte, aby dostrzec błędy przeoczone przez innych. Nawet jeśli widzi aplikację po raz setny.

Gotowość do nauki

Świat zmienia się błyskawicznie. Zmieniają się procesy, kod i technologie. Co było na fali wczoraj, dziś może okazać się nieaktualne. Tester musi być więc gotów zdobywać wiedzę. Musi mieć świadomość zachodzących zmian, zauważać je, umieć się do nich dostosować i czerpać z nich naukę.

I… cierpliwość

Mogłabym wymienić jeszcze kilka cech przydatnych w pracy testera: umiejętność zarządzania czasem, ustalania priorytetów czy dobra organizacja pracy. Zdecydowanie mogą one okazać się pomocne i sprzyjać poprawie wydajności. Jednak najważniejsza cecha, o której dotąd nie wspomniałam, to cierpliwość. „Cierpliwość jest największą cnotą” – to zdanie powinno być dewizą każdego testera.

***

Przeczytałam niedawno następującą opinię: “Tester powinien dostrzegać to, czego nie widzą inni. Powinien pomyśleć o tym, o czym inni nie pomyśleli. Powinien robić to, czego inni nie ośmielili się zrobić.” I to moim zdaniem jest najlepsza charakterystyka dobrego testera.

Jesteś testerem? Zamierzasz nim zostać? Chcesz podzielić się spostrzeżeniami i wyrazić swoją opinię? Zostaw komentarz.

 

Software Tester at Aspire Systems Poland. Agile believer, following the Agile manifesto both in her professional and private life. Passionate about databases and IT project management.