pl en

Czy automatyzacja zawładnie światem testów? 🧐

Automatyzacja testów jest coraz bardziej popularna i wiele firm chętnie ją wprowadza, ponieważ niesie za sobą wiele korzyści. Według danych przedstawionych przez Astasie Myers dla Medium.com testy automatyczne należą do najszybciej rozwijających się obszarów rynku testowania oprogramowania.

Według raportu Bulldogjob „Badanie społeczności IT 2021” 64% testerów pisze testy automatyczne, jednak większość osób która to robi, nie skupia się jedynie na tym. Najczęściej role testera automatycznego i manualnego łączą się, a większość z nich zaczynała od testów ręcznych. W 2016 roku, według European Software Testing Benchmark Report, zaledwie 5% testerów wykonywało wyłącznie testy automatyczne. Z pewnością tym, co zachęca do rozwoju w tym kierunku są wyższe zarobki, wiąże się to jednak z wymaganiem w postaci znajomości programowania. Z wielu źródeł wynika również, że odsetek ofert pracy dla testerów manualnych zmniejsza się, co jest kolejnym argumentem za rozwijaniem się w kierunku automatyzacji.

Czym różni się testowanie automatyczne od manualnego?

Testy manualne, jak sama nazwa wskazuje, są wykonywane ręcznie. Testerzy sami wykonują przypadki testowe i dzięki temu nie ma zapotrzebowania na dodatkowe oprogramowanie ani narzędzia. Mimo dłuższego czasu i podatności na błędy ludzkie są typy testów, które wykonuje się w ten sposób – między innymi w przypadku testów eksploracyjnych czy użyteczności lepiej sprawdza się właśnie testowanie manualne. Tylko człowiek jest w stanie ocenić, czy interfejs użytkownika jest intuicyjny i czy estetycznie wygląda.
Testowanie automatyczne natomiast pozwala zautomatyzować ten proces. Dzięki wykorzystaniu skryptów i narzędzi w szybszy sposób mamy możliwość znalezienia usterek. Zarówno wykonywanie skryptów testowych jak i generowanie wyników odbywa się więc automatycznie.
Oczywiście oba rodzaje testów mają swoje plusy i minusy. Z jednej strony testy manualne są czasochłonne, z drugiej - w przypadku testów automatycznych początkowa inwestycja jest znacznie wyższa. Często też testom automatycznym umykają błędy, które dla testera byłyby oczywiste. Oba typy testowania – manualne i automatyczne aplikuje się w różnych przypadkach, zależnie od wielu czynników, takich jak budżet, wymagania projektu, zasoby, czas, doświadczenie zespołu i struktura projektu.
Nie da się jednak ukryć, że firmy są coraz bardziej zainteresowane automatyzowaniem tego procesu. Zapewne dlatego, że plusów jest wiele – oprócz oszczędności czasu, również możliwość wykorzystania tych samych skryptów wielokrotnie oraz niezawodność. Tego rodzaju test wolny jest od zwykłych błędów ludzkich.

Z czego wynika potrzeba automatyzacji?

Przede wszystkim z coraz większej ilości danych, które są do sprawdzenia, a jak już zostało wspomniane wcześniej, automatyzacja pozwala przeprowadzić więcej testów w krótszym czasie. Aplikacje, które mają być sprawdzone są coraz bardziej skomplikowane, co oznacza że może być w nich coraz więcej błędów, które należy „wyłapać”.
Nie można nie wspomnieć również o pojęciu luki testowej, która zmusza do szukania nowych rozwiązań. Złożoność tworzonych systemów rośnie wykładniczo, podczas gdy możliwa do wykonania liczba testów rośnie liniowo, co sprawia, że tworzy się swoista luka w pokryciu testowym, której nie można zniwelować pozostając przy testowaniu manualnym.
Każda firma powinna jednak sama odpowiedzieć sobie na pytanie, po co chce takie rozwiązanie wprowadzić, jaki cel sobie stawia i przede wszystkim – kto ma ją przeprowadzić. Początkowe etapy implementacji mogą wymagać większych zasobów – zarówno ludzkich, jak i finansowych.

Czy wszystko można (i warto) zautomatyzować?

Zapewne w najbliższych latach automatyzacja przejmie duży odsetek branży testerskiej. Mimo to eksperci uważają, że jakaś część testów dalej będzie wymagała testowania manualnego. Obszar ten cały czas się rozwija, więc nie można założyć twardego podziału, które testy należy przeprowadzać w sposób manualny, a które – automatyczny.
Automatyzować warto testy, przy których potrzebne są bardzo szybko wyniki. Przy tego typu testach ludzie którzy wykonują testy ręcznie często mogą się mylić – czy to przy wprowadzaniu danych, czy przy wykonywaniu operacji na systemie. Opłaca się to też, gdy trzeba wykonać dokładnie takie same testy w różnych środowiskach. Plusem jest bowiem to, że automat zawsze będzie robił test z taką samą precyzją.

Trzeba jednak zaznaczyć, że nie wszystkie próby automatyzacji kończą się powodzeniem. Korzystanie z automatyzacji testów we właściwy i efektywny sposób nie jest tak oczywiste, jak się czasem wydaje. Wiele czynników ma wpływ na wartość automatyzacji testów i jej koszty. Ma ona ułatwiać pracę i zmniejszać koszty, należy się więc zastanowić czy dany skrypt użyty będzie wystarczająco dużo razy, aby zwrócił się koszt jego napisania. Jeśli odpowiedź jest negatywna, należy pozostać przy testowaniu manualnym.

pl en