Zalety i wady automatyzacji testów

Gru 31, 2020

Automatyzacja testów jest procesem biznesowo-technicznym. Jak wszystkie pomysły, rozwiązania i postępowania, które są wdrażane w organizacjach, również automatyzację testów stosuje się, by ostatecznie skorzystać z zalet danej metody i przekuć wartość dodaną w konkretne, wymierne rezultaty biznesowe.

  • Krótszy czas dostarczania oprogramowania

Automatyzacja testów znacznie skraca czas potrzebny na zbudowanie i wdrożenie oprogramowania na rynek. Praca automatów , czyli wykonywanie testów automatycznych, może się odbywać nawet 24h na dobę, 7 dni w tygodniu. Nie potrzeba do tego przecież obsługi ciągłej oraz atencji ludzi. Automaty i roboty zwykle dużo szybciej radzą sobie z wykonywaniem testów. Moim zdaniem, w coraz szybszym świecie – to właśnie automatyzacja i robotyzacja jest przyszłością całego procesu jakim jest testowanie oprogramowania.

 

  • Szybsza informacja zwrotna

Duża szybkość  i jednoznaczność wykonywania testów przekłada się również na błyskawiczne dostarczanie informacji zwrotnych oraz natychmiastowe raportowanie statusu, w tym logowanie wszelkich incydentów i awarii.

 

  • Oszczędność budżetu

O automatyzacji w kontekście zysków finansowych można rozmawiać godzinami i pisać na ten temat rozprawy. Jedno jest pewne: poprawnie zaprojektowana automatyzacja testów powinna zaoszczędzić firmom duże pieniądze. Dzieje się tak dlatego, iż raz napisane testy automatyczne powinny być wykorzystywane wielokrotnie – nie obarczając tym już zasobowania testerów. Błędy znajdowane wcześniej i szybciej przez automatyzację testów  cechują się też niższą ceną swojej poprawki. Wdrażając automatyzację, można przetestować aplikację dokładniej i w znacznie większym stopniu pokrycia, co przekłada się na wyższą jakoś produktu końcowego, a w rezultacie na poprawę reputacji biznesowej. Szersze pokrycie testów to także zmniejszenie  ryzyka wystąpienia błędów produkcyjnych.

 
  • Uwalniają czas testerów manualnych

Wykonywanie nudnych i powtarzalnych zadań przez skrypty automatyczne – uwalnia testerów manualnych od tych przykrych obowiązków. Nie mówię tutaj o zwalnianiu tych osób, a o przeorganizowaniu ich pracy. Przenosząc część rutynowych zadań na automaty, testerzy manualni mogą się zająć innymi obowiązkami, często bardziej inspirującymi. Mamy tu więc klasyczną sytuację win-win.

  • Niezawodność

Skrypty automatyczne wolne są od błędów ludzkich spowodowanych przez nieuwagę, czy nierzetelność i nigdy nie wykazują zmęczenia. Skrypt automatyczne mogą bez przeszkód wykonywać dziesiątki, setki a nawet tysiące testów jeden po drugim i zawsze możemy liczyć na pełną transparentność testów, bez ryzyka, że kolejne przebiegi mogą zostać wykonane niedbale czy nieuważnie.

  • Reużywalność

Raz napisane skrypty testów automatycznych, możemy wykorzystywać wielokrotnie zgodnie z naszymi potrzebami.

A czy są jakieś wady automatyzacji?

Tak. Automatyzacja testów nie jest lekiem na całe zło i nie rozwiąże wszystkich problemów firmy. Sądzę, że wszystko ma swoje dobre i złe strony, dlatego poniżej wskażę kilka wad i słabości automatyzacji, z którymi spotkałem się w dotychczasowej karierze:

  • Złudne poczucie jakości

Musimy pamiętać, że testy automatyczne są zwykle zaprogramowane na weryfikację konkretnych, jasno określonych zadań i miejsc. Zdarzają się sytuacje, kiedy test przebiegnie pomyślnie, ponieważ konkretne weryfikacje działają zgodnie z założeniem, ale po drodze mogą się pojawić także poważne błędy innego rodzaju i niestety nie zostaną wychwycone przez skrypty automatyczne, gdyż po prostu nie zostały do tego zaprogramowane.

  • Trudności z rekrutacją, specjalistów ds. testów automatycznych

Rynek IT jest bardzo chłonny, a wśród specjalistów umiejących programować termin „bezrobocie” niemalże nie istnieje, co oznacza, że również o testerów automatyzujących toczy się ciągła walka. Ten problem świetnie ilustruje pewna ankieta, która została przeprowadzona wśród osób wysokiego szczebla managerskiego w średnich i dużych firmach.  Wynika z niej jasno, że prawie połowa firm jako największe zagrożenie prowadzonych projektów wskazuje brak kompetencji technicznych i kłopoty z rekrutacją specjalistów. Tester automatyzujący to jedno z bardziej kłopotliwych stanowisko do rekrutacji. Dlatego wiele firm często szkoli pracowników, np. testerów manualnych na stanowiska związane z testami automatycznymi. Szkolenia z automatyzacji testów, kursy testera automatyzującego są dzisiaj normą w wielu korporacjach. Na mojej stronie znajdziesz ofertę szkoleń z automatyzacji testów oraz ofertę kursu online automatyzacja testów.

  • Wymagana Pielęgnowalność i konserwacja

Testy automatyczne wymagają nieustannej konserwacji i pielęgnacji. Wraz ze zmianami developmentu należy często modyfikować skrypty testujące. Warto tu również wspomnieć o jednej z zasad testowania oprogramowania ze standardu ISTQB, czyli o zasadzie paradoksu pestycydów:

„Ciągłe powtarzanie tych samych testów prowadzi do sytuacji, w której przestają one w pewnym momencie wykrywać nowe defekty. Aby móc wykrywać nowe defekty, może być konieczne zmodyfikowanie dotychczasowych testów i danych testowych, a także napisanie nowych testów”

  • Nieefektywne wykorzystanie automatyzacji

Napisanie testu automatycznego jest znacznie dłuższe, niż przetestowanie danej funkcjonalności ręcznie. Jeśli skrypt automatyczny nie zostanie w późniejszym czasie wykorzystany odpowiednią ilość razy, będzie to oznaczało, że nie zwrócił się koszt napisania skryptu automatycznego . Co więcej, może się okazać dużo droższy, aniżeli test manualny. Taka sytuacja jasno pokazuje, iż szalenie ważny staje się sam koncept automatyzacji testów.

Jeśli automatyzacja testów jest realizowana poprawnie, to może mieć wiele zalet i być bardzo korzystna dla projektu czy organizacji. Istnieją jednak pewne pułapki lub wady automatyzacji testów, o których musimy pamiętać.

Autor: Tomasz Stelmach

Pozostałe:

Selenium WebDriver VS Cypress

Z pewnością Cypress miał mocne wejście w świat automatyzacji testów. Jednak od jego debiutu minęło już sporo czasu. Zamiast rozpychać się na rynku - Cypress widocznie mocno spuścił z tonu.Nie oznacza to jednak, że przestał się rozwijać, gdyż cały...

WOŚP 2021 – Twoje udostępnienie to nasza wpłata!

Od laika do Automatyka - największy w Polsce kurs online o automatyzacji testów, szkolenia, konsulting, doradztwo, usługi audytowe i wdrożeniowe. Dołącz do akcji wsparcia WOŚP Zapraszamy Cię do dołączenia do akcji wspierającej Wielką Orkiestrę Świątecznej Pomocy- 29...

Testowanie aplikacji mobilnych [Część 2]

W poprzednim materiale szczegółowo przedstawiłem aplikacje mobilne, ich typy, wady oraz zalety. Powiedziałem również nieco o testowaniu aplikacji mobilnych na urządzeniach rzeczywistych, emulatorach oraz w chmurze. Dzisiaj chciałbym skupić się stricte na etapach...

Testowanie aplikacji mobilnych [Cześć 1]

O tym, jak ważną rolę odrywania testowanie w całym procesie wytwórczym, nie trzeba już dzisiaj nikogo przekonywać. Ostatnio bardzo dotkliwie brak odpowiedniej jakości testów doświadczyli twórcy gry „CyberPunk 2077”. Długo wyczekiwana światowa premiera gry nie wypadła...