• No products in the cart.
View Cart
Subtotal: 0,00 
41:05

#4 Jak zostać testerem oprogramowania / Quality Assurance (QA) w IT?

14 lutego, 2023

W dzisiejszym wpisie i odcinku opowiadamy o tym, jak można rozpocząć karierę jako QA / Tester w IT, a dowiemy się tego od osoby, która sama temu wyzwaniu sprostała – Joanny Gruszki, Quality Assurance Specialist w Trans.eu Group.

Ze świata finansów do dbania o jakość w IT jako QA

Asia o IT myślała przez wiele lat, głównie dlatego, że zawsze fascynowało ją, w jaki sposób z linijek kodu powstaje działająca aplikacja, np. taka, której codziennie używa się w swoim życiu. Wprawdzie nigdy nie wykazywała zamiłowania do matematyki, więc w związku z tym uznała, że nie ma dla niej miejsca w tej branży i nie podjęła studiów informatycznych. Ale to nie koniec tej historii.

Ścieżka zawodowa Asi biegła przez bankowość i ubezpieczenia, gdzie zajmowała się obsługą klienta i kontrolingiem. Po symbolicznej trzydziestce stwierdziła, że czas na zmianę i zaczęła się zastanawiać co chciałaby w życiu robić.

W pierwszej chwili skupiła się na marketingu internetowym, kiedy to na rodzinnym spotkaniu padło zdanie „U nas w firmie brakuje testerów, wypuszczamy aplikacje bez testów”. Wtedy zapaliła się jej w głowie lampka „Ja będę świetnym testerem! Co muszę zrobić, aby, nim zostać?”.

To był lipiec, a we wrześniu była już kursantką bootcamp’u (czyli ekspresowego kursu) na testera manualnego organizowanego przez SDA.

Czuła, że testowanie oprogramowania to pomysł na jej przyszłość, bo dd zawsze kogoś/coś sprawdzała. W bankowości były to dokumenty podpisywane z klientami, wnioski kredytowe czy transakcje kasowe. W PZU przeprowadzała kontrole i szkoliła agentów z nowych narzędzi systemowych. Takie umiejętności jak dobra organizacja pracy, skrupulatność, odpowiedzialność czy umiejętność pozytywnej komunikacji z drugim człowiekiem rozwijała przez całe swoje zawodowe życie, a są właśnie cechy pożądane na stanowisko testera aplikacji.

Asia poszła ścieżką wykorzystania już zdobytego wcześniej doświadczenia. W PZU prowadziła szkolenia dla agentów ubezpieczeniowych z nowych narzędzi i pierwszą pracę jako QA rozpoczęła w firmie rozwijającej aplikację dla agentów ubezpieczeniowych, gdzie doświadczenie biznesowe było nawet ważniejsze niż techniczne.

Bardzo ważna na początku ścieżki jest gotowość zejść poniżej wynagrodzenia, jakie otrzymujesz w branży, w której masz już doświadczenie. Asia na początku swojej drogi wysłała w sumie 40 CV, z czego wygenerowała 5 rozmów, które z kolei zaowocowały 2 ofertami pracy jako QA.

Jak wygląda ogólnie proces testowania oprogramowania?

W dużym uproszczeniu działa to tak:

  1. Programista otrzymuje spisane w formie zadania wymagania funkcjonalne (czyli jak coś ma docelowo działać) i następnie „kodzi”, czyli pisze taki kod, który w automatyczny sposób będzie spełniał te opisane w zadaniu wymagania
  2. Po napisaniu kodu, wrzuca go na serwer gdzie mogą do niego dostać dostęp inne osoby
  3. Zadanie które było realizowane przez programistę, zapoznaje się z tym co programista miał zrobić a następne weryfikuje czy to co jest dostępne na serwerze faktycznie spełnia wszystkie punkty zadania
  4. Jeśli znajdzie jakiś błąd, tworzy na ten błąd zadanie i dokładnie opisuje co i jak nie działa. To zadanie wraca do programisty.
  5. Jeśli wszystko jest ok, tester przepuszcza zadanie dalej oznaczając je jako zaakceptowane przez niego i spełniające standardy jakości.
  6. W przerwach pomiędzy testowaniem konkretnych zadań, tester może „eksploracyjne” testować system (czyli po prostu wchodzić w konkretne obszary i szukać czy jest coś co nie działa) lub pisać testy automatyczne, czyli „kod który sprawdza kod”.

Co cechuje dobrą testerkę/dobrego testera?

Jak w każdej branży i na każdym stanowisku są pewne cechy i umiejętności pożądane. Tester powinien posiadać predyspozycje miękkie, takie jak komunikatywność – jest to najważniejszy skill testera, dlatego że nie jest łatwo mówić o czyichś błędach, powiedzieć komuś, że zrobił coś źle. Ważne jest tutaj skupienie się na problemie, a nie personalnie na osobie.

Jak również chęć do drążenie tematu, na pewno przydatne jest analityczne myślenie, tester wciąż zastanawia się, jakby to jeszcze popsuć? Co się stanie, jeśli zrobię tak… jaki, to ma wpływ na dalszy proces? Czy ma to wpływ na wcześniejsze działania?

Niestety, w zadaniach, jakie otrzymujemy do testów nie jest wszystko opisane. Praca testera wykracza poza działania, jakie są ujęte w tasku, i to jest bardzo ważne, aby być tego świadomym.

Czy każdy może testować oprogramowanie?

Tylko osoba, która ma czasz na naukę – i nie tylko na początku zawodowej ścieżki, po to by zacząć, nauka trwa cały czas – najintensywniej przez pierwsze dwa lata.

Środki na kształcenie się lub duże samozaparcie w pozyskiwaniu wiedzy dostępnej w sieci. Nie każdy ma cierpliwość do drugiej opcji. Asia w tym roku rozpoczęła przygodę z testami automatycznymi. Zaczęła od kursów na udemy, ale w rzeczywistości napotkała problemy, o których w kursie nie wspomniano. Oczywiście na wszystko jest odpowiedź w sieci, ale jest też wiele odpowiedzi, które już nie są aktualne, ponieważ technologia się zmienia. Asia wpadła na inny pomysł – prywatne korepetycje z doświadczonym programistą w zakresie testów automatycznych – ale nie jetto popularne podejście (choć skuteczne!). W IT jest to normalne, że poświęcasz czasami sporo czasu, aby rozwiązać jakiś problem podczas pisania kodu. Zupełnie inną kwestią jest poznać odpowiedź na pytanie jak to powinno działać, a inną rozumieć jak to powinno działać.

Jak wejść do branży jako QA? Jakie są ścieżki?

  • Studia podyplomowe – koszt około 8 600 zł, czas trwania około 2 lata 
  • Studia inżynieryjne – koszt około 25 000 zł, czas trwania około 5 lat
  • Bootcampy – koszt między ~2 000 a ~8 000 zł, czas trwania między 1 a 3 miesiące
  • Kursy online – koszt między ~200 a ~2 000 zł, czas trwania zależny od kursu (z reguły kilka do kilkunastu godzin materiałów). Kursy na udemy – są wbrew pozorom cenione przez branże. Zaczynając Asia miała w CV już kilka kursów dotyczących testów manualnych, oraz znała podstawy języka python jak również zrealizowała kurs dotyczący znajomości gita.
  • Wykorzystaj swoje doświadczenie – każda branża ma już swoją aplikację, dobry QA zna biznes, zna problemy użytkowników i swoje doświadczenie powinien umieć wykorzystać podczas wytwarzania oprogramowania. Przykładowo, jeśli jesteś spedytorem szukaj ogłoszeń w branży transportowej, jeśli jesteś kosmetyczną, szukaj aplikacji z sektoru beauty itd. 
  • Udzielaj się na webinarach – zadawaj pytania. Bywaj na spotkaniach organizowanych przez tą sama grupę. Niech Cię zauważą, polubią. Sprawdź na meetup.com czy w Twojej okolicy nie dzieją się jakieś spotkania. Asia np. przystąpiła do programu “Dziewuchy w chmurach”.
  • Testuj tam gdzie pracujesz / jesteś – na 99% w miejscu, w którym obecnie pracujesz jest jakiś system informatyczny / strona / aplikacja. Testuj ją, szukaj dziur, zgłaszaj błędy, koordynuj ich naprawę. To da Ci prawdziwe komercyjne doświadczenie, którym potem wykażesz się w rekrutacji na QA.

Jak zacząć? 

Pierwsze co przychodzi do głowy to studia.
Asia pytała wiele osób, z którymi współpracowała czy powinna zrobić studia informatyczne i każdy odpowiedział, że na tym etapie to szkoda czasu i pieniędzy. Na pewno studia wyglądają w CV lepiej niż bootcamp czy kurs online. Jeśli myślisz nad wyborem studiów i chcesz testować, to jak najbardziej idź tą drogą, jeśli chcesz się przebranżowić, to są szybsze i tańsze opcje.

Trzeba natomiast jedno powiedzieć jasno – jeśli ktoś łudzi się, że po 3-miesięcznym bootcam’pie, gdzie zjazdy są co drugi weekend, zostanie testerem, programistą czy będzie automatyzował testy, to boleśnie przekona się, że nie.

Wykładowca na bootcam’pie, w którym Asia brała udział, wciąż powtarzał, że on nam tylko daje zajawkę tematu, można to wykuć na blachę i zdać egzamin, ale to nas nie przygotuje do pracy w tym zawodzie. Należy poświęcić dwa razy więcej czasu niż sam bootcamp, we własnym zakresie, aby zdobyć niezbędną wiedzą do wykonywania obowiązków wynikających ze stanowiska testera.

Tak też było w realnym świecie, gdzie Asia po pracy w tygodniu poświęcała każdego dnia od 2 do 4 godzin na zapoznawaniu się z teorią z wykładów, poprzez szukanie informacji na dany temat na blogach, grupach, forach czy w innych podręcznikach. Potem robiła z tego własne notatki. Każde otrzymane zadanie do wykonania robiła w 3 wersjach i w dwóch językach.

Dlaczego? Dlatego, że uczymy się przez praktykę, i warto wykorzystać wiedzę trenera na takich bootcamp’ach do maksimum.

I teraz druga kwestia. Tak jak w przypadku testera manualnego / QA ważną rolę odgrywają umiejętności miękkie, a wiedzę należy uzupełnić we własnym zakresie, tak w przypadku testera automatyzującego i jak można się domyślić programisty, to nie jest już, tak łatwo.

Nawet jeśli poświęcasz czas po bootcamp’ie na szperanie po sieci i szukanie odpowiedzi na pytanie „dlaczego u mnie nie działa”, to najprawdopodobniej szybciej znajdziemy rozwiązanie niż odpowiedź – a to dwie różne rzeczy. W sieci łatwo znajdziemy kod, który zadziała, ale znacznie trudniej znaleźć wytłumaczenie logicznego działania.

Asia rekomenduje korzystanie z korepetycji u doświadczonego programisty, który nie tylko pokaże co można wykorzystać z danej biblioteki, ale nauczy jak pisać własny kod, dzięki czemu zrozumiesz działanie i logikę. Tutaj większe znaczenie mają umiejętności techniczne i analityczne myślenie. W przypadku rekrutacji na testera automatyzującego rekrutacja będzie wyglądała niczym na programistę. Jeśli chodzi o testera manualnego, to często dużo ważniejsza jest znajomość biznesu i umiejętność dobrej komunikacji niż umiejętności techniczne, dlatego mówi się, że próg wejścia do branży IT jest tu najniższy.

Natomiast nawet w przypadku testera manualnego, „jakieś” umiejętności techniczne są konieczne. Można by wyróżnić choćby:

  • rozumienie logiki działania stron internetowych i aplikacji, czyli zasady komunikacji miedzy front-endem, back-endem a serwerami
  • umiejętność inspekcji kodu danej strony oraz komunikacji z API (otwórz konsolę strony poprzez „Zbadaj” w przeglądarce”
  • znajomość pojęć oraz rozumienie konceptu JSON, API, POST, PUT, kody odpowiedzi (2XX, 5XX etc.), payload)
  • umiejętność korzystania z gita i np. GitHub’a (plus posiadanie własnego profilu tam)

Na co zwrócić uwagę? Jakie są ryzyka?

Warto obserwować grupy na Facebooku wspierające osoby, które chcą zacząć pracować w IT jako tester. Juniorzy dzielą się swoim CV, aby uzyskać feedback od osób z większym doświadczeniem, zdarza się że są osoby, które od roku po ukończeniu bootcamp’u szukają pracy bez skutku. Można tam poczytać o błędach, jakie popełniają inni po to, by uniknąć ich na swojej ścieżce do IT.

Język angielski, czy faktycznie jest konieczny?

Tak, jest konieczny. W mniejszym lub większym stopniu, ale jest. Przede wszystkim, jeśli język obcy jest wymagany w ogłoszeniu to na 99% osoba z HR która do Ciebie zadzwoni, przeprowadzi z Tobą choćby krótką pogawędkę w języku obcym. Tutaj warto się przyłożyć, ponieważ w większości przypadków, nawet jeśli masz doświadczenie w testowaniu, a rozmowa będzie stwarzała dla Ciebie problem to HR nie przekaże twojego CV dalej.

Rzeczywistość wygląda nieco prościej. Często dokumentacja jest w języku angielskim, ale każdy, kto umie korzystać z tłumacza googla powinien sobie poradzić. Inaczej sprawa wygląda, gdy w zespole są osoby anglojęzyczne. Wszystkie spotkania w SCRUM wymagają aktywnego uczestnictwa, więc takie minimum, czyli poziom B2 jest konieczne. Najtrudniej i tutaj nie ma taryfy ulgowej, jeśli będziesz mieć kontakt z klientem zagranicznym. Tutaj musisz czuć się swobodnie podczas takiej rozmowy więc minimum C1 jest takim must have, tym bardziej, że rozmowy będą często dotyczyły języka techniczno-biznesowego.

No i kwestia samego rozwoju – ~90% materiałów w Internecie, na jakie się natkniesz, będzie jednak w języku angielski więc brak rozumienia tutaj będzie dla Ciebie sporym ograniczeniem.

Czy tester manualny może mieć portfolio?

Jako tester automatyczny powinno się mieć portfolio umieszczone na GitHubie. Jest to tyle proste, że w końcu pokazujemy kod, jaki napisaliśmy.

W przypadku testera manualnego to na start może być tylko rozbudowane CV, z czasem opis projektów, w których wykonywało się testy. Warto nawet pokazać graficznie błędy, jakie się zgłaszało, pokazując strukturę opisu oraz szczegóły, na jakie zwróciło się uwagę – bardzo mało kto to robi, a to pokazuje już jakiś standard pracy. Można również pokazać dokumentację, jaką się tworzyło – w przypadku testera to również bardzo ważny element pracy (dbanie o aktualną dokumentację testowanych obszarów).

Rekomendowane materiały do nauki / rozwoju:

Grupy na Facebooku

Testowanie oprogramowania –

https://www.facebook.com/groups/TestowanieOprogramowania/

Tester oprogramowania – wsparcie na starcie –

https://www.facebook.com/groups/testeroprogramowania/

Czerpanie wiedzy

https://www.w3schools.com/
https://inetum.pl/pl/kariera/akademia-inetum/
https://testerka.pl/
https://myservername.com/
https://testerzy.pl/
https://piestrzynski.pl/komendy-polecenia-vim-edytor/
https://jaktestowac.pl/

Portale gdzie można zdobyć doświadczenie komercyjne

https://www.utest.com/
https://ubertesters.com/

Webinary i meetingi

Wydarzenia IT – https://crossweb.pl/wydarzenia/it/

Książki
Tester oprogramowania przygotowanie do egzaminu z testowania oprogramowania – Karolina Zmitrowicz

Testowanie i jakość oprogramowania. Modele, techniki, narzędzia – Adam Roman Testowanie oprogramowania w praktyce – studium przypadków 2.0 – Adam Roman i Karolina Zmitrowicz

Więcej o Asi: https://www.linkedin.com/in/joanna-gruszka-252023189

Show notes

  • 1:52 Ze świata finansów do IT
  • 4:05 Co cechuje dobrego testera?
  • 7:04 Czy każdy może zostać testerem i jak nim zostać?
  • 15:00 Testy manualne a automatyczne
  • 20:05 Ciemne strony zawodu testera
  • 27:34 Jak zdobyć pierwsze doświadczenie komercyjne?
  • 29:50 Jak stworzy portfolio?
  • 32:15 Skąd czerpać wiedzę?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to top