Automatyzacja testowania - prawda i mity

Automatyzacja testowania - prawda i mity
Automatyzacja testowania obrosła legendami i mitami. Mówi się wiele ZA i PRZECIW i w dyskusji na jej temat często pojawiają się kontrowersje. Próbujemy więc odsiać te największe bzdury co do których (mamy nadzieję) wszyscy się zgadzają.
 
  1. Automatyzacja zawsze się opłaca - gdyby zwrot z inwestycji był gwarantowany, to każdy kto nie inwestowałby w automaty byłby głupcem.
  2. Dzięki automatyzacji możemy zredukować zatrudnienie - czyli kupujemy i wdrażamy w organizacji nowe narzędzie, instalujemy je na maszynach, musimy je utrzymać, musimy wytworzyć skrypty automatyczne i cały proces ich aktualizacji przy aktualizowaniu wyników, musimy skonfigurować środowisko ich uruchamiania, przetwarzania wyników oraz przypisać osobę do ich analizowania. Ale generalnie będzie mniej pracy...
  3. Można zautomatyzować 100% działań aplikacji - czyli nie da się przetestować wszystkiego, ale całe (nieskończone) testowanie można zautomatyzować?
  4. Automatyzacja bez umiejętności kodowania jest możliwa - w sumie to prawdą jest możliwe użycie narzędzi rejestrujących działania użytkownika i odtwarzających je jako wygenerowany skrypt. Tylko, że koszty utrzymania takich skryptów są olbrzymie, gdyż czas życia skryptu (durability) jest niezmiernie krótki. Przecież nie o taką automatyzację walczymy.
  5. Testy automatyczne znajdują dużo defektów - to możliwe, ale nie po to się je tworzy. Głównym celem automatyzacji jest potwierdzenie, że oprogramowanie się nie pogorszyło. Samo przygotowanie skryptów jest procesem manualnym i wykrywa większość defektów. Automaty mają potwierdzić, czy jakość po zmianach jest przynajmniej na tym samym poziomie.
  6. Automatyzacja jest tańsza od testów manualnych - pewnie znajdziemy obszar, gdzie automaty będą korzystniejsze od testów wykonywanych przez testerów ręcznie, ale jest to mniejszość wśród projektów. Automatyzacji poddają się specyficzne projekty: stabilne, długotrwałe i bogate, a powiedzmy sobie szczerze - nie jest to popularne.
  7. Każda automatyzacja jest taka sama - automatyzować możemy na poziomie kodu, integracji i interfejsu. Wymaga to różnych umiejętności, znajomości technologii, innych metod i podejść. Czy to jest zawsze to samo pojęcie?

 

Inspirowane: http://danashby04.wordpress.com/ oraz wieloma publikacjami Test automation myths.

 

 

To powinno Cię zainteresować