SJSI

RSS
Dane kontaktowe:
e-mail: kontakt@sjsi.org

JAK ZACZĄĆ PRZYGODĘ Z TESTOWANIEM OPROGRAMOWANIA? PORADNIK DLA POCZĄTKUJĄCYCH.

WSTECZ

Wprowadzenie

Często otrzymujemy od Was pytania “jak zacząć testować”, “chciałbym zostać testerem, co powinienem zrobić?”. Liczba takich zapytań wskazuje na istotną potrzebę podzielenia się pewnymi podstawowymi informacjami dotyczącymi możliwości  rozpoczęcia kariery w testowaniu oprogramowania.

Niniejszy tekst jest odpowiedzią na Wasze zapytania. Jest on przeznaczony dla wszystkich osób, które zainteresowane są rozpoczęciem swojej przygody z zapewnianiem jakości i testowaniem oprogramowania. Nie jest to poradnik odpowiadający na pytanie „Jak znaleźć pierwszą pracę?”, jednak mamy nadzieję, że pomoże w sprawnym wdrożeniu się w obszar QA/testowania.

Czym jest QA i testowanie?

Zacznijmy od początku. Czym jest quality assurance (QA), które tłumaczymy jako zapewnianie jakości (oprogramowania) i dlaczego wiele osób zamiennie używa pojęcia testowanie oprogramowania w miejsce QA? Otóż QA, tak samo jak testowanie, stanowią elementy procesu zarządzania jakością. Posiadają one wiele elementów wspólnych, jednak nie są tożsame. Czym więc różnią się te pojęcia? Zapraszamy do zapoznania się z artykułem o postrzeganiu jakości i elementach zarządzania jakością.

Dlaczego wielokrotnie używa się tych terminów zamiennie? Z jednej strony wynika to z wygody i pewnego uproszczenia, z drugiej strony osoby odpowiedzialne za rekrutację QA/testerów niejednokrotnie nie zagłębiają się w tematykę zapewniania jakości oprogramowania, przez co wiele terminów traktują jako synonimy nie mając świadomości popełnionego błędu. Można powiedzieć, że “HRzy” po prostu poszukują kogoś kto ma sprawdzić, czy wytwarzane oprogramowanie działa poprawnie, a nazewnictwo jest dla nich drugorzędne.

Dla przyszłych adeptów sztuki zapewnienia jakości czy testowania, ważne jest jednak poznanie istoty problemu. Poniższe źródła przybliżają temat testowania i QA.

Przewodnik po zawodzie testera oprogramowania oraz materiały na start

Podręcznik Piotra Wicherskiego: https://pwicherski.gitbook.io/testowanie-oprogramowania/ 

Opracowanie Aleksandry Korneckiej: https://goo.gl/pGTDRu

Webinary z akcji mamotestuj.pl

Literatura

  1. Radosław Smilgin “Zawód tester”, PWN (pozycja dla początkujących)
  2. Opracowanie zbiorowe pod redakcją: Adam Roman i Karolina Zmitrowicz “Testowanie oprogramowania w praktyce.Studium przypadków” i “Testowanie w praktyce. Studium przypadków 2.0”, PWN (zbiór praktycznych doświadczeń projektowych)
  3. Karolina Zmitrowicz “Jakość projektów informatycznych Rozwój i testowanie oprogramowania”, Helion (o jakości w procesie wytwarzania)
  4. Rafał Stańczak i Karolina Zmitrowicz  “Jakość w Agile”, PWN (o zarządzaniu jakością w metodach zwinnych)
  5. Adam Roman “Testowanie i jakość oprogramowania. Modele, techniki, narzędzia”, PWN (wszechstronne kompendium z obszaru testowania)
  6. Adam Roman, Lucjan Stapp „Certyfikowany Tester ISTQB®„, Helion
  7. Karolina Pawłowska, Natalia Pawlak „Podróż przez świat testowania. Fun with bugs

Jak zacząć?

Przejdźmy do tematu “jak zacząć w testowaniu?”. To pytanie, z którym na początku swojej drogi styka się wiele osób. (Nie)stety nie ma na nie jednoznacznej i prostej odpowiedzi. Typowa odpowiedź, jaką można usłyszeć (a przy tym typowa odpowiedź na zadane pytanie w środowisku IT) brzmi „to zależy…”. Dlaczego tak się dzieje? Ponieważ ścieżek rozwoju QA/testera jest tyle, ilu samych testerów. Można skupić się na testach manualnych, automatycznych, testach bezpieczeństwa, testach wydajnościowych, analizie kodu/dokumentacji, predykcji błędów itd. Możliwości ogranicza wyobraźnia i (częściowo) potrzeby rynku. Oznacza to, że poza przyswojeniem podstawowej wiedzy warto byłoby zastanowić się, w jakim kierunku chcemy się rozwijać. Będzie to bardzo pomocne już na samym początku, ponieważ swoją energię i zapał (z reguły największy na starcie) wykorzystamy najefektywniej.

Inne ścieżki w IT:

  • Analiza biznesowa (ang. Business Analysis, BA)
  • Inżynieria wymagań (ang. Requirements Engineering, RE)
  • Inżynieria użyteczności (ang. Usability Engineering, UE) oraz UX (ang. User Experience)
  • Badania z użytkownikami (ang. UX research)
  • Programowanie (front-end, back-end, full-stack, mobile, IoT, embedded)
  • Zarządzanie jakością (ang. Quality Management, QM)
  • Zarządzanie projektami (ang. Project Management, PM)
  • Zarządzanie produktem (ang. Product Management)
  • DevOps, administracja systemów informatycznych
  • Zwinność (Agile) i role scrumowe (Product Owner, Scrum Master)
  • Projektant (Designer), grafik, projektant interakcji (interaction design, motion design)
  • Uczenie maszynowe (ang. machine learning), sztuczna inteligencja (AI)
  • Specjalista obróbki danych (ang. data scientist)
  • Inżynieria jakości danych (ang. Data Quality Engineering)
  • Inżynier automatyzacji procesów marketingowych (ang. Marketing automation engineer)
  • Specjalista SEO (ang. Search Engine Optimization)
  • Wsparcie zespołu technicznego (ang. Technical Team Support)
  • Marketer portali społecznościowych (ang. Social media marketer)
  • Specjalista ds. narzędzi (np. specjalista SAP, Atlassian)

Spotkania branżowe, konferencje, organizacje i grupy testerskie

Obok szukania „pomysłu na siebie” warto zacząć aktywnie uczestniczyć w spotkaniach skierowanych do QA/testerów. Obecnie w Polsce jest ponad piętnaście lokalnych grup zrzeszających testerów i zapowiada się, że powstaną kolejne. Informacje o ich działaniach znaleźć można m.in. w sieciach społecznościowych oraz na stronie SJSI (samo Stowarzyszenie również organizuje bardzo dobrze oceniany przez społeczność meetup we Wrocławiu – Quality 3D – o którym informacje można znaleźć na profilu SJSI).

Obecność na meetupie jest świetną okazją do poznania innych osób podzielających Wasze zainteresowania, a także rozmowy z doświadczonymi testerami, którzy są prelegentami na takich wydarzeniach. W tym miejscu przyjmijcie drobną wskazówkę. Gdy już pojawicie się na meetupie, nie bójcie się rozmawiać i poznawać nowych ludzi. Prelegenci to osoby, które chętnie dzielą się swoją wiedzą i z ochotą odpowiedzą na Wasze pytania. Dajcie się poznać i zapamiętać. Te spotkania organizowane są przez testerów dla testerów po to, aby w sympatycznej atmosferze wymieniać się wiedzą, doświadczeniem i budować sieć kontaktów. Jeśli w Waszej okolicy nie odbywają się żadne meetupy – nic straconego. Możecie odwiedzić inne miasta, lub szukać informacji w internecie. Nic nie stoi na przeszkodzie, aby po kilku wizytach w innych miastach założyć własny meetup – lokalny. Zwłaszcza jeśli w pobliżu nie ma żadnej testerskiej społeczności.

Skoro wspominamy o portalach społecznościowych i Internecie, warto uzupełnić ten temat o kilka kwestii. Przede wszystkim warto się zaprzyjaźnić z przyciskiem „Lubię to!” na Facebooku. Polubienie profili organizacji i osób zajmujących się QA/testowaniem, a także, a może przede wszystkim, dołączenie do grup zrzeszających testerów stanowi świetne źródło informacji. W sieciach społecznościowych znajdziecie ogrom wiedzy, która pomoże Wam w samorozwoju i wybraniu optymalnej ścieżki kariery. Przykładem niech będzie grupa Testowanie oprogramowania na Facebooku, która w polskojęzycznej części Internetu stanowi największą grupę dyskusyjną i bazę osób zainteresowanych testowaniem (ponad 20 000 osób!). Specjalnie z myślą o początkujących testerach powstała także grupa – Tester oprogramowania – wsparcie na starcie. Jest to inicjatywa stosunkowo nowa, jednak zdążyła już zebrać grupę ponad 2500 osób. Ponadto funkcjonuje również grupa Girls Who Test Community (wbrew pozorom nie tylko dla kobiet!), na której znajdziecie testerskie ciekawostki, materiały do poszerzania wiedzy z testowania i IT, a także oferty pracy.

Wiecie już, że warto aktywnie uczestniczyć w meetupach, dołączyć do grup zrzeszających QA/testerów w sieciach społecznościowych i mieć jakiś pomysł na siebie. Co dalej? Wymienione wyżej sposoby zaangażowania się wymagają głównie zainwestowania własnego czasu. Jeśli jednak chcecie jeszcze bardziej zagłębić się w obszar testowania oprogramowania, warto rozważyć dodatkową aktywność. Co może zwiększyć Wasze szanse w zawodzie?

W pierwszej kolejności udział w konferencjach. Konferencje stanowią idealne miejsce do przyswojenia skondensowanej dawki wiedzy i poznania interesujących ludzi o różnym spektrum doświadczeń. Co ważne, wiele z tych konferencji jest darmowych, przez co koszty ograniczają się do zorganizowania transportu i znalezienia noclegu. A wspomnienia i zdobyte doświadczenie są trudne do przecenienia.

Wybrane konferencje testerskie w Polsce:

Płatne:

  • Testwarez – największa (3 dni!) i najstarsza konferencja, organizowana przez SJSI w różnych miejscach Polski
  • TestingCup – wspierana przez SJSI konferencja połączona z zawodami dla testerów, organizowana w różnych miejscach Polski
  • AAdays – konferencja o testowaniu i automatyzacji w metodach zwinnych
  • Akademia jakości – konferencja organizowana w Warszawie

Bezpłatne:

  • Quality Excites – konferencja organizowana w Gliwicach
  • TestFest – konferencja organizowana we Wrocławiu
  • TestDive – konferencja organizowana w Krakowie
  • SkładQA – konferencja organizowana w Krakowie

ISTQB – certyfikacja dla testerów

Rozważając rozwój w kierunku testowania oprogramowania nie sposób nie natknąć się na pojęcie ISTQB. Jest to obecnie chyba najbardziej rozpoznawalny program certyfikacji testerska, za którą stoi zrzeszająca ponad 50 krajów organizacja ISTQB (International Software Testing Qualifications Board). ISTQB istnieje od 2002, jest organizacją non-profit, której głównym celem jest standaryzacja wiedzy w obszarze testowania oprogramowania.

System certyfikacji opiera się na wspólnym zbiorze wiedzy (na tak zwanych syllabusach opisujących podstawowe zagadnienia i cele nauczania dla danego modułu certyfikacji oraz słownik terminów związanych z testowaniem) oraz zasadach egzaminacyjnych, które są konsekwentnie stosowane na całym świecie.

Do grudnia 2017 roku ISTQB® przeprowadził ponad 785 000 egzaminów i wydał ponad 570 000 certyfikatów w ponad 120 krajach na całym świecie. Liczby te mówią same za siebie – jest to istotny certyfikat w świecie testerskim dający formalne potwierdzenie zdobytych określonych kwalifikacji.

Czy warto zaczynać karierę w testowaniu od certyfikatu ISTQB? Radzilibyśmy pewną ostrożność. Pojęcia i zagadnienia zawarte w syllabusie (nawet tym poziomu podstawowego) mogą okazać się kompletnie niejasne dla osoby niemającej wcześniej do czynienia z testowaniem i wytwarzaniem oprogramowania. Nauka może okazać się więc jedynie próbą zapamiętania treści syllabusa bez zrozumienia tematu. Bardziej sensowną opcją jest rozważenie sięgnięcia po certyfikat ISTQB FL po uzyskaniu pewnego rozeznania w obszarze testowania w IT, idealnie też po uzyskaniu pewnego (również niekomercyjnego) doświadczenia.

Ta porada może zostać uznana za kontrowersyjną. Zapewne spotkacie się z opiniami wielu testerów, którzy wskażą, że wiedza niezbędna do zdania egzaminu nie przydała im się w pracy w najmniejszym stopniu i wydawanie pieniędzy na egzamin nie ma sensu. Należy jednak uwzględnić, że są to subiektywne doświadczenia i opinie. ISTQB to uznawany na całym świecie program certyfikacji testerów – w wielu firmach stanowi podstawowe wymaganie dla stanowiska testera. Nie jest to jedyna droga rozwoju kariery w testowaniu, jest jednak jedną z lepiej ugruntowanych i sprawdzonych ścieżek.

Nie od razu trzeba też inwestować pieniądze w certyfikat ISTQB. Na początek można zacząć od przyswojenia wiedzy zawartej w syllabusie i słowniku, decyzję o podejściu do egzaminu można odłożyć do czasu, w którym upewnicie się, że rozumiecie zagadnienia syllabusa, a sam certyfikat będzie Wam potrzebny. Sam w sobie certyfikat jest powszechnie uznawanym dokumentem potwierdzającym posiadanie podstawowej wiedzy z przedmiotowego obszaru i w wielu przypadkach znacząco ułatwia poszukiwanie pracy.

Jak wybrać szkolenie?

Jeśli zdecydujecie się na udział w szkoleniu przygotowującym do certyfikacji ISTQB, zalecamy skorzystanie z akredytowanego dostawcy szkoleń. Akredytacja polega na starannym sprawdzeniu, czy spełnione są określone wymagania jakościowe dotyczące szkolenia. Weryfikowana jest na przykład zgodność materiałów szkoleniowych z wymaganiami wynikającymi z syllabusa (tj. czy kurs pokrywa wszystkie zagadnienia wymagane na danym poziomie certyfikacji), oraz kompetencje trenera (m.in. doświadczenie, kwalifikacje, umiejętności dydaktyczne).

Lista akredytowanych firm i trenerów znajduje się na stronie SJSI. Udział w nieakredytowanym szkoleniu, lub szkoleniu prowadzonym przez osobę bez akredytacji SJSI wiąże się z pewnym ryzykiem, dlatego też zalecamy staranny wybór dostawcy szkolenia przez zapisaniem się na kurs.

Ścieżka kariery wg ISTQB

Program certyfikacji ISTQB nie jest jedynym sposobem rozwoju kariery – jest jednak jednym z najlepiej rozpoznawalnych formalnych programów rozwoju kwalifikacji w obszarze testowania oprogramowania. Osoby, które szukają swojej drogi w testowaniu, powinny przynajmniej zapoznać się z ofertą programu ISTQB – istnieje spora szansa, że w bogatym portfolio produktów certyfikacyjnych ISTQB znajdą dla siebie inspirację bądź podpowiedź.

Aktualne portfolio ISTQB przedstawia się następująco (za ISTQB):

Program ISTQB oferuje trzy kierunki rozwoju:

  • Ścieżka Core (podstawowa) – ścieżka rozwoju w kierunku uniwersalnych umiejętności testerskich
  • Ścieżka Agile – dla osób pracujących lub zainteresowanych zwinnymi metodami wytwarzania i testowaniem w kontekście metod zwinnych
  • Ścieżka Specialist (specjalistyczna) – dedykowana osobom pragnącym rozwijać się w kierunku specyficznych obszarów czy kompetencji.

Najbardziej uniwersalnym kierunkiem jest ścieżka Core.

Warto zwrócić uwagę na nową propozycję w portfolio ISTQB 0 Acceptance Tester – program dla testerów akceptacyjnych (biznesowych). Jest to produkt dedykowany osobom (niekoniecznie testerom) zaangażowanym w realizację testów BAT (ang. Business Acceptance Testing) czy UAT (ang. User Acceptance Testing).

SJSI – jako krajowy oddział ISTQB – jest oficjalną polską reprezentacją organizacji ISTQB i bierze czynny udział w pracach nad rozwojem tego programu certyfikacji w skali całego świata.

Inne programy certyfikacji

Osoby zainteresowane rozwojem w kierunku innych obszarów zachęcamy do zapoznania się z poniższymi programami certyfikacji.

  • Analiza biznesowa: IQBBA, IIBA
  • Inżynieria wymagań: IREB (SJSI jest pierwszą  na świecie lokalną społecznością IREB i reprezentuje IREB w Polsce)
  • Inżynieria użyteczności: IBUQ

Dla osób zainteresowanych poszerzaniem podstawowych kompetencji testerskich:

  • Dojrzałość procesu testowego: TMMI (SJSI jest oficjalnym polskim lokalnym oddziałem TMMI)
  • Dojrzałość organizacji: CMMI

Testować każdy może?

Na koniec przyszedł czas zadania sobie pytania: Czy każdy może zostać QA/testerem?

Odpowiedź jest bardzo krótka. Nie, nie każdy. Dlaczego? Wbrew pozorom (i popularnym na rynku opiniom) jest to wymagająca ścieżka kariery. Wiele osób rozważa przebranżowienie się na testera, gdyż usłyszało, że jest to „łatwy sposób wejścia do branży IT”. Trudno o stwierdzenie dalsze od prawdy. Zapewnianie jakości wytwarzanego oprogramowania to proces wieloaspektowy i nawet jeśli od kandydatów na testerów nie wymaga się dużych umiejętności technicznych, możecie mieć pewność, że wymaganych jest wiele innych, równie istotnych kompetencji (np. umiejętność analitycznego myślenia czy rozwiązywania problemów, skrupulatność, sumienność etc.). Niestety nie każdy posiada niezbędne do pracy testera predyspozycje i umiejętności, a wielu z potrzebnych umiejętności nie da się po prostu wyuczyć w krótkim czasie (jak na przykład umiejętność skutecznej komunikacji w zespole).

W poszukiwaniu pracy i odniesieniu sukcesu w testowaniu oprogramowania kluczowa jest zdolność uczenia się, ciekawość świata technologii oraz rozwijanie kompetencji społecznych. Pomóc może też poznanie branży i społeczności testerskiej, nawiązanie kontaktów z innymi testerami oraz chęć samorozwoju objawiająca się aktywnym poszukiwaniem materiałów i kontaktów na własną rękę. Te elementy pozwolą zweryfikować, czy ta ścieżka kariery jest dla Ciebie odpowiednia i znacząco ułatwią zdobycie pierwszej posady.

Możliwość wejścia w zawód testera można podsumować następującym stwierdzeniem: drzwi do pracy w roli QA/testera oprogramowania (jak i w całej branży IT) są szeroko otwarte, jednak próg, który trzeba przekroczyć nie należy wcale do najniższych. Z pewnością nie nauczysz się testować dobrze oprogramowanie w 3 dni – co nie znaczy, że nie warto poświęcić na to kilkunastu dni więcej 🙂

PS Niniejszy tekst nie porusza kwestii związanych z poszukiwaniem pracy. Jest ku temu przyczyna – publikacja ma stanowić drogowskaz dla osób początkujących, dawać odpowiedzi na pytania „od czego zacząć?” i „gdzie szukać informacji?”. W zależności od potrzeby rynku oraz miejsca zamieszkania, znalezienie pierwszej pracy w roli QA/testera może być banalnie proste, lub wręcz przeciwnie – bardzo trudne. Podobnie wygląda kwestia wynagrodzenia, które może oscylować w okolicy średniej krajowej, bądź pensji minimalnej, może też wielokrotnie te progi przekraczać. Szczegółowe informacje w kwestii wynagrodzeń na stanowisku testera oprogramowania można znaleźć w raporcie przygotowanym przez portal testerzy.pl, w zestawieniu Piotra Wicherskiego czy też w zestawieniu oraz w kuluarowych rozmowach na testerskich meetupach 🙂

Kamil Goryn, Karolina Zmitrowicz