Tester Oprogramowania – z czym to się je? [PORADNIK]

16.08.2018 AUTOR: Radek Dykty

Całe dzieciństwo rozkładałeś zabawki na czynniki pierwsze, a następnie składałeś je z powrotem (z różnym skutkiem). Wchodząc rano pod prysznic, krzyczysz w wniebogłosy, bo znów dałeś się zaskoczyć! Woda była lodowata. Miarowymi szczątkowymi ruchami ustawiasz temperaturę. Tak! Teraz jest idealna. O czym to świadczy? Jesteś testerem!


Wieczorem idziesz ze znajomymi na burgera do nowej knajpy. Doskonale wiesz, że najlepsze burgery są w tej małej budce dwie ulice od dworca, ale co tam. Zawsze można spróbować czegoś nowego.

Wychodząc z domu, kilkukrotnie szarpiesz za klamkę drzwi frontowych, aby upewnić się, że na pewno są zamknięte. Przecież właśnie przekręciłeś dwukrotnie klucz w zamku.

Chodzisz na imprezy i lubisz poznawać nowych ludzi. Dyskutujesz o filmach, książkach i starożytnych budowlach w Tiwanaku. Z muzyką też lubisz eksperymentować. To wszystko jest dla Ciebie całkowicie naturalne, właśnie w taki sposób toczy się Twoje życie, bo… JESTEŚ TESTEREM.

Testowanie i nie tylko

Zadaniem testera oprogramowania jest weryfikacja poprawności działania oraz zapewnienie jakości wytwarzanego oprogramowania.

Tak w wielkim skrócie można opisać obowiązki, jakie stoją przed osobą zajmującą się testami. Co to oznacza dla osoby, która rozważa przekwalifikowanie się?

Zawód testera jest przez różne osoby postrzegany w różny sposób, ale ma pewien wspólny mianownik: otwiera drogę do najdynamiczniej rozwijającej się branży, czyli wytwarzania oprogramowania i sektora nowych technologii.

Dla jednych testowanie jest zawodem na całe życie, dla innych jest przystankiem na drodze do programowania, analizy biznesowej czy zarządzania projektami.

Wytwarzanie oprogramowania jest bardzo chłonną gałęzią gospodarki, skupiającą ludzi, którzy zdecydowali się na przejście z bardzo różnych dziedzin życia zawodowego. Samo testowanie czy też, szerzej, pojmowane zapewnianie jakości oprogramowania (z ang. Quality Assurance, QA) daje wiele perspektyw w zależności od predyspozycji kandydata.

W pracy testera najbardziej podoba mi się to, że praca jest wielopłaszczyznowa.

Testowanie nie zawsze musi być żmudnym powtarzaniem testów, dzień po dniu, w celu sprawdzenia, czy produkt działa jak należy, albo czy kolejne etapy developmentu nie spowodowały usterek w ukończonych już funkcjonalnościach.

W idealnych okolicznościach praca testera zaczyna się już w momencie planowania, kiedy jeszcze żadna linijka kodu nie została napisana. Tester ściśle współpracuje z Product Ownerem, wpływając na to, jak wygląda sprint, ale również mając realny wpływ na kształt samych funkcji. W wyniku tej współpracy definiuje się tzw. user stories, które określają, jak działać ma aplikacja.

Kolejną grupą, z którą tester współpracuje na co dzień, są oczywiście deweloperzy. To deweloperzy tworzą kolejne funkcje i to oni naprawiają błędy, które zostają znalezione.

QA Engineer jest także cennym zasobem dla samych klientów. Czuwa na straży jakości produktu, czym bezpośrednio wpływa na obniżenie kosztów produkcji, ale także – kosztów utrzymania produktu. Często bywa tak, że to właśnie QA najlepiej zna sam produkt! Wiedza testera przydaje się podczas prezentacji produktu i funkcjonalności klientowi, ale także przy tworzeniu dokumentacji i manuali.

A jak będę duży, to zostanę…

Pierwsze kroki zawsze wyglądają tak samo.

Na początku ścieżki rozwoju stoi zawód testera manualnego. W zależności od wielkości zespołu i podziału obowiązków, jako początkujący tester, albo po prostu przeprowadzasz testy na podstawie scenariuszy przygotowanych przez starszych kolegów, albo po wprowadzeniu do projektu, sam jesteś odpowiedzialny za tworzenie i utrzymywanie przypadków testowych.

Wraz ze zdobywaniem doświadczenia i pewności w wykonywaniu swoich obowiązków omówionych wyżej, powinieneś zauważyć, co sprawia Ci większą satysfakcję.

Dzięki szerokiemu spektrum obowiązków testera, jego możliwości rozwoju również są bardzo rozległe.

Najbardziej oczywistymi ścieżkami rozwoju są pozycje Testera Automatycznego czy Programisty. Jeżeli jesteś techniczny i dobrze radzisz sobie z kodem, ale nie chcesz rezygnować z testowania, testowanie automatyczne może być drogą do samorealizacji.

Co więcej, dobry tester automatyczny to skarb, dzięki któremu cały zespół śpi spokojnie podczas kolejnych releasów (czyli “premier” poszczególnych fragmentów oprogramowania) czy wystawiania produkcji.

A jeśli rozwój funkcji aplikacji sprawia Ci większą radość, niż same testy, może się okazać, że to programowanie jest Twoją drogą.

Tak czy owak, bariera wejścia do testingu jest stosunkowo niższa, niż w kodowanie, pozwala oswoić się ze światem technologii i przekonać się, jakie masz dalsze możliwości.

Twój zespół QA się rozwija, a Ty coraz więcej czasu spędzasz na wdrażaniu innych, dbaniu o infrastrukturę i dobieraniu odpowiednich metod i narzędzi do projektów? Może jeszcze nie wiesz, ale zostałeś Kierownikiem Testów.

Jeżeli kręci Cię kontakt z klientem i planowanie sprintów, a komunikacja z resztą zespołu to dla Ciebie przyjemność, Twoje dalsze kroki możesz stawiać jako Project Manager.

Programiści i Klienci przychodzą do Ciebie jako mediatora? Z łatwością łączysz ich dwa światy, a język biznesu tłumaczysz na kod binarny? Doskonale znasz produkt i pomagasz innym się w nim poruszać? Analityk Biznesowy to posada dla Ciebie.

Cechy dobrego testera

Możliwości jest dużo więcej.

Testowanie to dziedzina, w której coś dla siebie znajdą zarówno umysły ścisłe, jak i humanistyczne. Jest jednak kilka cech uniwersalnych, którymi powinien charakteryzować się członek zespołu zwanego oficjalnie “Quality Assurance”.

Błędy i braki, szczególnie UX-owe, często wymagają żmudnego wytłumaczenia ich istoty programistom. Jedną z najważniejszych cech testerówjest cierpliwość.

Przepływ informacji jest bardzo istotny w projektach IT (patrz – definicja pojęcia informatyka). Dobre relacje w zespole i umiejętność jasnego przekazywania swoich myśli stanowią dużą wartość. Tester powinien być komunikatywny.

Efektywna współpraca z członkami zespołu i klientem, a często rola mediatora sprawia, że tester powinien wykazywać się empatią.

Zadaniem testera jest sprawdzanie działania aplikacji. Powinien robić wszystko, co w jego mocy, by wyeliminować ewentualne bugi. Co za tym idzie, musi być dokładny w swojej pracy.

Znajomość języka angielskiego nie powinna nikogo dziwić w wymaganiach stawianych przed kandydatami na stanowisko testera. Praca z dokumentacją oraz kontakt z klientem należą do codziennych obowiązków osób uprawiających ten zawód.

Ostatnią, ale nie najmniej ważną cechą testera, jaką warto zaznaczyć, jest pasja.

Na pewno zgodzisz się ze mną, że nie ma nic przyjemniejszego niż wykonywanie pracy, która przynosi satysfakcję. Aplikacje wytwarzane przez firmy są bardzo różne. Znalezienie dziedziny, w której czujesz się pewnie, może być świetnym pretekstem do zrobienia pierwszego kroku w stronę realizacji na polu zawodowym.

Zaczynając swoją przygodę z testowaniem, miałem (i dalej mam) możliwość pracy w projektach skupionych wokół transportu. Pokrywa się to z kierunkiem studiów, które ukończyłem.

Dzięki temu, pomimo faktu, że pierwsze kroki w zawodzie były niepewne, dogłębne zrozumienie aplikacji dodawało mi pewności siebie, ale przede wszystkim sprawiało, że praca stała się przyjemnością.

Dyplom to nie wszystko

Czy tester poza poruszonymi cechami charakteru i umiejętnościami powinien wiedzieć coś jeszcze? Czy tego zawodu można nauczyć się w szkole? Na studiach?

Cóż, obecnie coraz więcej uczelni wyższych otwiera kierunki z programem stworzonym specjalnie dla przyszłych testerów. Należy odpowiedzieć sobie jednak na pytanie: Czy ukończenie studiów przez osobę, która szuka nowej drogi w swoim życiu zawodowym, spowoduje, że będzie ona dobrym testerem?

Studia pozwolą Ci opanować wiedzę teoretyczną, jednak nie zagwarantują, że testowanie zacznie dawać Ci przyjemność i satysfakcję. Być może istnieją zawody, których wykonywanie nie wymaga zaangażowania, tester oprogramowania nie jest jednak jednym z nich.

Dlatego ważne jest, abyś wybierając swoją przyszłą profesję, kierował się nie tylko perspektywami finansowymi, ale przede wszystkim – predyspozycjami.

Wiedza i umiejętności testerskie są świetnie usystematyzowane, sklasyfikowane i opisane przez międzynarodową organizację ISTQB, która opracowała najbardziej rozpoznawaną obecnie ścieżkę certyfikacji testerów.

Sylabus ISTQB Foundation Level jest doskonałym dokumentem na zweryfikowanie wiedzy, którą powinien posiadać początkujący tester. Certyfikat nie jest w pracy testera niezbędny, ale potwierdza wiedzę i umiejętności.

Jeżeli jesteś zorganizowany i potrafisz zmobilizować się do nauki, niezbędny materiał jesteś w stanie przyswoić sam.

Jeżeli czujesz, że testowanie oprogramowania jest dla Ciebie, ale wolałbyś, żeby przez meandry sztuki przeprowadził Cię ktoś bardziej doświadczony, możesz także zainteresować się jednym z kursów na testera dostępnych na rynku. Przewagą kursów jest to, że kończą się one egzaminem.

W konsekwencji, kandydat wchodzi w posiadanie niezbędnej wiedzy oraz certyfikatu w relatywnie krótkim czasie.

Kto nie idzie naprzód, ten się cofa

Wydawnictwo PWN bardzo przysłużyło się społeczności testerskiej, publikując wiele książek w tej tematyce, które można znaleźć choćby pod tym linkiem.

W IT bardzo ważny jest ciągły rozwój. Branża szybko się zmienia, a nowe narzędzia i biblioteki powstają niemal codziennie. Z tego powodu wszystkich testerów i osoby chcące testerami zostać, zachęcam do brania czynnego udziału w eventach organizowanych przez społeczności testerskie.

W każdym większym mieście można znaleźć ludzi, którzy chętnie dzielą się swoją wiedzą i doświadczeniami. W trójmieście mamy 3QA, w Warszawie warszawQA, Kraków jest gospodarzem kraQA. Zachęcam do poszukiwania podobnych zapaleńców w swojej okolicy.

W Polsce i na świecie regularnie odbywają się konferencje branżowe. Do najbardziej znanych w Polsce należą TestCamp, TestWarez czy ConSelenium.

Dają one możliwość wzięcia udziału w warsztatach, prelekcjach czy zawodach. Mówiąc o zawodach nie można nie wspomnieć o Testing Cup, dającym możliwość stanięcia w szranki z najlepszymi w branży w nierównej walce Tester vs Bug.

Aby dopełnić obrazu, nie mogę nie wspomnieć o Stowarzyszeniu Jakości Systemów Informatycznych, które stanowi platformę wymiany wiedzy i doświadczeń w zakresie zapewniania jakości oprogramowania.

Last but not least, należy wspomnieć o grupie testerzy.pl. Ludzie należący do zespołu testerzy.pl to fachowcy najwyższej klasy, ale co najważniejsze,  chcą i potrafią się swoją wiedzą dzielić.

BRUTTO, NETTO… Panie, a ile to będzie na rękę?

Stworzyliśmy już profil testera idealnego.

Opisaliśmy ścieżkę zawodową, jaką tester może podążać. Opisaliśmy niezbędne umiejętności oraz wskazaliśmy miejsca, gdzie można zaczerpnąć fachowej wiedzy. Pora odpowiedzieć na pytanie, dla niektórych będące największym motywatorem i siłą popychającą do działania.

Ile zarabia tester oprogramowania?

Według raportu stworzonego przez firmę Seldak & Seldak dla branży IT na rok 2017 mediany wynagrodzeń prezentują się następująco:

Źródło: Raport płacowy Sedlak & Sedlak dla branży IT – 2017

Stawki przedstawione na wykresie nie odzwierciedlają wynagrodzenia ze względu na doświadczenie, w związku z czym, doświadczony tester automatyczny jest w stanie wynegocjować stawkę przekraczającą 10 tys. PLN. Natomiast kierownik testów bez większych problemów może przekroczyć 15 tys. PLN.

Tester oprogramowania – zawód przyszłości?

Pozostaje odpowiedzieć sobie na pytanie – skoro Tester Oprogramowania to taka świetna posada, to dlaczego rynek nie jest jeszcze przesycony?

Odpowiedź jest banalnie prosta.

Wiele firm zajmujących się rozwojem oprogramowania do tej pory nie utrzymywała zespołów testerskich. Trendy pokazują jednak, że zapewnianie jakości oprogramowania staje się bardzo ważnym aspektem, który może zaważyć na konkurencyjności.

W swoich rozważaniach, powtarzając za Pawłem Nogą z Intela, posunę się do sytuacji, która obecnie wydaje się absurdalna. Mówi się, że nie ma już kodu, który nie został wcześniej napisany. Jak wiemy, sztuczna inteligencja rozwija się niesamowicie dynamicznie.

Nie tak wiele dzieli nas więc od momentu, w którym sieć neuronowa zostanie nakarmiona całą wiedzą, jaka znajduje sie np. na portalu StackOverflow.

Co stanie się wtedy z programistami?

W negatywnym scenariuszu zostaną zastąpieni przez AI. Co w takim razie stanie się z testerami?

Cóż, testerzy, przy niewielkim przekwalifikowaniu się, będą karmić sztuczną inteligencję dalszymi informacjami i jak zawsze testować funkcjonalności przez nią napisane.

AI to kolejna dziedzina, która stanowi pole do dynamicznego rozwoju dla inżynierii jakości oprogramowania.

Cover photo by rawpixel.


Ten artykuł powstał dzięki Coders Lab – Szkoła IT. Jeśli chcesz dowiedzieć się więcej na temat kursów na Testera Oprogramowania, sprawdź szczegóły!

Do góry!

Polecane artykuły

Zapisz się do naszego newslettera

Wyślij mi newsletter (Możesz się wypisać w każdej chwili).

email marketing powered by FreshMail
 

Subscribe to our newsletter

Send me your newsletter (you can unsubscribe at any time).

email marketing powered by FreshMail
 

Subscribe to our newsletter

email marketing powered by FreshMail