22.03.20226 min

Maciej OlanickiRedakcja Bulldogjob

Tester oprogramowania i QA – jak zacząć karierę?

Poznaj pożądane kompetencje Testera oprogramowania i Specjalisty QA oraz sprawdź, co powinieneś umieć, by zacząć karierę w tym kierunku.

Tester oprogramowania i QA – jak zacząć karierę?

Nie każdy, kto chce zacząć pracować w branży IT, musi być developerem. Równie ciekawa może być praca jako tester oprogramowania i specjalista odpowiedzialny za quality assurance. Przyjrzyjmy się zatem wymogom, które należy spełnić, aby rozpocząć karierę właśnie w tej specjalizacji.


Tester i QA – brama do IT

Zanim jednak przejdziemy do konkretów, poświęćmy chwilę zagadnieniu, nad którym zastanawia się zapewne wiele osób chcących podjąć pracę jako tester – czy codzienne obowiązki na tym stanowisku wymagają znajomości któregokolwiek z języków programowania? 

Cóż, najkrócej mówiąc – nie zaszkodzi, ale też nie jest konieczne. Dziś testerzy posługują się oprogramowaniem automatyzującym liczne procesy, zaś code review odbywa się raczej w gronie programistów. Od testerów wymaga się w pierwszej kolejności trafnego i wyczerpującego opisu błędów, który pozwoli na ich łatwe odtworzenie przez programistę. Trafny opis błędów to bez wątpienia kluczowa umiejętność testera.

Umiejętność programowania czy chociaż czytania kodu może być jednak atutem kandydata. Zwłaszcza że nierzadko zdarza się, że zespół testerski to świetny próg wejścia do branży w IT pozwalający później przekwalifikować się na programistę.


Praca i zarobki

Bardzo wartościowych informacji na temat pracy testerów i branży IT w ogóle dostarcza nasze Badanie Społeczności IT. Z raportu dowiadujemy się nie tylko tego, w jakich specjalizacjach pracują testery, jak przeprowadzają testy, ale także otrzymujemy informacje o warunkach pracy i zarobkach. Przejdźmy do szczegółów. 

Testerzy i specjaliści QA stanowią 15% wszystkich pracowników IT w Polsce. Wśród nich aż 39% pracuje jako testerzy manualni, 29% jako QA, zaś 24% przeprowadza testy automatyczne. Najczęściej testowane są aplikacje przeglądarkowe – stanowi to aż 76% pracy wszystkich testerów. Dalej plasują się testy API (55%) i aplikacji mobilnych (35%).

Najpopularniejszą metodą pracy wśród testerów manualnych i automatyzujących jest przeprowadzanie scenariuszy testowych. Inaczej jest w przypadku specjalistów QA, gdzie przede wszystkim stosuje się testy eksploracyjne. Testy są projektowane przede wszystkim na bazie doświadczenia testerów, ale też user stories i wymagań formalnych.

Co ciekawe, zaledwie 15% badanych testerów stwierdziło, że nie zna żadnego języka programowania, co potwierdza nasze informacje, że jest to na tym stanowisku niezwykle przydatna umiejętność. Przede wszystkim testerzy znają SQL (52%), Javę (38%) i Pythona (34%). Zwraca także uwagę, że testerzy poznający języki programowanie to w zdecydowanej większości (80%) samouki. 

Przejdźmy teraz do kwestii, która zapewne najbardziej zainteresuje lwią część Czytelników – ile zarabia tester oprogramowania? Na stanowisku kierującym zespołem (Test Team Leader) przy umowie B2B zarabia się średnio 17 348 zł oraz 8566 zł na umowie o pracę. Tester automatyzujący zarabia z kolei 17 033 zł przy B2B oraz 7293 zł przy UoP. 

Pracownicy QA średnio zarabiają w Polsce 13 293 zł przy własnej działalności gospodarczej oraz 6507 zł przy umowie o pracę. Testerzy manualni, których, jak już wiemy, jest w Polsce najwięcej, zarabiają 10 589 zł w ramach współpracy B2B i 4946 zł przy umowie o pracę. Zapraszamy do zapoznania się z pełną treścią raportu poświęconego sytuacji testerów w polskim IT w 2021 r., która jest dostępna tutaj.


Certyfikacja

Ważnym zagadnieniem przy wyborze ścieżki testera może się okazać certyfikacja. W przypadku tej specjalizacji branża wykształciła bowiem bardzo konkretne programy certyfikacyjne, których ukończenia niektórzy pracodawcy oczekują od kandydatów. 

Chodzi przede wszystkim o egzaminy ISQTB (International Software Testing Qualifications Board). Stanowią one międzynarodowy standard. Program jest podzielony na wiele niezależnych modułów różniących się poziomem zaawansowania, rzecz jasna każdy z nich jest osobno płatny. Aktualnie egzaminy przeprowadza się na poziomie podstawowym, Agile Tester, tester akceptacyjny i na poziomie zaawansowanym

Poziom podstawowy to oczywiście entry level, które jednak w lwiej części przypadków pracodawców wymagających certyfikacji będzie wystarczający. Poziom Agile ponadto zapoznaje testerów z metodami pracy zwinnej, zaś tester akceptacyjny odpowiada za ostatni etap testów, uwzględniający między innymi zgodność założeniami projektowymi i oczekiwaniami klienta. Zaliczenie egzaminu na poziomie zaawansowanym ma w teorii pozwolić na pracę jako kierownik działu testów. Ponadto ISQTB przeprowadza egzaminy specjalistyczne, pozwalające zdobyć certyfikat np. testera wydajności czy testera aplikacji mobilnych. 

Opłata za egzamin na każdym etapie waha się od 600 do 1300 zł. Do tego należy doliczyć ewentualne opłaty za kursy przygotowawcze czy materiały edukacyjne. A to z kolei rodzi pytanie – czy na pewno zdobycie certyfikatu jest konieczne, aby rozpocząć pracę jako tester? Cóż, podobnie jak to było ze znajomością języków programowania – nie zaszkodzi. 

Coraz częściej jednak, także wśród bardzo doświadczonych testerów, wspomina się o tym, że konieczne jest zdobycie wiedzy wymaganej do zdania egzaminu, ale niekoniecznie formalne zaliczenie go i ponoszenie w związku z tym kosztów. Rekrutujący sami mogą przeprowadzić minimalistyczną formę testu, która będzie poświadczała, że kandydat dysponuje umiejętnościami na poziomie standardów ISQTB. 

Wciąż jednak wiele zależy tu od konkretnego pracodawcy i niektórzy z nich będą wymagali certyfikacji jako warunek konieczny, inny jako coś mile widzianego, zaś jeszcze inny sami będą sprawdzać kompetencje kandydata. Nie ma jednak większych wątpliwości, że materiały przygotowujące do egzaminów ISQTB zwyczajnie trzeba znać i to jak najlepiej.


Przykłady narzędzi, które warto znać

Jak już wspomniano, testerzy posługują się dziś licznymi narzędziami automatyzującymi pracę i czyniącymi ją efektywniejszą. Warto nadmienić, że najczęściej nie chodzi o jedno, całościowe narzędzie, lecz o zestawy programów, z których każdy testuje inny aspekt. 

Mogą to być zatem nie tylko narzędzia służące stricte do wykrywania błędów, lecz tak mierzące wydajność i wskazujące ewentualne problemy z optymalizacją czy sprawdzające poprawność interfejsu użytkownika. Osobną grupę stanowią także narzędzia służące do zgłaszania błędów czy pracy z dokumentacją. Oto wybrane najczęściej wykorzystywane narzędzia z poszczególnych grup:

  • Selenium – bodaj najszerzej stosowane aktualnie oprogramowanie do przeprowadzania zautomatyzowanych testów aplikacji webowych, wolne, darmowe i dostępne na Windowsie, Linuksie i macOS-ie i kompatybilne ze wszystkimi najpopularniejszymi przeglądarkami. Nie zachodzi tu konieczność pisania skryptów, ale jest możliwość pisania ich w języku Selense. Oprócz testów pod kątem awarii pozwala między innymi na testowanie UI czy regresji. Możliwe jest przeprowadzanie testów aplikacji napisanych w JavaScripcie, Javie, C#, Pythonie, Ruby i PHP.
  • Apache JMeter – napisany w Javie, wolny i darmowy program służący do przeprowadzania testów wydajności. Sprawdzi się szczególnie w przypadku aplikacji przeglądarkowych, co determinuje nijako aspekty, które można testować. Dzięki JMeter sprawdzimy zatem wydajność połączeń i zapytań z API JDBC, serwerami FTP, protokołem http czy poszczególnymi usługami webowymi. Co ważne, Apache JMeter wspiera integrację ze wspomnianym już Selenium.
  • FoneMonkey – platforma firmy TestMatick, jednego z największych dostawców narzędzi służących do testowania oprogramowania, służąca do przeprowadzenia testów aplikacji mobilnych kierowanych na Androida i iOS-a. Wykorzystuje tzw. podejście monkey testing, w którym testowane są mniej lub bardziej losowe interakcje oprogramowania i na tej podstawie wykrywane są awarie.
  • Bugzilla – przez wiele lat najważniejsze narzędzie do zgłaszania i opisywania błędów, co jest – jak wspomniano – kluczową kompetencją testera. Opracowana przez Mozillę na własne potrzeby platforma jest do dziś wykorzystywana przez liczne zespoły jako miejsce wymiany informacji pomiędzy programistami i testerami, choć coraz częściej wykorzystuje się do tego własnościową Jirę, a nawet GitLaba czy GitHuba.


Dodatkowe informacje

Jako bonus załączamy garść przydatnych dla kandydatów linków.

<p>Loading...</p>