...

Tester w IT: sprawdź, czy ten zawód jest dla Ciebie

  • ~ 10 min

Nie każdy specjalista IT to programista, który pisze kod. Czasem niezastąpionym pracownikiem w projekcie IT jest osoba bez znajomości żadnego języka programowania.

A oto i on – tester oprogramowania, nazywany również inżynierem QA. Nie koniecznie musi znać Pythona czy Javę, żeby ściśle współpracować z programistami. 

Czytając ten artykuł, dowiesz się, kim jest tester oprogramowania, czym on się zajmuje w firmie IT, ile zarabia oraz jakie umiejętności powinien posiadać. 

Kim jest tester oprogramowania?

Testerem oprogramowania nazywamy fachowca odpowiedzialnego za jakość produktu. To właśnie tester sprawdza, jak działa strona, aplikacja czy program komputerowy, i znajduje w nich błędy (tzw. “bugi”). Właściwie quality assurance (QA) z angielskiego dosłownie jest tłumaczone jako zapewnienie jakości. 

Tester powinien dokładnie opisać każdy wykryty bug. Jest to potrzebne, żeby developer mógł szybko znaleźć wadliwe miejsce w kodzie i je “naprawić”. Zaawansowani testerzy potrafią nawet przewidywać potencjalne bugi oraz im zapobiegać jeszcze zanim powstaną, ale to już są umiejętności na poziomie mistrzowskim, który nie każdy potrafi osiągnąć. A wraz z tym zawód testera oprogramowania jest dość twórczy. Testerzy często wymyślają i wykorzystują nieszablonowe metody testowania stron, programów lub gier. I czasem nawet próbują je celowo “zepsuć”.

Приклад багу на сайті: текст наїхав на картинку

Przykładowy błąd na stronie: nagłówek zachodzi na obrazek

Co robi tester oprogramowania?

Codzienne zadania testera zależą od dwóch czynników: poziomu zaawansowania specjalisty oraz testowanego systemu. Specjaliści QA mogą testować przeróżne oprogramowanie: strony internetowe, aplikacje mobilne, gry online, sklepy internetowe, systemy korporacyjne, oprogramowanie sprzętowe, systemy bezpieczeństwa itd. 

  • Czyta dokumentację techniczną i analizuje to, jak system lub jego część (strona internetowa lub aplikacja / program) powinny działać zgodnie z oczekiwaniami klienta. 
  • Szuka błędów, używając różnych metod testowania, scenariuszy testowych oraz specjalnych testów wydajnościowych.
  • Sporządza raport defektu dla każdego wykrytego błędu, w którym dokładnie opisuje znaleziony bug i kroki potrzebne do jego zreprodukowania. 
  • Tworzy raport podsumowujący wszystkie wykryte bugi i przekazuje go developerom.
  • Ciągle kontaktuje się z programistami i pilnuje, żeby wszystkie zgłoszone defekty zostały usunięte. 

Początkujący specjalista testuje oprogramowanie manualnie – nie potrzebujesz do tego znajomości programowania. Tester manualny wczuwa się w rolę użytkownika końcowego i analizuje działanie programu. Jeśli do testowania jest strona internetowa, tester wchodzi na tę stronę, sprawdza, jak wyglądają wyświetlane na niej treści, weryfikuje, czy poprawnie działają przyciski, formularze, menu nawigacyjne itd. 

Tester na poziomie średniozaawansowanym wykonuje już bardziej złożone zadania. Na przykład, taki specjalista może używać nieszablonowych metod testowania lub stworzyć program do automatyzacji procesu testowania oprogramowania. Sprawienie, że przycisk “Kup” zostanie kliknięty dziesięć razy w ciągu sekundy lub oszukanie bazy danych to właśnie jego robota.  

Starszy tester oprogramowania skupia się na strategii testowania. Do jego zadań należy organizacja sposobu pracy tak, żeby znajdowanie błędów zajmowało jak najmniej czasu. I co więcej – starszy tester dąży do zapobiegania powstawaniu większości błędów podczas tworzenia oprogramowania. 

Istnieje oczywiście mnóstwo specjalizacji inżynierów QA. Weźmy na przykład testera gier komputerowych. Czyż to nie jest wymarzona praca dla wielu z nas? Grasz sobie w gry, a za to jeszcze dostajesz niezłą kasę.

Jednak nie wszystko jest takie proste, gdyż często tester musi poświęcić całe dnie na testowanie jednej malusieńkiej lokacji lub przeanalizowanie interakcji pomiędzy dwoma mechanizmami. Czasem tester musi powtórzyć tę samą akcję kilkaset razy, żeby zreprodukować błąd i dokładnie go opisać w raporcie.  

Na przykład, specjalista QA testuje lokację z gry “Wiedźmin 3”. Musi upewnić się, że wszystkie interakcje pomiędzy graczem a obiektami zachodzą poprawnie. A tu nagle BAM i coś poszło nie tak!

Баг у грі: персонаж провалюється у текстуру

Bug w grze: bohater zapada pod teksturę

W takim przypadku inżynier QA próbuje zreprodukować bug i zapisać dane o nim. W praktyce wygląda to tak, że tester raz po raz próbuje ponownie “zapaść” pod teksturę, zmuszając bohatera gry do skakania w miejscu, biegania przez dany punkt lokacji pod różnymi kątami, poruszania się na zgiętych kolanach… Jeśli to wszystko nie przyniesie  zamierzonego skutku, tester będzie próbował wchodzić w interakcję z przedmiotami, które bohater ma przy sobie lub innymi niezależnymi postaciami. 

Proces tworzenia gry jest bardzo złożony, dlatego wszelkiego rodzaju mechanizmy nie zawsze współdziałają tak, jakbyśmy tego chcieli. I odnalezienie prawdziwego źródła błędu wymaga sporego wysiłku.

Czym dokładnie zajmuje się tester?

W firmie, zajmującej się projektowaniem stron internetowych, tester oczywiście będzie testować wszelkiego rodzaju strony, usługi, sklepy internetowe. Najpierw musi zapoznać się z dokumentacją techniczną, która zawiera wymagania klienta. Następnie specjalista QA dokładnie testuje design, menu nawigacji, każdą stronę witryny i znajdującą się na niej funkcję. 

Raport defektu (ang. “bug report”) to podstawowy dokument w pracy testerskiej. Tester sporządza osobny raport ze szczegółowym opisem wykrytego buga: gdzie i wyniku czego pojawia się dany defekt, jaki ma wpływ na funkcjonowanie całego systemu itd. To wszystko jest potrzebne, żeby inni członkowie zespołu mogli ten bug zreprodukować (czyli odtworzyć). 

Takie raporty zazwyczaj są sporządzane w specjalistycznych programach takich jak Jira, Trello, Notion. Pełnią one bardzo ważną rolę, zwłaszcza w dużych projektach, w których codziennie są uruchamiane dziesiątki test case’ów (przypadków testowych). Dobry tester natomiast potrafi napisać raport defektu z zamkniętymi oczami.

Типовий баг-репорт тестувальника у системі Jira

Przykładowy raport defektu dodany przez testera w systemie Jira

Po napisaniu raportu defektu tester przekazuje go programistom, którzy dany błąd próbują naprawić. Jest to dość wyczerpująca i ważna praca, gdyż jeśli zespół testerski nie wykryje błędu, to na pewno go znajdą użytkownicy. A dla firmy to oznacza tylko jedno – straty finansowe i reputacyjne.

Jakie umiejętności techniczne posiada tester?

Spójrzmy teraz na umiejętności techniczne inżyniera QA, nazywane także kompetencjami twardymi (ang. hard skills). Nawet początkujący specjalista powinien wiedzieć i umieć dość dużo.

  • Rozumie zasady tworzenia stron internetowych, aplikacji lub innego oprogramowania.
  • Zna się na architekturze klient-serwer i używa podstawowych narzędzi programistycznych.
  • Potrafi korzystać z różnorodnych standardowych metod testowania oraz programów testerskich.
  • Tworzy przypadki testowe, raporty defektów i inną dokumentację.
  • Rozumie metodologie zarządzania procesem produkcyjnym takie jak Scrum, Kanban itp.

Początkujący nie musi umieć programować. Jednak jeśli chcesz się rozwijać w zawodzie i zarabiać więcej, to w przyszłości przyda Ci się przynajmniej podstawowa znajomość technologii w projekcie, np. HTML, CSS, JavaScript, React etc.

Inną ważną kwestią jest co najmniej podstawowa umiejętność mówienia i pisania w języku angielskim. Biegłość językowa najbardziej przyda się pracownikowi firmy outsourcingowej, który codziennie opowiada o wynikach swojej pracy zagranicznym kolegom. Jednak w przypadku firm produkcyjnych (takich jak Uber lub Bank Pekao) znajomość języków obcych nie jest aż tak istotna.

Jakie umiejętności miękkie posiada tester?

To jest ciekawszy temat, gdyż wiele osób uważa, że tester to nie tylko zawód, ale również powołanie. Poniżej opisaliśmy najważniejsze umiejętności miękkie (ang. “soft skills”) oraz cechy osobowości potrzebne w testowaniu oprogramowania. 

  • Wrodzona dociekliwość. Tester bierze pod lupę każdy szczegół w projekcie. Jego ulubione pytanie to “Co się stanie, jeśli zrobię to i tamto?”. Inżynier QA oczywiście najpierw sprawdzi to, o co jest proszony. Jednak czasem może intuicyjnie odczuwać, że jest jakiś problem, który nikomu nie przyszedł do głowy. 
  • Twórcze myślenie. Umiejętne testowanie za pomocą sprawdzonych metod jest bardzo ważne, ale nie mniej ważna jest także zdolność poszukiwania rozwiązań niestandardowych. Jeśli istnieje możliwość, że użytkownik skorzysta z programu w sposób inny od przewidzianego, należy to koniecznie uwzględnić.
  • Umiejętność pracy w zespole. Tester blisko współpracuje z programistami i menedżerami zespołu. Ponadto ma oczywiście kierownika (lidera zespołu). Aby skutecznie się komunikować, tester powinien umieć dogadywać się z innymi członkami zespołu. 
  • Zdolność wykonywania pracy powtarzalnej. Czasami tester wykonuje setki powtarzalnych działań, żeby zreprodukować bug i znaleźć przyczynę jego wystąpienia. Tester nie powinien obawiać się monotonii w pracy. Jak dostałeś 100 przypadków testowych do wykonania, puść ulubioną nutę i zacznij przeprowadzać testy – krok po kroku i bez pośpiechu. 
  • Koncentracja. Jako tester manualny, musisz umieć się skupić, żeby na przykład móc odtworzyć scenariusz powstania błędu i dokładnie go opisać w raporcie. Wszystkie czynności wykonywane przez testera powinny być logiczne, konsekwentne i skrupulatne. Nawet jeśli popełnisz jakiś nieistotny błąd, z dużym prawdopodobieństwem zostanie to zauważone przez programistów i będziesz musiał to poprawić. 
  • Dyscyplina. Testowanie stron i programów to codzienna wyczerpująca praca, za którą często płaci firma zewnętrzna (klient). Praca testera jest skoordynowana z innymi działami i stanowi nieodłączną część całego procesu biznesowego. Dlatego specjalista od testowania powinien starannie planować czas, ustalać priorytety oraz przestrzegać terminów.
Чотири групи навичок, які має розвивати новачок в ІТ

Cztery rodzaje umiejętności, które powinien rozwijać początkujący w branży IT

Brzmi skomplikowanie, ale weź pod uwagę dwa ciekawe fakty. Fakt pierwszy polega na tym, że kompetencje miękkie są potrzebne w wielu zawodach, ale nie są tak dobrze płatne, jak np. umiejętności techniczne testera. I fakt drugi – kompetencje miękkie też można rozwijać. 

Podczas zajęć w GoIT uczestnicy kursu pracują nad swoimi kompetencjami miękkimi oraz innymi umiejętnościami potrzebnymi do rozwoju zawodowego. Co więcej – w szkole GoIT udoskonalisz swój angielski, stworzysz CV, uzupełnisz profil na LinkedIn oraz weźmiesz udział w próbnych rozmowach kwalifikacyjnych. Od zera do bohatera: aby zostać specjalistą QA na poziomie Junior, potrzebujesz tylko 3 miesięcy na kursie  “Tester oprogramowania od zera”.

Jakie jest zapotrzebowanie na testerów oprogramowania?

Testowanie to niezastąpiona część procesu wytwarzania każdego oprogramowania. Powstanie konkurencyjnego produktu na dobrym jakościowo poziomie bez testowania jest niemożliwe. Na razie żadne rozwiązanie oferowane przez sztuczną inteligencję nie jest na wystarczająco dobrym poziomie, chociaż z dużym prawdopodobieństwem w przyszłości najbardziej banalne i powtarzalne czynności będą “oddelegowane” systemom AI.  

Właśnie dlatego zawód testera nie traci na aktualności na rynku pracy i w miarę powstawania nowych technologii będzie się zmieniał. W 2022-2023 rynek pracy oczywiście się skurczył, ale po zakończeniu wojny wszystko wróci do normy, podobnie jak było po pandemii. 

Obecnie znalezienie pracy jako specjalista QA jest nie lada wyzwaniem, ale dla chcącego nic trudnego. Oto liczby otwartych wakatów dla hasła “QA” w dn. 15 marca 2023 roku: dou.ua – 169, djinni.co – 100, rabota.ua – 104, work.ua – 72. Szukać można również, używając innych haseł: «QA engineer», «Quality assurance», «tester».

Możesz także rozważyć opcję zmianę miejsca zamieszkania lub pracę zdalną, czy też na popularnych serwisach zagranicznych. Na naszym blogu opowiadaliśmy już o tym, jak działa justjoin.it. W połowie marca odnotowaliśmy 369 wakatów dla testerów oprogramowania. 

Pamiętaj też o LinkedIn, stronach firm, branżowych kanałach na Telegramie. To są dodatkowe sposoby na znalezienie pracy w branży IT.

Na polskim rynku pracy brakuje testerów na poziomie middle i wyżej. Jednak weź pod uwagę, że tester to najbardziej popularna specjalizacja wybierana przez osoby, zamierzające rozpocząć pracę w branży IT. Już wspominaliśmy wcześniej, że aby wyróżnić się na tle konkurentów, musisz przygotowywać się kompleksowo, czyli zdobywać umiejętności techniczne, rozwijać kompetencje miękkie i udoskonalać angielski. 

Ile zarabiają testerzy oprogramowania?

A teraz przechodzimy do najciekawszego – do zarobków w branży IT. 

Średnie wynagrodzenie dla początkującego testera (Junior QA), posiadającego mniej niż roczne doświadczenie zawodowe, wynosi 800 $ miesięcznie. Stażysta bez żadnego doświadczenia może liczyć na co najmniej 400 $. 

Specjalista na poziomie średnim (Middle QA), posiadający ponad dwuletnie doświadczenie, dostaje 1850 $. Na wynagrodzenie o takiej wysokości można liczyć tylko, jeśli specjalista posiada solidną wiedzę techniczną. Część testerów na poziomie middle ma przynajmniej podstawową znajomość co najmniej jednego języka programowania.

Зарплати українських тестувальників на початку 2023 року (
dou.ua
)

Wynagrodzenie testerów w Polsce na początku 2023 roku (dou.ua)

Doświadczony specjalista (Senior QA) w Polsce średnio zarabia około 3400 $ miesięcznie. Ciekawostką jest to, że kierownik zespołu testerskiego (QA Team Lead) dostaje ciut więcej – 3500 $, chociaż nie jest to maksymalne wynagrodzenie, na które może liczyć. 

Największe zarobki ma kierownik działu testerskiego (QA Tech Lead). To stanowisko powszechniej występuje w dużych firmach międzynarodowych, którzy zatrudniają setki testerów. Według danych statystycznych osoba na tym stanowisku zarabia 4400 $ miesięcznie. 

Pamiętaj, że tego rodzaju badania ankietowe są przeprowadzane przez Dou co kwartał. Biorą w nich udział pracownicy prawie wszystkich firm IT w Polsce.

Przebranżowienie na testera to względnie prosty sposób na wejście do branży IT, gdyż próg wejścia dla początkujących jest dość niski. Praca testera oprogramowania jest techniczna, ale jednocześnie ciekawa i poniekąd nawet twórcza. Jeśli to brzmi, jak coś dla Ciebie, nie zwlekaj. Zapisz się na darmowy maraton testowania stron internetowych lub od razu na kurs testera od zera od GoIT. Dasz radę!

Czytaj więcej

O umiejętnościach, specjalizacjach i pracy w IT