Partnerem strategicznym Homodigital.pl jest
2 marca 2022

Chcesz skrócić czas wytwarzania oprogramowania w firmie? Zatrudnij testera!

Pamiętasz z dzieciństwa grę w głuchy telefon? Dzieci ustawione w rządku miały za zadanie z ucha do ucha podawać sobie jedno hasło. Celem gry było jak najdokładniejsze przekazanie hasła – tak, by wersja wychodząca od pierwszego dziecka niczym się nie różniła od wersji dziecka ostatniego. Im więcej dzieci, tym gra robiła się trudniejsza. Po drodze trafiały się osoby, które coś źle usłyszały i przekręciły, podając dalej – choćby z uwagi na inną percepcję postrzegania świata. Niektóre dzieci celowo modyfikowały komunikat, widząc w tym dobry żart. Jeszcze inne mówiły niewyraźnie lub za szybko. Ale jaki to ma związek z pracą w IT i kim jest tester automatyzujący?

Pamiętasz z dzieciństwa grę w głuchy telefon? Dzieci ustawione w rządku miały za zadanie z ucha do ucha podawać sobie jedno hasło. Celem gry było jak najdokładniejsze przekazanie hasła – tak, by wersja wychodząca od pierwszego dziecka niczym się nie różniła od wersji dziecka ostatniego. Im więcej dzieci, tym gra robiła się trudniejsza. Po drodze trafiały się osoby, które coś źle usłyszały i przekręciły, podając dalej – choćby z uwagi na inną percepcję postrzegania świata. Niektóre dzieci celowo modyfikowały komunikat, widząc w tym dobry żart. Jeszcze inne mówiły niewyraźnie lub za szybko. Ale jaki to ma związek z pracą w IT i kim jest tester automatyzujący?

W grze, jak i w życiu, rzadko kiedy udawało się prawidłowo przekazać cały komunikat. Dlaczego o tym piszę? Gra w głuchy telefon idealnie oddaje proces powstawania aplikacji w firmie. Od pierwszej rozmowy z klientem, przez spisanie założeń i ich analizę, aż po realizację przez zespół deweloperów – na każdym etapie może dojść do wypaczenia założeń, przekręcenia ich, a także złego zrozumienia intencji klienta.

Każdy popełnia błędy

W programowaniu dochodzi też do błędów. Aplikacje z założenia wykonujące jakieś zadanie mogą nie działać prawidłowo w przypadkach, których programiści nie wzięli pod uwagę. Osoby tworzące interfejs i piszące kod nie zawsze siedzą w głowie konsumentów. Błędy czasem wymagają specyficznej ścieżki kroków, o której programista zapomniał lub zwyczajnie nie zdążył sprawdzić, a czasem wiążą się ze źle sformułowaną specyfikacją. To jak w popularnej ostatnio reklamie radiowej: kobieta opowiada o wspaniałym sklepie, który prowadzi, a na pytanie: „A jak można zapłacić?” zaskoczona stwierdza, że nie można i ta, bądź co bądź podstawowa funkcjonalność, zostanie wprowadzona dopiero w przyszłości. W języku programowania ta „przyszłość” nazywa się kolejną iteracją. Generuje koszta związane zarówno z pracą całego zespołu, jak i obciążeniem czasowym.

Tym wszystkim błędom można zaradzić. Wystarczy zatrudnić testera oprogramowania albo cały zespół testerów, w zależności od charakterystyki i rozmiaru projektu.

Kim jest tester manualny, tester automatyzujący?

– Zawód testera oprogramowania polega w ogólności na dostarczaniu informacji zwrotnej o stanie i różnych wymiarach jakości oprogramowania oraz jego gotowości do działania dla użytkowników, klientów – tłumaczy Aleksandra Kornecka, Quality Assurance Partner z ośmioletnim doświadczeniem w licznych projektach i współzałożycielka nieformalnej działalności non-profit Girls Who Test zrzeszającej pasjonatki testowania.

Aleksandra tłumaczy, że na cały proces testowania składają się dyskusje o sprawach czysto biznesowych, weryfikacja technicznych detali, przeprowadzanie symulacji, sprawdzanie typów danych i dokumentacji… A także wymyślanie możliwych ścieżek działania oraz sprawdzenie, czy ścieżki działają. – Ponadto testerzy poszukują nieprawidłowości, które mogłyby zagrozić dobru klienta lub firmy – dodaje Kornecka.

Ścieżki zawodowe testera – od testera manualnego, do QA managera

Szukając w Internecie informacji o zawodzie testera, trafia się przede wszystkim na podstawowe rozróżnienie: tester manualny kontra tester automatyzujący. Co ciekawe, potoczna nazwa na testera automatyzującego to tester automatyczny. Wyniki Google zwracają szereg wyników na hasło: „tester automatyczny”. To 429 000 wyników, kontra 31 600 na tester automatyzujący. Jednak obie rozmówczynie zwróciły uwagę, że tester automatyczny to błędne stwierdzenie. Stąd w tym tekście pojawia się mniej popularne, ale prawidłowe — tester automatyzujący.

Chcesz poznać najciekawsze mity o pracy w IT? Kliknij i przeczytaj!

W uproszczeniu mianem testera manualnego określa się osobę, która zajmuje się „przeklikiwaniem” aplikacji i ręcznym sprawdzaniem jej jakości.

Od roli testera manualnego zaczęła swoją karierę Ola Stempin, junior tester w Accenture.

– Testerką zostałam, gdy przeniosłam się z zespołu Oracle do zespołu testerskiego pod koniec 2019 roku. Na obecnym projekcie jestem już od ponad roku i wyraźnie widzę swój rozwój. Od juniorki, która potrzebowała, jak chyba każdy na początku, dużo wsparcia, przeszłam drogę do doświadczonego projektowo testera. Czasem udzielam wskazówek innym, a nawet prowadzę prezentacje dla całego zespołu! Na razie testuję manualnie, ale planuję rozwijać się w testach automatycznych – tłumaczy Stempin.

Czy trudno zostać testerem?

Na pytanie jak to właściwie się zaczęło, Ola wyjaśnia, że zobaczyła w Internecie ofertę kursu SQL Academy organizowanego przez Accenture, wykazała się ogromnym entuzjazmem i się dostała. Choć wtedy jeszcze nie do końca orientowała się w SQL-u, to jej szybki rozwój sprawił, że po kursie dostała pracę, a tam z czasem trafiła do zespołu testerów. Brzmi jak bajka, ale jest dowodem, że do podjęcia pracy w IT wystarczy czasem chęć i samozaparcie. – I dobra znajomość angielskiego, bo bez niego ani rusz w branży – dodaje Ola Stempin.

Ale czy zawód testera jest dla każdego? Niekoniecznie. Wiele firm ma niedoskonały proces testowania. Co za tym idzie – wymagają osób, które wejdą w projekt i niejako od początku poprowadzą go, wtłaczając zespół w dobre praktyki i pokazując sposoby na precyzyjniejsze porozumiewanie się z klientem. Często też firmy zamiast testerów wolą do tej roli zaprzęgać zespół programistów. Koderzy nie tylko muszą pisać kod, ale też przygotowywać przypadki testowe pod testy automatyczne. To wydłuża czas ich pracy, a także może kończyć się błędami, których dało się uniknąć. Programista, choćby najlepszy, nie zawsze jest w stanie wymyślić wszystkie, szczególnie najbardziej absurdalne, ale realne, ścieżki zachowań użytkownika aplikacji.

– Nie każdy jest w stanie wymyślić nawet użyteczne przypadki testowe. Czy też odszukać błąd w kodzie, który nie jest oczywisty na etapie tworzenia oprogramowania, a stałby się jasny na produkcji. Im większą kreatywność, wiedzę techniczną i wiedzę o produkcie oraz doświadczenie ma tester, tym skuteczniejszy będzie i może nieraz uratować projekt – podsumowuje Aleksandra Kornecka.

Tester manualny, tester automatyzujący, a może…

Ola Stempin z Accenture planuje rozwój w kierunku testera automatyzującego. Kim jest tester automatyzujący? To osoba, która odpowiada za automatyzację przypadków testowych, pisanie kodu mającego za zadanie regularne sprawdzanie funkcjonalnego wymiaru jakości oprogramowania (na przykład odpalenie zestawu testów po każdej aktualizacji), mogą też pomóc w innych zadaniach, które mogą zostać zautomatyzowane. Ale tester manualny i tester automatyzujący to nie jedyne stanowiska pracy, które pozwalają odnaleźć się w świecie testingu i software quality engineeringu.

– Wokół tematów jakości oprogramowania oraz testowania istnieje wiele stanowisk pracy. Im większa firma, tym więcej możliwości specjalizacji tester, test engineer, quality assurance specialist albo engineer, test analyst, test manager, software developer in test – wymienia Aleksandra Kornecka. Podkreśla, że wszystkie te stanowiska łączy dbałość o proces wytwórczy oraz finalną jakość oprogramowania. Różnią się one stopniem wejścia w techniczne aspekty lub biznesowe oraz istotą czynności zawodowych w czasie pracy.

– W testowaniu są osoby pracujące bardziej z biznesem i analizą, są takie, które piszą kod testów, robią code review albo programują testy wydajności czy bezpieczeństwa, a są również osoby łączące te kompetencje na swoich testerskich stanowiskach. Są oczywiście też konsultanci i menedżerowie zajmujący się strategią testów dla danych typów oprogramowania, współpracą nad metrykami z liderami technicznymi i tak dalej – dodaje Aleksandra Kornecka, pokazując, jak różnorodny może być świat testowania.

Od testera do kodera!

O ile nie każdy programista będzie dobrym testerem, o tyle ścieżka w drugą stronę jest już bardzo popularna. Wiele osób zaczyna swoją karierę zawodową od pracy junior testera manualnego, ponieważ w ten sposób jest nieco łatwiej wejść do branży IT i przesiąknąć profesjonalnym językiem, podejrzeć praktyki, a także stopniowo, wraz z rozwojem kariery, zacząć się uczyć języków programowania (niezbędnych w pracy testera automatyzującego).

Testerzy często okazują się świetnymi developerami. Szczególnie przydatnymi w zespołach, w których niestety nie ma jeszcze osób specjalizujących się w testowaniu. Potrafią uratować całą aplikację, wykazują się bardzo kreatywnym myśleniem, mogą też robić za wsparcie biznesowe. Ale nie każdy wybiera taką ścieżkę kariery.

Ile zarabia tester?

W końcu profesjonalny tester wcale nie zarabia tak mało. Choć ciągle funkcjonuje mit o niebotycznych zarobkach programistów, to coraz więcej osób dostrzega, jak ciężko przebić się przez tłum juniorów… I dojść do magicznych pięciocyfrowych kwot. Natomiast według raportu „Rynek pracy IT w Polsce w 2021 roku” przygotowany przez No Fluff Jobs zawód testera cieszy się całkiem satysfakcjonującym kwotami. W zależności od rodzaju umowy i lokalizacji junior tester zarobi między 5 tysięcy złotych, a 8 tysięcy brutto. Mid, czyli specjalista średniego szczebla, może już liczyć na kwoty między 8 325 złotych, a 17 tysięcy. Natomiast senior, czyli najbardziej doświadczony pracownik w kategorii testing/QA zarobi od prawie 12 tysięcy aż do 20 tysięcy złotych. Dla najlepszych „sky is the limit”.

Co więcej, według tego samego raportu, testing/QA to jedna z czterech głównych kategorii w IT, w których odsetek pracy dla juniorów jest największy. W porównaniu z rokiem 2020 liczba ofert o pracę dla testerów skoczyła o 158%. Czy istnieje lepszy dowód na wartość umiejętności testerskich na rynku pracy?

Dlaczego warto pracować w testowaniu w IT?

Wysokie zarobki i stosunkowa łatwość rozpoczęcia pracy, a także duże zapotrzebowanie rynku na testerów to jedne z wielu zalet pracy testera. Moje rozmówczynie ponadto zgodnie wymieniają różnorodność zadań: część zadań jest techniczna, a część kreatywna. Podkreślają także przyjemność pracy z ludźmi przy rozwiązywaniu problemów.

Ola Stempin zapytana o największe zaskoczenia w pracy junior testera zwraca uwagę na to, jak wiele udało się jej nauczyć w krótkim czasie. Wspomina też o nietuzinkowych bugach, które sprawiają, że ta praca nigdy nie jest nudna. 

Pamiętajmy jednak, że co firma, to inne rozumienie stanowiska testera. Przestrzega przed tym Aleksandra Kornecka:

– Powiedziałabym, że testowanie jest super, ale też warto pamiętać, że co firma to inne rozumienie stanowisk testerskich, jak i charakteru zadań. Znam osoby, które musiały niemal odtwórczo wykonywać ciągle przypadki testowe. Znam też osoby, które kreatywnie współtworzyły takie przypadki i blisko współpracowały z programistami, albo same tworzyły frameworki testowe. To, co kryje się pod frazą „tester oprogramowania” to naprawdę mozaika możliwości – mówi Kornecka.

To od nas zależy, czy odważymy się sięgnąć po element tej fascynującej układanki i rozwiązać kilka problemów.

Tagi:
Home Strona główna Subiektywnie o finansach
Skip to content email-icon