Automaty kontra ludzie

W pełni zautomatyzowane testy tworzonego oprogramowania to marzenie nie tylko pracodawcy, ale i każdego testera. Zamiast wykonywania powtarzalnych czynności dzień w dzień, rozwój i samodoskonalenie.

Automaty kontra ludzie

Automaty kontra ludzie


W pełni zautomatyzowane testy tworzonego oprogramowania to marzenie nie tylko pracodawcy, ale i każdego testera. Zamiast wykonywania powtarzalnych czynności dzień w dzień, rozwój i samodoskonalenie. Nowa funkcjonalność w oprogramowaniu? Nie ma problemu, w kilka minut możemy dowiedzieć się, czy nie mam wpływu na resztę oprogramowania. Brzmi jak utopia, ale czy testy automatyczne mogą na dłuższą metę całkowicie zastąpić testy manualne?

Zacznijmy może od odrobiny teorii i przyjrzyjmy się głównym zaletom i wadom testowania automatycznego.

Zalety automatyzacji testów obejmują:

  • Więcej testów można wykonać na każdą kompilację
  • Możliwość tworzenia testów, których nie można wykonać ręcznie (testy w czasie rzeczywistym, zdalne, równoległe)
  • Testy mogą być bardziej złożone
  • Testy przebiegają szybciej
  • Testy są mniej podatne na błędy operatora
  • Bardziej efektywne i wydajne wykorzystanie zasobów testowych
  • Szybsze informacje zwrotne dotyczące jakości oprogramowania
  • Poprawiona niezawodność systemu (np. powtarzalność, spójność)
  • Poprawa spójności testów

Wady automatyzacji testów obejmują: 

  • W grę wchodzą dodatkowe koszty
  • Wymaga czasu, aby zaimplementować środowisko do testów automatycznych
  • Wymaga dodatkowych technologii
  • Zespół musi mieć umiejętności w zakresie programowania i automatyzacji
  • Ciągłe rozwijanie i utrzymanie środowiska testowego
  • Może odwracać uwagę od celów testowych, np. Skupiając się na automatyzacji przypadków testowych kosztem wykonywania testów
  • Testy mogą stać się bardziej złożone
  • Dodatkowe błędy mogą zostać wprowadzone przez automatyzację

Zalety automatyzacji testów

Jak zawsze problemem mogą być pieniądze. Nie zawsze damy radę przekonać szefa czy klienta, że w przyszłości przejście z testów manualnych na automatyczne przyniesie realny zysk.

Spójrzmy na razie na zalety automatyzacji testów, które mogą przechylić szale na stronę automatów. Jeżeli pracujemy z danym produktem, to od jakiegoś czasu posiadamy (chociaż szablonowe) scenariusze testów. Jak wiadomo, wiele z nich jest bardzo podobnych. Powtarzalna praca może prowadzić do niezauważania drobnych błędów. Ludzki umysł sam dąży do uproszczeń, powtarzalnych, prostych czynności. Komputer nie odczuje tego problemu, a wręcz przeciwnie, powtarzalne czynności łatwo zautomatyzować.

Testy manualne obarczone są też sztywnymi ramami czasowymi. Ośmiogodzinny czas pracy mocno ogranicza czas przeprowadzenie testów. Testy automatyczne można „puszczać” nocą, a wyniki testów analizować w ciągu dnia. Dzięki temu testów możemy wykonywać dużo więcej w pozornie krótszym czasie.

Dużą przeszkodą w testowaniu automatycznym systemów wbudowanych (embedded), może być brak dedykowanych interfejsów testowych. Jednak i na to można znaleźć wiele rozwiązań. Jednym z nich może być użycie Raspberry pi. Dzięki temu mikro komputerowi możemy w tani sposób znacznie ułatwić sobie automatyzację urządzeń, do których nie mamy prostego dostępu poprzez dedykowany interfejs. Po więcej informacji na ten temat zapraszam na:

Kolejnym utrudnieniem może być transparentność testów. Czy będziemy ich w stanie ponownie użyć w kolejnej wersji produktu, a nawet w innych (podobnych) produktach? Tym problemem powinniśmy się zająć już na samym początku projektowania środowiska testowego.

Kosz wstępny będzie na pewno większy. Stworzenie reużywalnych testów będzie bardziej skomplikowane. Jednak w perspektywie długofalowej potencjalnie może stworzyć ogromne oszczędności.

Wracając do sedna sprawy, czy roboty przejmą ludzkość? Dopóki nie zakróluje sztuczna inteligencja, nie mamy się czego obawiać. Aby stworzyć scenariusze testów czy sprawdzić nietypowe podejścia do urządzenia na razie niezbędny jest człowiek. Sama automatyzacja jednak jest korzyścią dla dużych bądź długofalowych projektów.

close

Newsletter