Fallstart – klasyczne błędy automatyzacji testowania

Istnieje wiele dobrych powodów, aby rozpocząć automatyzacje testów. Jednak bez braku konsekwencji sytuacja wygląda nie do końca kolorowo: firma startuje z  automatyzacją testów do projektu z nieokiełznanym entuzjazmem, który jednak z dnia na dzień przy ścigających team projektowy deadlinach kończy się godzinami spędzonymi nad manualnym testowaniem.

Oto klasyczne błędy zarządzania podczas wdrażania automatyzacji:

„Automatyzacja testów jest odpowiedzią na wszystkie problemy. Mamy tak wiele testów do wykonania i tak mało czasu, dalej! automatyzujmy testy użytkowania. To rozwiąż nasze wszystkie problemy. „

Nie jest to jednak prawda. Implementacja/ projektowanie skryptów poprzez narzędzia do automatyzacji może trwać od 3 razy do 100 razy dłużej niż manualna obsługa skryptów testowych. Dodatkowo niestety jeżeli projekt jest w fazie krytycznej i końcowej automatyzacja nie jest dobrym pomysłem.

„Nie możemy rozpocząć projektowania testów i ich automatyzacji bo aplikacja bądź oprogramowanie nie są jeszcze w stabilnej fazie. Deweloperzy są jeszcze w trakcie kodzenia. „

Nie jest prawdą. Fazy procesu automatyzacji testów i procesu tworzenia oprogramowania są prawie takie same. Automatyzacji poddawany jest sam proces rozwoju. Jeżeli startują działania planowania wymagań, to w tym samym czasie należałoby rozpocząć planowanie automatyzacji testów. Natomiast samo rozwijanie scenariuszy testowych może być rozpoczęte wcześniej. Tester może uzyskać dostęp do oprogramowania (który jest w fazie tworzenia) oraz przy współpracy z deweloperami rozpocząć przygotowywanie skryptów automatyzacji. W automatyzacji jak najbardziej pomocna jest dokumentacja projektowa – nawet ta niskiego poziomu w początkowej fazie projektu.

„uważamy, że narzędzie do automatyzacji będzie stanowić większą wartość aniżeli tester, stąd uważamy, że koniecznie musimy je zakupić”

Wniosek? Czy to narzędzie stworzone przez firmę, czy jest to aplikacja od sprzedawcy? Jest narzędziem wspierającym w tej samej technologii, w której tworzona jest aplikacja? Ilu programistów jest zobowiązanych do opracowania testów? (Uwaga – jest to bezpośrednio związane z ludźmi i umiejętności ROI (ang. return on investment)). Warto rozważyć koszt narzędzi do automatyzacji testów oraz zaangażowanie ekspertów czy architektów testów przy zakupie dowolnego narzędzia automatyzacji.

„Minęły 3 miesiące i nie widzimy żadnego postępu.”

Pomyślmy: Ilu testerów było zaangażowanych w automatyzację? Czy testy są w 100% przeznaczone na automatyzacji?

Zespół zajmujący się automatyzacją powinien być w 100% poświęcony tylko projektowaniu testów dla tego projektu. Testy takie nie powinny być udostępniane w innych projektach.

A fool with a tool is always a fool. ~ Anne Mette Jonassen Hass (Guide to AST)

Na koniec pytanie:

Po co automatyzować testy funkcjonalne?
Testowanie manualne jest OK w niektórych przypadkach. Jednak czynnikiem, który zdecydowanie przemawia przeciw testom manualnym jest czas. Żeby zweryfikować funkcjonowanie aplikacji trzeba przejść z reguły przez długi i żmudny proces, tym dłuższy im większy stopień skomplikowania aplikacji. Obecnie rynek zmusza do coraz krótszych cyklów wytwarzania oprogramowania dlatego na testy manualne nie każdy może sobie pozwolić.

Skutki?

Testowanie w sposób pobieżny, przepuszczenie usterek do wersji finalnej co ciągnie za sobą ogromną liczbę następstw i prowadzi do ogólnego znurzenia projektem i ostatecznie do katastrofy. A co jeżeli aplikacja ma działać na różnych platformach? Zasada jest prosta:

a – wysiłek testera testującego manualnie

n – liczba wspieranych środowisk

wysiłek testera rośnie w ten sposób: a^n

Działy QA (Quality Assurance) mogą przeprowadzać testy w sposób bardziej konsekwentny i usystematyzowany poprzez automatyzację. Szalenie ważne gdy dział programistów dosarcza nowy build i ważna jest szybka weryfikacja funkcjonalności.

Advertisements

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

%d blogerów lubi to: