Ruszyły zapisy na szkolenia stacjonarne: "Testowanie manualne i automatyczne w praktyce". Ustalamy lokalizacje i terminy.

Zalety i wady automatyzacji testów

Gru 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:

Jak mierzyć jakość oprogramowania?

Istnieją różne cele testowania oprogramowania. Jednym z głównych celów testowania jest mierzenie jakości oprogramowania. Czym zatem jest ta tajemnicza „jakość”? Jakość oprogramowania to zestaw istotnych cech, które wyróżniają dane oprogramowanie – negatywnie lub...

Środowisko testowe – słów kilka

W tym materiale postaram się Wam przybliżyć nieco temat środowisk, a w szczególności skupić się na środowiskach testowych. Na samym początku musimy sobie zadać podstawowe pytanie: „Czym w ogóle jest środowisko w kontekście pracy dowolnej aplikacji?” Środowisko – to...

Poziomy wykonywania testów

Wytwarzanie oprogramowania to zwykle długi, czasochłonny, skomplikowany proces. Aby przebiegał on poprawnie i dało się nim efektywnie zarządzać - proces developmentu dzielony jest na różne etapy, fazy. Każda faza charakteryzuje się swoimi unikalnymi czynnościami i...

Best Practices testowania aplikacji mobilnych

Testowanie aplikacji mobilnych jest niezbędne, aby upewnić się, że każda aplikacja spełnia postawione przed nią wymagania techniczne oraz biznesowe. Ważne jest, aby każdy tester aplikacji mobilnych stosował sprawdzone i przede wszystkim skuteczne metody testowania. Z...

Przydatne narzędzia wspomagające testowanie oprogramowania

Efektywne testowanie oprogramowania zarówno manualne jak i automatyczne wymaga wykorzystania przeróżnych narzędzi i rozwiązań softwarowych. Na rynku znajdziemy ogromną liczbę narzędzi usprawniających proces testowania oprogramowania, a przy ogromnym wyborze trudno...