Jak zostać testerem oprogramowania od zera?

DEV
22.12.23

Branża IT obfituje w ścieżki kariery o różnej specyfice i progach wejścia. Jedną z nich jest zawód testera, któremu poświęcimy całą serię artykułów. Rozpoczynamy ją poradnikiem bazującym częściowo na doświadczeniach naszych kolegów z zespołu. Dowiecie się z niego, jak zacząć swoją przygodę z testowaniem, a także co może pomóc Wam w zdobywaniu kolejnych szczebli kariery.

Jako że nie wierzymy w uniwersalne formuły, nie mamy dla Was przepisu na to, jak zostać testerem. Zamiast tego, przygotowaliśmy podsumowanie niezbędnych umiejętności, predyspozycji, zaplecza technicznego i innych aspektów, które mają znaczenie w rekrutacjach. Zacznijmy jednak od absolutnych podstaw!

Tester oprogramowania – co robi?

Zasadniczo, rolą testera jest stała weryfikacja, czy oprogramowanie działa prawidłowo. Przeprowadzając testy, osoba na tym stanowisku wyłapuje ewentualne błędy i zgłasza je programistom czy UI/UX designerom, którzy na tej podstawie dokonują poprawek. Tester w pewnym sensie pośredniczy między tymi, którzy tworzą oprogramowanie oraz tymi, którzy z niego korzystają. Poprawność różnych aspektów oprogramowania sprawdza on, sięgając po:

testy funkcjonalne, które weryfikują właściwe działanie poszczególnych funkcji aplikacji

testy integracyjne, które weryfikują przepływ informacji między poszczególnymi modułami oprogramowania oraz zintegrowanymi z nim zewnętrznymi systemami

testy regresji, które weryfikują, czy aplikacja działa poprawnie po rundach poprawek i wprowadzonych zmianach w architekturze (poświęciliśmy im cały artykuł z innej serii)
Oprócz samego przeprowadzania testów, osoba na tym stanowisku zajmuje się również ich dokumentacją oraz planowaniem różnych scenariuszy testowych. Testy mogą być przeprowadzane manualnie lub automatyzowane. Często automatyzuje się zwłaszcza testy regresji, które ze względu na swoją powtarzalność są szczególnie podatne na błędy ludzkie.
W wielu przypadkach, tester opowiada również za poprawność interfejsu, sprawdzając jego zgodność z założeniami projektowymi. Jeśli na przykład w jednym z modułów aplikacji przyciski mają inne kształty lub kolory, niż zaplanowano, tester zgłasza to designerowi, który może dokonać poprawek na tej podstawie.

Tester a QA Specialist – czym różnią się te stanowiska?

Wbrew dość powszechnemu przekonaniu, tester i QA Specialist to nie synonimy. W dużym skrócie, obowiązki osób na obu tych stanowiskach pokrywają się, jednak zakres obowiązków specjalisty QA jest szerszy. Wiele oczywiście zależy od tego, jak dana firma podchodzi do podziału zadań między stanowiskami. Różnicę między tymi rolami – również w oparciu o podejście 4soft – szczegółowo opisaliśmy w innym artykule z serii, zgłębiającym temat Quality Assurance w IT.

Zapotrzebowanie na testerów na polskim rynku pracy

Mimo zwolnienia gospodarki, rodzimy rynek IT radzi sobie świetnie, a co za tym idzie, stale rekrutuje nowych specjalistów. Choć zainteresowanie branżą jest ogromne, podobnie jak rzesza osób decydujących się na przebranżowienie w tym kierunku, na rynku pracy wciąż brakuje doświadczonych testerów oprogramowania. W obliczu coraz większej konkurencji, software house’y kładą jeszcze większy nacisk na testowanie niż zazwyczaj, co zwiększa zapotrzebowanie na takie osoby.
Tester to więc przyszłościowa ścieżka kariery. Trzeba jednak zaznaczyć, że liczba juniorów wchodzących na rynek pracy jest dość spora, dlatego warto zadbać o pewne kompetencje i formalne poświadczenie umiejętności. W ten sposób wyróżnicie się w gąszczu kandydatur.
W 4soft uznajemy testowanie za fundamentalny element codziennej pracy. Pozwala nam ono dostarczać jakościowe rezultaty i rozwijać funkcjonalne produkty skrojone pod użytkownika. Dlatego stale poszerzamy nasze grono testerów. Otwarte rekrutacje na stanowiska związane z testowaniem możecie znaleźć tutaj.

Jakie kompetencje powinien mieć tester oprogramowania?

W przeciwieństwie do developerów, tester oprogramowania nie musi potrafić kodować. Podobnie jak oni, powinien jednak myśleć analitycznie. O ile w przypadku programisty, analityczne myślenie umożliwia rozwiązywanie skomplikowanych i nieszablonowych problemów, tutaj pomaga skutecznie wykrywać błędy w każdym specyficznym przypadku. Największą pułapką czyhającą na testera są schematy – zamiast operować na szufladkach, powinien on potrafić spojrzeć na każdy projekt indywidualnie.

Kolejna miękka umiejętność mająca ogromne znaczenie w tym zawodzie, to sprawna komunikacja. Tester niejako łączy użytkownika i zespół developerski, dlatego zdolność komunikowania rekomendacji jest dla niego kluczowa. Nawet jeśli ma on „oko” do wykrywania błędów, poprawki nanosi ktoś inny, komu należy wskazać „co, gdzie, i jak”.

Skoro mowa o użytkownikach – tester powinien potrafić wejść w ich buty, aby zweryfikować oprogramowanie z ich perspektywy. Wymaga to nie tylko empatii, ale również umiejętności researchu. Aplikacje mogą mieć bowiem bardzo specyficzny target, który ma określone potrzeby.
Ważną kompetencją może okazać się również znajomość metodyk zwinnych – w praktyce lub choćby w teorii. Pomaga to testerowi szybko złapać rytm pracy zespołu, który, tak jak my, pracuje np. w Scrumie.

Jakie narzędzia powinien znać tester oprogramowania?

Każda osoba na tym stanowisku posługuje się różnymi narzędziami celem zarządzania testami, ich przeprowadzania i automatyzacji. Ich dobór zależy od rodzaju projektu, okazji, a także decyzji projektowych podejmowanych przez zespół i klienta. Tak naprawdę większość z nich nie jest na tyle skomplikowana, by wymagać uczestnictwa w kursach czy certyfikacji. W większości wypadków powinna wystarczyć praktyka.

Wspominaliśmy już, że umiejętności komunikacyjne są bardzo ważne na tym stanowisku. Je również warto dopełnić znajomością odpowiednich narzędzi. Kluczowym jest tutaj Jira – platforma służąca do śledzenia błędów, obecnie wykorzystywana do szeroko pojętego zarządzania projektami w IT. Zespoły mogą również korzystać z ClickUpa, Trello czy lubianej w naszym zespole Asany.

Do przeprowadzania testów baz danych, testerowi oprogramowania może przydać się również znajomość SQL-a. Choć tester nie musi posługiwać się językami programowania, znajomość tego z pewnością ułatwia mu życie. Z kolei na potrzeby testów API wykorzystać może Postmana – platformę, której poświęciliśmy całą serię artykułów. Do testowania REST API testerzy często korzystają również z Soap UI. Wymieniać można by w nieskończoność – tak naprawdę jednak najważniejsze są miękkie kompetencje, które wymieniliśmy powyżej. Reszta to tylko dodatek.

Jeśli zastanawiacie się, jak zacząć jako tester oprogramowania, pierwszym krokiem może być właśnie praktyczna znajomość tych narzędzi. Mając takie zaplecze, ale nie posiadając doświadczenia, warto spróbować zacząć od stażu w firmie IT.

Certyfikacja ISTQB – czy tester jej potrzebuje?

Kwestia certyfikacji jest dyskusyjna w środowisku testerów. Niektórzy uważają, że warto zainwestować w certyfikat ISTQB, a inni – że bez problemu można się bez niego obejść. Niewątpliwie jest to świetny sposób na pogłębienie swojej wiedzy w wymiarze teoretycznym, którą należy uzupełnić praktyką. Przygotowaliśmy cały artykuł o certyfikacji ISTQB, który zarysowuje szerszą perspektywę na ten temat – mamy nadzieję, że rozjaśni Wasze wątpliwości. Jeśli natomiast chcielibyście się dowiedzieć, jak wygląda sam egzamin ISTQB, zajrzyjcie tutaj.
Mamy nadzieję, że nasz artykuł okazał się pomocny! Kolejne teksty z serii będą poszerzać poruszone tutaj zagadnienia związane z testowaniem. Zachęcamy do lektury, niezależnie od poziomu zaawansowania w tej dziedzinie.