Zalety i wady automatyzacji testów

grudzień 31, 2020

Automatyzacja testów to proces biznesowo-techniczny. 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. Z jakimi konkretnie korzyściami się to wiąże? Czy istnieją też wady automatyzacji? Odpowiedzi na te pytania zawarłem w poniższym artykule.

Automatyzacja testów oprogramowania – główne korzyści

  • Krótszy czas dostarczania oprogramowania

Automatyzacja testów znacznie skraca czas potrzebny na zbudowanie i wdrożenie oprogramowania. Wykonywanie testów automatycznych może się odbywać bez przerwy. Nie potrzeba do tego stałego nadzoru 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 pomóc zaoszczędzić firmom duże pieniądze. Raz napisane testy automatyczne wykorzystuje się wielokrotnie i nie trzeba ponownie zatrudniać testerów do ich tworzenia. Błędy znajdowane szybciej przez automatyzację testów cechują się też niższym kosztem poprawki. Poprawnie wdrożona automatyzacja testów pozwoli sprawdzić aplikację dokładniej. Przekłada się to 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. Mogą bez przeszkód wykonywać nawet tysiące testów jeden po drugim i zawsze możemy liczyć na ich pełną transparentność, bez ryzyka, że kolejne przebiegi mogą zostać wykonane niedbale czy nieuważnie. Automatyzacja testów eliminuje po prostu czynnik ludzki, który pomimo starań w dłuższej perspektywie czasu okazuje się zawodny.

  • Reużywalność

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

Czy są jakieś wady automatyzacji?

Powyższe zalety zdają się nie zostawiać wątpliwości co do przewagi tego rozwiązania nad testami manualnymi. Nie znaczy to bynajmniej, że nie występują żadne wady automatyzacji. Jak w każdej innej sytuacji, pojawiają się też pewne minusy. 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 stać się bardzo korzystna dla projektu czy organizacji. Istnieją jednak pewne pułapki automatyzacji testów, o których musimy pamiętać. Przed wdrożeniem takiego rozwiązania w swojej firmie warto dokładanie przeanalizować wszystkie wady i zalety automatyzacji. Należy skupić się nie tylko na korzyściach dla swojego biznesu, ale też upewnić się, czy jest się odpowiednio przygotowanym, by uniknąć najczęstszych problemów związanych z automatyzacją.

Autor: Tomasz Stelmach

Pozostałe:

Typy testów

Testowanie oprogramowania to bardzo rozległy obszar branży IT. Testować aplikacje możemy na wiele sposobów, a same testy mogą mieć różne cele. I to właśnie wspomniane cele testowania, definiują typy testów, jakimi możemy poddać oprogramowanie. Jeśli celem testów jest...

Agile i SCRUM, czyli co?

Agile to ostatnimi czasy bardzo popularny termin. Jest odmieniamy przez wszystkie przypadki. Obecnie zdecydowana większość zespołów developerskich korzysta z Agile w swojej codziennej pracy. O „Agile” i „Zwinnym” podejściu do prowadzenia projektów słyszeli już chyba...

Raport z testów – must have!

Dzisiaj napiszę kilka słów o niezbędnym elemencie w każdym procesie testowym - mowa oczywiście o tytułowym – Raporcie z Testów. Na początek, krótka regułka określająca, czym tak naprawdę jest Raport z Testów: O jakich czynnościach testowych traktuje powyższa...

Testy wydajnościowe

W tym materiale chciałbym przybliżyć Wam tematykę testów wydajnościowych. Testy wydajnościowe te są dość specyficznym, ale jednocześnie popularnym i bardzo ważnym rodzajem testów w przekroju całego procesu testowego niemal każdego oprogramowania. Testowanie wydajności...

Testy End to End

W tym materiale postaram się przybliżyć Wam szczególny rodzaj testów, jakim niewątpliwie są testy End To End. Zapewne, jeśli jesteście testerami, czy tez osobami należącymi do zespołów zapewniania jakości, to nieraz słyszeliście termin „End-to-End”, czy...