Czasami piszecie do mnie mniej więcej takie słowa „Dzień dobry, chcę zostać testerem oprogramowania i nie wiem, czy nadaję się do tego zawodu. Czy może pan powiedzieć jakie cechy powinien mieć tester?”. I tak powstał w mojej głowie pomysł na kolejny już artykuł, w którym opowiadam o zawodzie testera oprogramowania. O tym, czy każdy może zostać testerem oprogramowania, napisałem jakiś czas temu. W tym wpisie postaram się przedstawić mój punkt widzenia na temat tego, jakie cechy charakteru powinien mieć dobry tester. Pamiętaj, wpis ten opisuje mój subiektywny punkt widzenia. Opieram go na kilkuletnim doświadczeniu jako testera, osoby rekrutującej oraz od roku trenera i nie zmienia to faktu, że możesz mieć inne zdanie na ten temat :).
Jakie cechy powinien posiadać tester?
Uważam, że wśród wielu wspaniałych zalet, które jako przyszły tester mógłbyś mieć, są trzy, które powinieneś mieć, jeśli chcesz zostać testerem oprogramowania. Należy do nich komunikatywność konieczna, by wyrażać swoje opinie i słuchać opinii innych. Dzięki skrupulatności będziesz weryfikować aplikację dużo dokładniej niż osoby nie posiadające tej cechy. Analityczne myślenie pozwoli ci rozłożyć na części i zrozumieć działanie funkcjonalności testowanej aplikacji.
Nie bój się pytać, gdy czegoś nie wiesz.
Komunikatywność to moim zdaniem najważniejsza cecha testera ze wszystkich możliwych. Jeśli kiedykolwiek mignął Ci na ekranie komputera krótki komiks rysunkowy o zawodzie programisty, to prawdopodobnie zobaczyłeś bladego (bo niewidzącego światła dziennego) pana pochylonego nad klawiaturą i wpatrzonego w ekran. Popularnym przekonaniem na rynku jest określenie ludzi pracujących w IT (głównie developerów) jako introwertyków. Ludzi zamkniętych w sobie i małomównych. Z mojego własnego doświadczenia z kilku firm wiem, że współpraca z programistą może układać się różnie, ponieważ ludzie trafiają się różni, natomiast fajny kontakt z tymi ludźmi nie jest taki trudny.
Dodatkowym aspektem mogącym w jakiś sposób utrudnić komunikację są kwestie technologiczne a raczej ich nieznajomość w takim stopniu jak rozmówca. I teraz zdarzyć się może że przyjdzie Ci odpowiedzieć na pytanie jak przetestujesz serwis, bazę danych czy integrację z inną aplikacją w momencie gdy niewiele będziesz wiedzieć na temat tego co masz przetestować. Moim zdaniem trudno jest być w obecnych czasach super ekstra wymiataczem, ponieważ technologii i rozwiązań jest multum.
Z tego powodu, jeśli nie znasz technologi, w której masz zacząć pracować, powiedz o tym. Umów się z przełożonym, że dostaniesz czas na jej opanowanie lub zostaniesz z niej przeszkolony. Jako trener wiem, jak ważne podczas nauki nowych narzędzi czy technologii są zarówno samodzielność, jak i komunikacja. Samodzielność w rozsądnej formie, ponieważ nie chodzi o to, abyś przez 8 godzin szukał odpowiedzi na pytanie, podczas gdy kolega może Ci wszystko wyjaśnić w ciągu 30 minut. W jednej z firm, w której pracowałem, mieliśmy wprowadzoną zasadę 15 minut. Mówiła ona o tym, że jeżeli nie potrafisz poradzić sobie z problemem w 15 min, to zapytaj kogoś, kto zna rozwiązanie. Programiści, z którymi pracowałem, zawsze bardzo chętnie pomagali i tłumaczyli wszystko, dzięki czemu zdobywałem wiedzę, na której mi zależało. Dlatego nie bój się powiedzieć, gdy czegoś nie umiesz.
Tester podczas pracy ma być tak skrupulatny, jak kopciuszek podczas oddzielania ziarenek od popiołu ;).
Pamiętasz tę bajkę? Tak Kopciuszkowi pomogły myszki, ale na początku ona sama oddzielała te ziarenka. I wyobraź sobie to skupienie na zadaniu. Mozolnym i jakby nie patrzeć nudnym. A jednak wytrwale i do celu wykonywanym. Skrupulatność jest bardzo ważną cechą i bazuje na naszym samozaparciu i odpowiedzialności. Jako tester niejednokrotnie będziesz musiał wpatrywać się w ten sam ekran, by wypatrzeć wszelkie niedociągnięcia. Skrupulatność w testowaniu jest bardzo potrzebna, aby w zarówno w przypadku rozrywkowych, jak i zadaniowych aplikacji, spełniały one oczekiwania i dawały odpowiedni komfort użytkowania. Oczywiście, jeżeli programiści naprawią błędy zgłoszone ;).
Pożądane cechy kandydata – Umiejętność analitycznego myślenia oraz pracy w zespole.
Takie słowa często powtarzają się w ofertach na stanowisko testera oprogramowania. Analityczne myślenie to cecha, która pozwala nam na rozwiązywanie złożonych problemów, ale także pozwala na łatwiejsze zrozumienie algorytmów i zagadek logicznych, jakie często potrafi przed nami trudniejsza aplikacja postawić. Osoba bez tej cechy będzie miała znacznie utrudnione zadanie związane z pracą testerską. Zdarza się, że brak tej cechy może odebrać możliwość pracy na danym stanowisku. Kiedyś na zadane pytanie przez moją koleżankę analityczkę „A po cóż wam testerom analityczne myślenie?” odpowiedziałem „A powiedz mi, jak przeglądam Ci SRS’a (Software Requirements Specification) i zgłaszam do niego błędy to jaka cecha mi pomaga to robić?” Ten argument oczywiście wystarczył :).
Sumienność
Zdecydowanie wyróżniłbym tę cechę ze względu, na to, jak branża IT się rozwija. Zapotrzebowanie na programistów i testerów rośnie, a co za tym idzie, od czasu do czasu trafiają się ludzie skuszeni obietnicami łatwej pracy. Dzięki takim ludziom potem często się słyszy w środowisku narzekania na testerów, z którymi pracujemy, że są oni bez pasji i bardziej im zależy na sprawdzeniu Facebooka niż na wykonaniu swoich zadań.
Pewność siebie i umiejętność podejmowania decyzji
Czasami możemy mieć na swojej głowie ważny projekt, gdzie odpowiedzialność jest w dużej mierze oparta o nasze stanowisko. W takich momentach nasz przełożony może do nas przyjść tuż przed wydaniem aplikacji na produkcję i zapytać nas o jakość produktu. Zdarza się, że jest ona niska, przykładowo znaleźliśmy poważny błąd lub wręcz krytyczny i powątpiewamy w to, czy aplikacja powinna zostać udostępniona. Jeśli dodać do tego delikatne sugestie naszych dobrych przecież kolegów mówiących „A może już wypuścimy tę wersję?”, to okazuje się, że musimy być silni, by powiedzieć „Nie”. Testerze pamiętaj o jednym, Ty nie jesteś decyzyjny w kontekście wypuszczenia aplikacji. To zadanie Project managera i to jego odpowiedzialność. Jeżeli byłeś przeciwny i dobrze uzasadniłeś swoją ocenę jakości oprogramowania, to reszta należy do osób decyzyjnych.
Ciekawość świata i chęć rozwoju.
Testowanie jako dziedzina jest jedną z najszybciej rozwijających się zawodów. Wraz z rozwojem technologii powstają nowe miejsca pracy oparte o wiedzę związaną z danym zagadnieniem. Przykładem mogą być Chmura czy Chatboty. Obie technologie są rzeczy stosunkowo nowe na rynku, a w ostatnim czasie możemy zaobserwować coraz więcej ofert pracy z nimi związanych. My jako adepci tajemnej sztuki powinniśmy się interesować tym, co się dzieje w branży. Chęć rozwoju i brak lęku do tego, co nowe to bardzo ważne cechy stanowiące nieodzowną część tej pracy :).
Cech pożądanych jest naprawdę wiele i mógłbym je wymieniać bez końca. Należą do nich sceptycyzm wobec własnej pracy. Kreatywność – jakże ważna cecha. Moim zdaniem nieposiadanie jednej czy dwóch spośród wymienionych przeze mnie cech nie dyskwalifikuje Cię jako testera. Jedyne co może Cię powstrzymać przed zostaniem testerem to Ty sam :).