Automatyzacja testów – 5 największych zalety

Automatyzacja testów to obecnie bardzo gorący temat w środowisku IT. Dzieje się tak dlatego, że testy automatyczne mają wielu zwolenników, ale i sporo osób, których doświadczenia z automatami lekko mówiąc – nie są zbyt pozytywne. Nie będę starał się godzić tych dwóch stron, gdyż według mnie to ‘mission impossible’, zamiast tego przedstawię największe plusy automatyzacji testów.

W pełni świadomie postawię tezę, że dobrze zaplanowany i zorganizowany proces automatyzacji testów, przyniesie korzyści w każdej świadomej organizacji. Jak dużą wartość dodaną wniesie automatyzacja w poczynania firmy, zależy już od bardzo wielu czynników (umiejętności zespołu rozwojowego, budżetu, świadomość organizacji itp.)

 

Najważniejsze zalety automatyzacji testów:

Szybki feedback

Testy automatyczne zapewniają szybki feedback po wszelkich uaktualnieniach, wprowadzonych fix’ach, poprawkach deweloperskich, podgrywaniu wersji. Szybki czas weryfikacji czy środowisko działa poprawnie po wprowadzonych zmianach, jest przede wszystkim ważne, dla deweloperów, którzy pracowali nad wdrożonymi zmianami. Szybki feedback pozwala uniknąć długiego czasu niedostępności środowiska bądź jego niepoprawnego działania wskutek wprowadzonych zmian.

 

      Testy automatyczne są zwykle dużo szybsze od testów manualnych

Czas to jedno z największych ograniczeń projektowych. Proces testowy często jest ‘wąskim gardłem’ całego projektu, w związku z tym szybkość wykonywania testów jest według mnie kluczowym czynnikiem. Testy automatyczne wykonują się zwykle szybciej niż testy manualne wykonywane przez testerów. Dodatkowo możemy je odpalać w dowolnym momencie, tyle razy ile tylko potrzebujemy. Ważną kwestią w kontekście czasu wykonywania testów jest to, iż w przypadku testów automatycznych mamy możliwość dowolnej konfiguracji wykonania testów z różnymi wariantami warunków wstępnych i z różnymi wariantami danych testowych.

 

Automatyczna weryfikacja dostępności środowiska

Proces automatycznych testów, może dostarczać nam cennych informacji na temat stanu środowiska, po wprowadzonych zmianach deweloperskich, zmianach konfiguracyjnych, zmianach środowiskowych oraz wszystkich niespodziewanych incydentach, które pojawiają się na testowanym systemie. Mając zbudowany automatyczny pakiet tzw. ‘Smoke Testów’, czyli skryptów testowych, które weryfikują główne, podstawowe, krytyczne funkcjonalności systemu, możemy szybko i nie angażując do tego zasobów personalnych, otrzymać informacje o aktualnym statusie systemu (zwykle na tym etapie, potrzebujemy otrzymać informację, czy działają kluczowe funkcjonalności systemu a w konsekwencji informację czy system jest gotowy do dalszego użytkowania/testowania)

 

 Bezproblemowe i jednoznaczne wykonywanie powtarzalnych czynności/testów

   Powtarzalne testy to testy, które muszę być przeprowadzane/uruchamiane np. codziennie czy wielokrotnie w ciągu jednego sprintu. Może to prowadzić do tego, że testy wykonywane przez testerów  z racji ich znudzenia czy rutyny, będą niechlujne, co w konsekwencji może prowadzić do błędów i pomyłek testerów oraz ich zniechęcenia do codziennej pracy. Ciągłe wykonywanie tych samych testów/weryfikacji/zadań niestety ‘przepala’ za każdym razem określoną jednostkę czasu oraz odciąga testerów od innych zadań projektowych. Automatyzacja takich zadań rozwiązuje wszystkie powyższe problemy. Po pierwsze, realizując powtarzalne testy, odciążą od tych nużących zadań testerów manualnych, którzy w tym czasie mogą skupić się na bardziej rozwojowych i ciekawych zadaniach pracy testerskiej. Po drugie, testy automatyczne są jednoznaczne i nie popełniają błędów jak ludzie, z racji ich zmęczenia, znudzenia czy po prostu gorszego dnia. Po trzecie, automaty zwykle szybciej niż testerzy manualni dostarczą oczekiwany feedback.

 

      Redukcja kosztów projektowych

   Skrypty testowe, które pokrywają duże zakresy testowanego systemu, pozwalają na organicznie liczby zatrudnionych testerów, gdyż testy automatyczne wykonują maszyny. Skryty automatyczne, dzięki szybkości wykonywania ograniczają również długość trwania projektu. Oczywiście stosunek wielkości i jakości automatyzacji do redukcji kosztów może być bardzo różny w zależności od wielu czynników takich jak: testowany system, stosowana technologia czy przyjęte w organizacji standardy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *