Jak zarządzać dużą ilością testów automatycznych?

testy automatyczne

Testy automatyczne – jeszcze kilka lat temu coś bardzo egzotycznego i mało spotykanego – bo przecież można zatrudnić skończoną ilość studentów do przeklikiwania. Chyba wielu słyszało ten idiotyczny tekst. Rynek jednak powoli się zmienia. Obecnie okazuje się, że przysłowiowych klikaczy nie ma już tak wielu. Zresztą, zatrudnianie klikaczy do testowania aplikacji od A do Z jest skrajnie nieefektywne kosztowo. Taka osoba może klikać 8h dziennie, jednak po kilku iteracjach klikania zacznie być coraz mniej efektywna, przyjdzie zarówno zmęczenie jak i znużenie. Efektywność w wyłapywaniu błędów może znacząco spaść.

Testy automatyczne

Testy automatyczne to naturalny krok w rozwoju organizacji. Dosyć szybko można zauważyć, że niektóre testy można zautomatyzować. Ma to tę zaletę, że odciążamy człowieka, który teraz może bardziej skupić się na pracy testera, czyli na opracowywaniu scenariuszy testowych, a nie na bezmyślnym klikaniu wg. ustalonego scenariusza. Może zająć się czymś bardziej kreatywnym. Super…

…ale

…ale nie ma róży bez kolców. Test automatyczny działa bardzo zero-jedynkowo, albo przechodzi albo nie. Jeśli testy automatyczne są napisane prawidłowo – czyli nie są to tzw. flaky tests, które raz przechodzą a raz nie – to powinny zacząć nie przechodzić w momencie pojawienia się błędu w aplikacji lub w przypadku zmiany logiki aplikacji.

Jeśli pojawił się błąd w aplikacji – należy poprawić aplikację, jeśli natomiast zmieniła się logika aplikacji to trzeba dostosować test automatyczny do nowych wymagań. Jest jednak jeszcze jedna zmiana, która nie jest ani błędem ani zmianą w logice aplikacji, a też może spowodować, że nasze testy automatyczne przestaną działać.

Testy automatyczne a zmiana interfejsu użytkownika

No właśnie, zmiana w interfejsie użytkownika. Trochę inne kolorki, trochę inny układ przycisków, drobne poprawki UI/UX i już nasze testy leżą.

Z każdym jednym testem automatycznym, który dodajemy do naszego rozwiązania dodajemy kolejny element, który trzeba utrzymywać. Przy 2-5-10 testach automatycznych to nie jest wiele pracy, ale co jeśli tych testów będzie 100-1000? Wtedy zaczyna to być znaczący koszt. Czasem pojawia się pomysł, aby zaprzestać używać testów automatycznych, bo to kosztuje zbyt dużo. Decyzja taka jednak jest jak wylanie dziecka z kąpielą. Rozwiązuje problem, ale może niekoniecznie w sposób pożądany. Albo dosadniej, na ból głowy lepiej wziąć lekarstwo niż zaaplikować gilotynę. Niby oba sposoby działają, ale ten pierwszy jest jednak bardziej preferowany.

Ok, to jak poradzić sobie z dużą ilością testów automatycznych? Tak, aby się dało to utrzymywać przy rozsądnym koszcie? Rozwiązaniem jest Page Object Pattern. Wzorzec bardzo prosty w swoim założeniu i genialnie efektywny, jeśli stosowany poprawnie. Jeśli chcesz wiedzieć więcej na temat tego wzorca, to zapraszam Cię na zupełnie DARMOWY webinar na temat Page Object Pattern.

Jest tylko jeden haczyk. Trzeba się spieszyć z rejestracją, bo czasu nie zostało wiele.

REJESTRACJA