Cześć, czy zastanawialiście się może ostatnio nad spróbowaniem swoich sił w zawodzie testera oprogramowania ale nie wiecie od czego zacząć? Opowiem Wam jak wyglądały moje początki rozpoczętej nieco ponad rok temu przygody z QA ale może na początek się przedstawię pisząc...
Mieszkam w Warszawie, skończyłem studia inżynierskie na wydziale Ogrodnictwa SGGW i pracowałem w wyuczonym zawodzie przez dwa lata. Jak się zapewne domyślacie, moje studia ani praca nie miały nic wspólnego z komputerami. Skończyłem liceum w klasie o profilu biologiczno-chemicznym i szczerze powiedziawszy ani wtedy, ani na studiach nie myślałem o pracy w szeroko rozumianym IT.
Z powodów takich jak: brak stabilności finansowej, sezonowość a co za tym idzie praca na czarno lub umowę zlecenie, późną jesienią 2014 roku podjąłem decyzję: zmieniam zawód...wtedy nie miałem jednak pojęcia co chciałbym robić! W takiej sytuacji bardzo trudno jest znaleźć pracę. Nie można szukać "czegokolwiek". Przecież nikt nie zatrudni człowieka, który chce pracować ale nie wie co go interesuje i nie ma żadnej wiedzy związanej ze stanowiskiem, o które się ubiega. Byłem krok za Wami. Wy już wiecie czego szukacie!
Późnym grudniowym wieczorem, gdzieś między Świętami Bożego Narodzenia a początkiem Nowego Roku, spotkałem się ze znajomymi na pokera przy whisky. Jeden z nich jest bardzo utalentowanym i od jakiegoś czasu coraz bardziej rozpoznawalnym w środowisku QA testerem. Zapytał mnie czy nie chciałbym spróbować swoich sił w testowaniu. Nie myśląc zbyt wiele wszedłem w to "All In", nie miałem nic do stracenia. Dostałem świetne karty i nie mogłem przegrać tego rozdania.
Pierwszy cel: znaleźć pracę na początku marca 2015. Nie udało się.
Od połowy lutego zacząłem rozsyłać swoje CV. Z marnym skutkiem. Na około 50 zgłoszeń miałem dwie rozmowy telefoniczne i jedną rozmowę rekrutacyjną w biurze dużej firmy ubezpieczeniowej. Byłem spięty i nic z tego nie wyszło.
Proces rekrutacyjny do mojej obecnej pracy zaczął się dopiero w połowie czerwca a staż rozpocząłem w lipcu. Praca sama się znalazła! Napisałem ogłoszenie na facebook'u i po około godzinie odezwały się do mnie aż trzy osoby. Magia internetu i social media! To jest moja rada numer jeden. Napisać ogłoszenie na forum branżowym jako dodatek do tradycyjnego rozsyłania swoich CV...nie, nie, nie. Na odwrót. Napiszcie swoje ogłoszenie na FB i załużcie konto na LinkedIn oraz dodatkowo wysyłajcie CV z ogłoszeń na stronach typu: monster czy pracuj.pl. Dzięki temu nie będziecie czekać na swoją pierwszą pracę tak długo jak ja :)
Wysyłanie CV i pisanie ogłoszeń jednak nic nie da, jeżeli nie mamy żadnych konkretów do napisania. Wiem, wiem. Pojawia się pytanie: "Co mamy wpisać skoro nie mamy doświadczenia zawodowego?". Miałem ten sam problem co Wy i dlatego teraz opowiem, co robiłem będąc na bezrobociu żeby wypełnić moje CV :)
Co miałem na starcie? W dużym skrócie można to zamknąć w pięciu punktach:
- dobre materiały do nauki
- wsparcie ze strony "zawodowca" i jego krytyczna ocena moich postępów
- ogromna motywacja
- doświadczenie w samokształceniu
- tematyka testowania mnie zainteresowała!
Nie każdy zna osobiście kogoś pracującego w zawodzie ale pozostałe wymienione czynniki zależą od Was i wystarczą do tego by zdobyć pierwszą pracę!
Przygotowanie do pierwszej pracy traktowałem jak studia albo pracę. Na naukę poświęcałem co najmniej 5 godzin dziennie. Starałem się być zdyscyplinowany i uczyć się także w weekendy. Miałem okresy zwątpienia, kiedy szukanie pracy nie szło tak gładko jakbym tego sobie życzył albo przytłaczał mnie ogrom wiedzy jaki jeszcze powinienem przyswoić. Najważniejsze jest to, żeby po takich kilku dniach zwątpienia znów brać się w garść i dążyć do celu.
Poniżej opisuję dokładnie czego się uczyłem oraz z jakich materiałów korzystałem, żeby dostać pracę.
Na samym początku zostałem wrzucony na głęboką wodę. Pierwsze materiały jakie dostałem to kurs Selenium. Został on polecony z opisem:
Świetny kurs selenium po którego opanowaniu będziesz w stanie swobodnie ogarniać w nim projekty :) Składa się z 33 lekcji, powinien zająć nie więcej niż 40 godzin nauki.
To prawda. Kurs jest godny polecenia i za pierwszym razem przeszedłem go w 7 dni. Po tych siedmiu dniach byłem bardzo zmęczony ale też zadowolony. Większość materiału rozumiałem lub wydawało mi się, że rozumiem. Były też tematy nie do przyswojenia w tak krótkim czasie. Do tego kursu wracałem jeszcze kilka razy w okresie przed rozpoczęciem pracy.
Po kursie selenium wziąłem się za naukę Java, gdyż wcześniejszy kurs WebDrivera opierał się na tym języku programowania.
Tym razem był to ten kurs video. Na naukę z tym kursem poświęciłem około dwa tygodnie. Jak zapewne się domyślacie przez ten czas udało mi się jedynie zapoznać ze składnią języka i choć trochę zrozumieć o co chodzi w programowaniu. Tak samo jak z kursem WebDrivera większość z tych filmów obejrzałem więcej niż jeden raz.
Cały ten etap, czyli pierwszy miesiąc nauki, w żadnym wypadku nie nauczył mnie programowania ani tworzenia testów automatycznych. Ten czas wystarczył jedynie na ogólne zrozumienie tematu i umiejętność interpretacji napisanych przez kogoś prostych testów automatycznych.
Dopiero po opisanym wcześniej chrzcie bojowym, zostałem wprowadzony w podstawy teorii testowania. Na tym etapie zapoznałem się też z podstawowym warsztatem testera manualnego. Przeczytałem sylabus ISTQB wraz ze słownikiem pojęć testerskich ISTQB. Dostałem także listę pojęć, które są szczególnie istotne (lista poniżej). Nie dostałem kawy na ławę. Tym razem sam musiałem szukać informacji. Czytałem o tych zagadnieniach w wielu źródłach, żeby mieć możliwie jak najszersze spojrzenie na dany temat.
- Czym się różnią testy white boxowe od black boxowych
- czym się różni test case od test suite
- Czym jest boundary value analysis
- Czym są tabele decyzyjne i gdzie można je zastosować
- Czym jest jakość oprogramowania
- Czym jest testowanie
- Kiedy testy są zakończone, kiedy można zakończyć testy nad danym projektem
- Proces testowania
- Sprawdzenie zgodności pruduktu z jego specyfikacją
- QA a testowanie
- Jakość - zapewnianie jakości. Co może składać się na zapewnianie jakości oprogramowania. Co może się na to składać.
- Smoke testy (Testy kanarkowe)
- Stolik, jak przetestowałby Pan stolik -> tego typu pytania pojawiają się na każdej rekrutacji juniorów. Pokazują nasze zdolności analitycznego myślenia (wyszukiwanie potencjalnych problemów w teoretycznie trywialnym zagadnieniu.)
- Następująca sytuacja "Otrzymujesz produkt, który po odpaleniu nie działa. Co robisz?"
Poza wymienionymi powyżej zagadnieniami, czytałem o tym jak napisać dobry test case, jak zgłaszać błędy w darmowym programie Mantis(jakie informacje należy podać). Warto poćwiczyć pisanie caseów jak i zgłoszeń błędów przed rozpoczęciem pracy. Wydaje się, że są to proste rzeczy a jednak wiele osób ma z nimi problem. Jasne i zrozumiałe dla wszystkich TestCase oraz zgłoszenia błędów to podstawowa umiejętność każdego testera!!!
Jako podsumowanie wszystkich zagadnień teoretycznych, przeszedłem także bardzo fajny tutorial poświęcony pracy testera napisany przez pracownika PayPal. Tutaj mamy przedstawione praktyczne spojrzenie na zagadnienia teoretyczne.
Wszystkie zagadnienia z tej tematyki to był kolejny miesiąc nauki. Te pozornie łatwe zagadnienia trzeba doszlifować w pracy i dopiero po dłuższym czasie pewne koncepcje stają się integralną częścią naszego sposobu myślenia i działania.
Opisane do tej pory tematy (poza automatyzacją) powinny wystarczyć do tego żeby zacząć się rozglądać za pracą!!!
Po około trzech miesiącach przyszedł czas na naukę kolejnych zagadnień technicznych. Tym razem sam decydowałem o tym czego chcę się nauczyć. Bardzo interesowała mnie tematyka testów automatycznych, więc kontynuowałem naukę programowania oraz przydatnych technologii do pisania automatów.
Na stronie W3C (którą polecam z całego serca) mamy kopalnie wiedzy dotyczącą webDevelopmentu. W mojej ocenie podstawy w tym zakresie powinien posiadać każdy poważnie podchodzący do swojej pracy QA (zwłaszcza ten myślący o automatyzacji GUI aplikacji webowych).
Pierwsze kursy, które przerobiłem to kurs HTML, CSS i XPath. Na naukę tych technologii poświęciłem kolejny miesiąc.
Ostatnią rzeczą jakiej się nauczyłem przed rozpoczęciem pracy to SQL. Kurs z powyżej podanej strony.
Zacząłem pracować. Pierwsze 3 miesiące spędziłem na automatyzacji aplikacji bankowej w mojej firmie. Praca uczy pokory. Po tych kilku miesiącach samodzielnej nauki wydawało mi się, że sporo potrafię. Po zakończeniu stażu, na którym dużo się nauczyłem w zakresie automatyzacji, paradoksalnie moje nastawienie zmieniło się na: "jest jeszcze tak wiele rzeczy, których muszę się nauczyć".
To nastawienie towarzyszy mi cały czas, rok odkąd skończyłem swój staż.
Ostatnia rada jaką mógłbym udzielić to:
zacznijcie od teorii testowania i jej praktycznego zastosowania.
Szukajcie pracy.
Uczcie się kolejnych interesujących dla was zagadnień.
Znajdźcie pracę.
Nie przestawajcie się uczyć.
Powodzenia!!!