Czego się uczyć ?
Już jakiś czas temu pisałem, że nie jest to czas dla juniorów. W sytuacji w której obecnie jesteśmy, przejście do świata IT stało się dużo trudniejsze. Ale czy to znaczy, że się nie da? Oczywiście, że się da tylko jest trudniej niż kiedyś, dużo trudniej..
Pandemia
W okresie pandemii bardzo wiele osób straciło pracę lub ich rozwijające się drobne biznesy zatrzymały się . Bardzo wiele osób zaczęło proces przebranżowienia. W związku z tym, że branża IT nie ucierpiała, aż tak bardzo jak pozostałe to duża grupa zapragnęła posmakować świata IT. Spowodowało to duży napływ kandydatów mamionych pewną pracą i bardzo dobrą zapłatą. Co za tym idzie jest dużo większa konkurencja na stanowiska „juniorskie”
Wyróżnij się
Jeżeli chcesz zdobyć swoją pierwszą pracę i przebić się wśród setek innych osób musisz się czymś wyróżniać. Co może Cię wyróżnić? Twoje umiejętności są Twoją największą bronią. Musisz przewyższać oczekiwania, pokazywać pracodawcy wartość jaką możesz dostarczyć jego firmie. Samo testowanie manualne może nie wystarczyć, dlatego warto jest poszerzać swoją wiedzę i nauczyć się automatyzacji testów.
Solidne podstawy testowania
Jeżeli chcesz rozpocząć naukę automatyzacji to najpierw musisz zdobyć solidne podstawy dotyczące samego procesu testowania oprogramowania. Da Ci to obraz na czym ta praca polega i będziesz mógł odpowiedzieć sobie na pytanie czy jest to odpowiednie miejsce dla Ciebie. Wiedzę można znaleźć w internecie zupełnie za darmo. Punktem wyjścia może być syllabus ISTQB , wpisy na blogach lub grupach na Facebooku. W internecie możesz znaleźć również szereg kursów online. Na początku nie polecam inwestowania tysięcy złotych w kursy, które są tylko drogowskazem i nie dają żadnej pewności zatrudnienia.
Nauka języka programowania
Do tworzenia testów automatycznych wymagana jest znajomość wybranego języka programowania. Tutaj pojawia się pierwsze pytanie: Jaki język programowania wybrać ? Osobiście podchodzę do tego tematu bardzo pragmatycznie. Przeglądam oferty pracy na portalach z ogłoszeniami dla IT i sprawdzam, który język programowania jest obecnie najbardziej popularny. Tutaj również warto zaznaczyć, że w internecie znajduje się bardzo dużo materiałów i naukę można rozpocząć zupełnie za darmo. Nie musisz być wybitnym koderem, aby zacząć tworzyć pierwsze testy automatyczne, ale warto rozwijać umiejętność pisania kodu, aby Twoje testy były jak najlepsze.
Selenium
Selenium jest zbiorem narzędzi, które umożliwiają automatyzację zachowania użytkownika w przeglądarce internetowej. Po napisaniu kodu przy użyciu wybranego języka programowania i Selenium będziemy mogli automatycznie klikać po Naszej aplikacji internetowej. Testy automatyczne na poziomie interfejsu użytkownika nie należą do najszybszych, ale nadal cieszą się dużą popularnością. Jest to bardzo pożądana umiejętność wśród kandydatów na stanowiska testera oprogramowania. Bardzo popularnym narzędziem do tworzenia testów UI jest biblioteka Selenium WebDriver. Biblioteka ta jest kompatybilna z większościa języków programowania.
Biblioteki ułatwiające pisanie kodu
Istnieje szereg bibliotek ułatwiającyh pisanie testów automatycznych na poziomie interfejsu użytkownika. Powodują one, że pisząc mniej kodu, Twoje testy robią więcej. Większość bibliotek korzysta pod spodem z Selenium WebDriver i sprawia, że kod który tworzymy jest czytelniejszy i łatwiejszy w użyciu. Warto zapoznać się chociaż z jedną taką biblioteką i napisać kilkadziesiąt testów przy jej użyciu, aby sprawdzić jakie korzyści może przynieść takie rozwiązanie.
Testowanie API
Po tym jak nauczysz się tworzyć testy na poziomie UI, możesz spróbować swoich sił poziom niżej tzn. na poziomie API. Testy na tym poziomie możemy tworzyć w kodzie korzystając z dedykowanych bibliotek np. REST Assured ( dla języka programowania Java) lub narzędzi które mają interfejs użytkownika (Postman) i nie wymagają znajomości żadnego języka programowania.
Testy API są dużo szybsze od testów na poziomie interfejsu użytkownika i polegają na wysyłaniu żądania do serwera, a następnie weryfikacji jego odpowiedzi. W przypadku testów API warto również na początku zadbać o zaplecze teoretyczne.
Podsumowanie
Za tydzień opublikuję drugą część artykułu i omówię w nim pozostałe narzędzia z którymi warto się zapoznać kandydując na stanowisko testera oprogramowania. Oczywiście nie trzeba znać ich wszystkich, aby zdobyć swoją pierwszą pracę. Część osób przy odrobinie szczęścia wejdzie do świata IT bez posiadania umiejętności automatyzacji testów.