,

Testy manualne vs automatyczne - wady i zalety

Specjaliści QA często stają przed wyborem czy zatrudnić testerów i wykonywać testy manualne, czy spróbować testów automatycznych. Oba podejścia mają swoje wady i zalety. Warto zatem zadać sobie pytanie jakie są różnice i kiedy stosować jedne, a kiedy drugie.

Testy manualne, jak sama nazwa wskazuje, wykonywane są manualnie przez człowieka, bez wspomagania przez oprogramowanie czy skrypty. Testy automatyczne z kolei wykonywane są przez komputer, a ściślej mówiąc, przez odpowiednie oprogramowanie. O narzędziach do testów automatycznych możesz przeczytać w moim poprzednim wpisie.

Testowanie jest integralną częścią każdego projektu wytwarzania oprogramowania. Rodzaj testów (manualne czy automatyczne) zależy od wielu czynników takich jak wymagania projektowe, budżet, timeline, doświadczenie członków zespołu. Trzy najważniejsze czynniki w każdym projekcie to oczywiście czas, koszt i jakość. Celem w każdym projekcie jest wytworzyć oprogramowanie w jak najkrótszym czasie, za jak najmniejsze pieniądze, ale o jak najwyższej jakości. W przypadku testów jeden z rodzajów może dostarczyć te cele lepiej niż drugi.

Wady i zalety

Do niektórych metod testowania zastosowane mogą być oba rodzaje testów, zarówno manualne jak i automatyczne. Są jednak testy, których nie wykonamy ręcznie, a także są takie, których nie uda nam się przeprowadzić za pomocą automatów. Poniżej znajdziesz krótkie porównanie:

Testy Manualne:

  • Mogą być mniej dokładne, ze względu na omylność człowieka.
  • Wymagają więcej czasu i/lub zasobów ludzkich.
  • Sprawdzają się dobrze jeżeli nie są to testy powtarzalne lub ich częste wykonywanie nie jest niezbędne.
  • Są bardziej elastyczne. Człowiek mimo, że wykonuje testy wg określonego scenariusza może zauważyć problemy lub błędy nie związane bezpośrednio ze scenariuszem lub może odbiegać (rozszerzać) swoje działania w celu zwiększenia prawdopodobieństwa odnalezienia błędów i weryfikacji użyteczności aplikacji. To tester decyduje czy wykonać dodatkowe kroki lub użyć innych danych podczas wykonywania scenariusza.

Testy Automatyczne

  • Mogą być bardziej dokładne, ponieważ automat nigdy się nie zmęczy i nic nie pominie.
  • Testy wykonywane przez komputer są wykonywane o wiele szybciej i wymagają mniej zasobów ludzkich (jedna osoba może uruchomić wiele testów automatycznych).
  • Ze względu na duży koszt początkowy są praktyczne tylko jeżeli testy są wykonywane wielokrotnie przez długi czas.
  • Nie potrafią analizować użyteczności aplikacji oraz nie znajdą błędów w obszarach, do których nie zostały stworzone.

Kiedy używać testów manualnych a kiedy automatycznych?

Testy manualne najlepiej sprawdzą się w następujących przypadkach:

  • Testy eksploracyjne – ten rodzaj testów wymaga wiedzy, doświadczenia, analitycznego i logicznego myślenia, kreatywności i intuicji.
  • Testy użyteczności – w tym przypadku należy ocenić jak bardzo aplikacja jest przyjazna użytkownikowi.
  • Testy Ad-hoc – niezaplanowane testy wymagają zrozumienia działania aplikacji przez testera.

Z testów automatycznych najlepiej skorzystać w następujących przypadkach:

  • Testy regresyjne – częste zmiany w aplikacji wymagają częstych i szybkich testów
  • Testy wydajnościowe i obciążeniowe – testy wydajnościowe i obciążeniowe, które wymagają symulowania setek a nawet tysięcy użytkowników wymagają automatyzacji
  • Testy wymagające wykonywanie tych samych czynności wiele razy – testy, które są wykonywane dla wielu zestawów danych

Nawet jeżeli podejmiesz decyzji o wdrożeniu testów automatycznych musisz pamiętać, że nie da się zautomatyzować 100% scenariuszy testowych, dlatego nie da się całkowicie zastąpić testów manualnych.

Mając na uwadze powyższe będziesz bliżej podjęcia decyzji jakie podejście będzie najlepsze w Twoim projekcie.

Dodaj komentarz