Wielu początkujących testerów oprogramowania w pewnym momencie swojej kariery postanawia wyjść poza ramy testów manualnych i rozpocząć naukę automatyzacji testów. Wtedy pojawia się pytanie – od czego zacząć?
Zacznij od podstaw
Odpowiedź na powyższe pytanie brzmi – zacznij od rzetelnej nauki programowania. I tu w zasadzie mógłbym zakończyć ten artykuł, ale chciałbym porządnie to wyjaśnić 🙂
Automatyzacja testów wymaga podstawowej znajomości choć jednego języka programowania. Nie idź na skróty. Niezależnie od wybranego języka (Java, C#, JavaScript/Typescript, Python i inne) zadbaj o zdobycie solidnej wiedzy z zakresu kodowania. Warto znać podstawowe koncepcje danego języka, najlepsze praktyki, wzorce projektowe – to wszystko zaprocentuje podczas pisania testów automatycznych.
Ktoś może spytać – „po co mam siedzieć nad intensywną nauką programowania, skoro potem nie wykorzystam tej wiedzy podczas pisania prostych testów automatycznych? Przecież wystarczy wiedzieć jak deklaruje się zmienne i metody, reszta jest niepotrzebna!”
Cóż, niestety to nie do końca jest prawda. Samo pisanie testów rzeczywiście często jest dość powtarzalne, ale nawet wtedy potrzebujesz znać fundamentalne zagadnienia dotyczące danego języka programowania, by radzić sobie z projektowaniem bardziej rozbudowanej logiki, z debugowaniem i rozwiązywaniem problemów, a także po prostu ze zrozumieniem kodu.
Podsumowując – zanim zaczniesz automatyzować testy, zainwestuj w zdobycie umiejętności programowania.
Następnie – czas na automatyzację
Gdy już poznasz podstawy kodowania, możesz skupić się na nauce narzędzia do automatyzacji testów. Spektrum frameworków jest spore, obecnie liczą się głównie Selenium, Cypress i Playwright. Ostatnio napisaliśmy kilka artykułów, które mogą pomóc Ci w podjęciu decyzji dotyczącej wyboru jednego z nich:
Jak uczyć się automatyzacji testów? Najlepiej sprawdzają się tutoriale wideo (YouTube, Udemy, inne). Następnie nic nie zastąpi praktyki – czyli samodzielnego pisania testów do wybranej aplikacji, połączonego z czytaniem dokumentacji danego narzędzia.
Zrozumienie dobrych praktyk testowych
Nie sztuką jest napisać „jakieś” testy – sztuką jest napisać je tak, by były stabilne, skalowalne i wydajne. Tester musi znać i stosować dobre praktyki pisania testów, takie jak:
- zasada DRY, czyli Don’t Repeat Yourself – jedna z fundamentalnych zasad w programowaniu, w tym w pisaniu testów automatycznych, polega na unikaniu powtórzeń kodu
- izolacja testów – testy powinny być atomowe, czyli każdy test powinien sprawdzać pojedynczy aspekt funkcjonalności, aby było łatwiej zidentyfikować przyczynę problemu w przypadku niepowodzenia testu
- unikanie zależności między testami – testy powinny być niezależne od siebie, aby mogły być uruchamiane w dowolnej kolejności
- nazewnictwo i czytelność – nazwy testów i metod testowych powinny jasno opisywać, co dany test sprawdza.
Tematykę dobrych praktyk podczas pisania testów automatycznych szerzej opisaliśmy w tym artykule.
Co dalej?
Jak najwięcej praktyki 🙂 systematycznie pisz testy i pracuj nad swoimi umiejętnościami technicznym. Pamiętaj, że branża IT wymaga ciągłej nauki, więc badaj trendy i nie zamykaj się na poznawanie nowych narzędzi.