Zawód tester oprogramowania. Czy to praca dla każdego? 

Przemysław Papis | Rozwój oprogramowania | 20.09.2023

Czy zawód testera oprogramowania to praca dla każdego? Jaki zestaw umiejętności powinien posiadać dobry tester oprogramowania? Przeczytaj artykuł!

W dynamicznie rozwijającym się świecie technologii, gdzie oprogramowanie jest integralną częścią naszego codziennego życia, istnieje grupa profesjonalistów, którzy pełnią kluczową rolę w zapewnianiu jakości i niezawodności każdej aplikacji, programu czy platformy – są to testerzy oprogramowania. Choć może się wydawać, że ich zadanie polega tylko na poszukiwaniu błędów, to w rzeczywistości jest to o wiele bardziej złożona i fascynująca dziedzina, która pozwala zapewnić bezpieczeństwo i doskonałą jakość cyfrowego świata, w którym żyjemy.

Tester oprogramowania – praca dla każdego? 

Jako tester manualny pracuję od 2015 roku i od tego czasu zdążyłem zetknąć się z wieloma mitami dotyczącymi tej pracy, takimi jak:  

  • Testowanie oprogramowania to zawód dla każdego, kto chce wejść do branży IT 
  • Tester oprogramowania jest mniej ważny od programisty 
  • Testowanie jest łatwe polega tylko na klikaniu i szukaniu błędów  
  • Testowanie można pominąć   

Jeżeli chcesz spróbować swoich sił jako tester, z tego tekstu dowiesz się, jak jest naprawdę. Piszę o tym, czy naprawdę każdy może być testerem, jakie predyspozycje powinien mieć dobry tester i jaką rolę pełni on w cyklu rozwoju oprogramowania.  

Czytaj także: Kim jest QA tester? Testowanie oprogramowania i zapewnianie jakości bez tajemnic!

Praca jako tester oprogramowania – fakty i mity 

  1. Mit: Każdy może pracować jako tester oprogramowania 

Zacznijmy może od tego, skąd wzięło się przeświadczenie, że w obszarze testowania może pracować każdy. Sądzę, że jest kilka powodów tego stanu rzeczy, ale głównym jest sytuacja na rynku pracy jeszcze kilka-kilkanaście lat temu. Gdyby wówczas ktoś zadał mi pytanie, czy każdy może pracować jako tester, moja odpowiedź mogłaby być zgoła inna. Zarówno na staże czy stanowiska juniorskie w tamtych latach przyjmowano znacznie szerszą grupę osób, niż ma to miejsce obecnie. A ponieważ stanowisko testera ma faktycznie dość niski próg wejścia, wiele osób założyło, że jest to praca dla każdego, kto chce spróbować swoich sił w branży IT (która niezmiennie kusi zarobkami i stabilnością pracy).  

  • Fakt: Tak jak w przypadku każdego stanowiska, tak i w testach potrzebny jest ciągły rozwój, a skończenie stażu czy wejście do branży IT jako junior to dopiero początek. Wiele osób, które spodziewają się szybkiej kariery jako testerzy oprogramowania, może być zaskoczonych tym, jak ważne w tym zawodzie są osobiste predyspozycje (o tym niżej), kompetencje miękkie, znajomość narzędzi, udział w szkoleniach, certyfikaty. Istotny jest też wybór swojej specjalizacji, odpowiedniej ścieżki rozwoju (testy manualne, testy automatyczne, ścieżka liderska lub test managerska). Podsumowując, w tej pracy trzeba mieć umiejętności techniczne, pomocne będą też na pewno zrozumienie podstaw programowania, znajomość narzędzi testowych (przynajmniej ze słyszenia), języki obce, znajomość systemów operacyjnych oraz umiejętność czytania dokumentacji technicznej.  
     
  1. Mit: Testowanie polega tylko na szukaniu błędów  

Kolejnym powodem zainteresowania zawodem testera może być niezrozumienie tego, na czym polega testowanie oprogramowania i czym zajmuje się tester w procesie wytwarzania oprogramowania. Osoby spoza branży, które nie pracowały dotychczas z oprogramowaniem lub nie są zaznajomione ze złożonością kontroli jakości (Quality Control), mogą mieć mylny obraz obowiązków testera oprogramowania. “To łatwe. Wystarczy po prostu klikać i znajdować błędy” – to spore uproszczenie, które nie ma odzwierciedlenia w codziennych zadaniach. Oczywiście dla testera manualnego “przeklikiwanie” się przez scenariusze testowe, znajdowanie i zgłaszanie błędów stanowią znaczną część pracy. Jest to jednak wierzchołek góry lodowej. 

  • Fakt: Tester oprogramowania (Quality Control) dostarcza informacji o jakości rozwijanego produktu. Nie tylko poszukuje defektów, wykonując testy, ale także pomaga zminimalizować ryzyko ich wystąpienia, przygotowuje raporty na temat stanu aplikacji oraz dostarcza ważnych informacji pomocnych w procesie zapewniania jakości (Quality Assurance). Dziś zwraca się uwagę, że działania testera (Quality Control) coraz bardziej zmierzają w stronę szeroko pojętego Quality Assurance. 
     
  1. Mit. Testowanie to mało ważny element wytwarzania oprogramowania  

Niektórzy mogą też uważać, że testowanie jest mało znaczącym elementem wytwarzania oprogramowania. Często spotykam się z opinią, głównie wśród osób spoza branży, że “tester to taki gorszy programista” i w sumie to nie do końca wiadomo, czym się zajmuje.  

Fakt: Testy oprogramowania są integralną, a nie opcjonalną częścią rozwoju oprogramowania. Testy nie są dodatkiem do pisania kodu, lecz istotnym elementem w procesie tworzenia wydajnych systemów zgodnych z wymaganiami funkcjonalnymi. W historii było mnóstwo sytuacji, w których niewykryty, z pozoru niewielki błąd generował milionowe koszty, udaremniał misję kosmiczną czy powodował koszmarne straty wizerunkowe. To obrazuje, jak istotne są testy i jak ważną rolę odgrywa tester oprogramowania. 

Jaki zestaw umiejętności powinien posiadać dobry tester oprogramowania?  

Rozpisałem się na temat mitów dotyczących zawodu testera (i pewnie nie wyczerpałem tematu), ale nie chciałbym jednak zniechęcać was do spróbowania swoich sił w testowaniu. Skupmy się więc na tym, dla kogo będzie to odpowiednia praca i jaki zestaw umiejętności powinien posiadać dobry tester, aby sprawdzać się w tej roli.  

  • Dbałość o szczegóły – jedną z głównych cech testera kontroli jakości jest skrupulatność i dbałość o szczegóły. Specjaliści ds. kontroli jakości muszą przeczesywać złożone systemy, szukając nawet najmniejszych wad, które mogą negatywnie wpłynąć na działanie produktu. Podczas pracy z dokumentacją każde słowo ma znaczenie i niuans może zaważyć na tym, czy produkt będzie spełniał wymogi klienta. 
  • Powtarzalność – zapewnianie jakości często obejmuje powtarzalne zadania, np. kilku- czy kilkudziesięciokrotne przechodzenie przez te same przypadki testowe w celu sprawdzenia zachowania oprogramowania w kolejnych iteracjach. Taki system pracy może być monotonny i nużący dla niektórych osób. Jednocześnie nie powinien sprawiać, że tester straci uwagę i stanie się mniej czujny (to prędko doprowadzi do obniżenia jakości). 
  • Umiejętność rozwiązywania problemów – tak jak wspominałem wcześniej, testowanie to coś więcej niż tylko szukanie błędów. Dobry tester musi nie tylko znaleźć problem i go zgłosić, ale też mieć chęć zgłębienia go, by zapobiec podobnym przypadkom w przyszłości i pomóc w znalezieniu rozwiązania. Wbrew obiegowej opinii tester nie naprawia wszystkich znalezionych przez siebie defektów. Czasem źródło problemu leży zupełnie gdzieś indziej, niżby się wydawało (na ogół naprawą błędów zajmują się programiści czy DevOpsi; tester poprawia błędy, ale we własnym kodzie, w sytuacji, gdy pisze testy automatyczne)  
  • Komunikacja i współpraca – skuteczna komunikacja ma kluczowe znaczenie w kontroli jakości. Testerzy muszą bardzo dokładnie zgłaszać defekty, jasno komunikować, gdzie leży problem, opisywać ścieżkę do odtworzenia problemu w taki sposób, aby jednoznacznie można było dany błąd odtworzyć i naprawić. Trzeba ściśle współpracować zarówno z programistami, jak i innymi interesariuszami. Specjaliści kontroli jakości często pełnią rolę mediatorów pomiędzy programistami a menedżerami produktu czy klientem, co wymaga doskonałych umiejętności interpersonalnych. Trzeba być empatycznym, uważać na słowa, pamiętać, że wszyscy dążą w tym samym kierunku, którym jest wydanie jak najlepiej działającego produktu. 
  • Praca pod presją – testerzy często pracują pod dużą presją czasu, w napiętych terminach. Często czasu na testy jest zbyt mało, a oczekuje się od nich skutecznego dostarczania wyników. Harmonogramy projektów i cykle wydań mogą być stresujące, zwłaszcza gdy defekty pojawiają się tuż przed wprowadzeniem produktu na rynek. Specjaliści ds. kontroli jakości muszą zachować opanowanie i strategicznie ustalać priorytety, aby zapewnić wysoką jakość. 
  • Ciągłe uczenie się i rozwijanie – sektor IT jest zapewne jednym z najprężniej rozwijających się pod względem technologicznym i wymaga ciągłego uczenia się. Tutaj boleśnie można odczuć prawdziwość stwierdzenia, że “Kto stoi w miejscu, ten się cofa”. Coraz to nowe technologie, narzędzia, metodologie – znajomość nowinek może znacząco poprawić nie tylko jakość, ale i efektywność testowania. 
  • Empatia i abstrakcyjne myślenie – wspomniałem już o tym częściowo przy okazji komunikacji i współpracy, ale uznałem, że ten aspekt zasługuje na wyróżnienie w oddzielnym punkcie. Dobry tester musi umieć wczuć się w rolę użytkownika końcowego, spróbować przewidzieć jego zachowania. Musi chcieć „popsuć” oprogramowanie. Wymyślać jak najróżniejsze sposoby działania i sytuacje, na które może w przyszłości być narażony produkt, i zawczasu im zaradzić. 

Jak zostać testerem oprogramowania? 

Jest wiele możliwości, jedną z nich są programy stażowe. W Inetum prowadzimy nabór dla juniorów w ramach autorskich programów stażowych – znajdziecie je na stronie kariery. Mam nadzieję, że mój artykuł pomógł wam zrozumieć, jakie cechy powinien mieć dobry tester oprogramowania i jeśli uważacie, że spełniacie powyższe warunki, to moim zdaniem warto spróbować swoich sił. 

Czytaj także: Co łączy testera z branżą filmową? Czyli scenariusze testowe bez tajemnic

Podsumowanie 

Kontrola jakości jest bardzo ważnym aspektem całego procesu wytwarzania oprogramowania. Testerzy oprogramowania uczestniczą w procesie już od samego początku i są istotnym elementem na każdym etapie. Testerzy muszą posiadać unikalny zestaw umiejętności, znacznie wykraczający poza definicję typowych osób introwertycznych czy ekstrawertycznych. Tester oprogramowania blisko współpracuje z ludźmi, zarówno z programistami, jak i przedstawicielami biznesu, ale korzysta też z wachlarza narzędzi programistycznych, testerskich oraz biurowych. Czasem trzeba w ciszy i skupieniu powtarzać w nieskończoność te same testy, ale też rozmawiać z ludźmi, jasno i stanowczo prezentując swoje uwagi, popierając to konkretnymi danymi.