6 sposobów na zmniejszenie kosztów automatyzacji testów cz. I

Bankrut

Część pierwsza poradnika, w którym podpowiadamy jak obniżyć koszty automatyzacji testów oprogramowania.

Podczas gdy wiele organizacji zmaga się jeszcze z problemem minimalizacji kosztów testowania samego w sobie inne natrafiają często na problem wysokich kosztów automatyzacji testów, która miała być cudownym rozwiązaniem pierwszego problemu.

A przynajmniej z takimi problemami zgłaszają się do nas nasi klienci. Pozwoliłem sobie przygotować krótki poradnik dla każdego, kto automatyzuje testy lub dopiero się do tego przymierza.

1. Narzędzia Capture-Replay to nie automatyzacja testów

To, że na rynku istnieje wiele narzędzi pozwalających na nagrywanie i późniejsze odtwarzanie testów wcale nie znaczy, że jest to najlepsze rozwiązanie. Nagrywanie skryptów testowych jest bardzo proste, dzięki czemu jeszcze bardziej zachęca początkujących inżynierów testów. Niestety takie skrypty są wręcz nie do utrzymania jeśli cokolwiek się zmienia w naszej aplikacji. W zasadzie testy automatyzujemy właśnie po to by testować zmiany w naszym oprogramowaniu więc narzędzia, które nie ułatwiają utrzymywania tych testów podczas zmian są… do wyrzucenia…

Wybór narzędzia do automatyzacji testów jest kluczowy, a kluczowym czynnikiem wyboru powinna być właśnie możliwość utrzymania testów wytworzonych za pomocą danego narzędzia.

2. Utrzymanie testów to podstawa – stosuj wzorce

Jak wspomniałem w poprzednim podpunkcie koszty automatyzacji testów wiążą się głównie nie z samym wytworzeniem testów lecz z ich późniejszym utrzymywaniem w zmieniającym się środowisku projektowym. Dlatego też warto sięgnąć po sprawdzone rozwiązania i powszechnie stosowane wzorce projektowe takie jak Page Object Pattern oraz Data Driven Testing. Dzięki tym podejściom nasze testy będą mogły być rozwijane niskim kosztem równolegle z rozwojem funkcjonalności aplikacji.

Dzięki Page Object Pattern możliwe jest również łatwe zastosowanie podejścia Acceptance Test-Driven Development, a także w kontekście całej organizacji równiez Behavior-Driven Development.

3. Technologia ma znaczenie

Wybierając narzędzie do automatyzacji testów warto wziąć pod uwagę również umiejętności osób, które z danego narzędzia będą korzystały oraz wiedzę w organizacji na temat technologii wykorzystywanej przez dane narzędzie. Mając w zespole programistów Javy i wybierając narzędzie pozwalające tworzyć testy jedynie w Pythonie zmniejszamy możliwość współpracy i wymiany wiedzy pomiędzy testerami uczącymi się automatyzacji a programistami, którzy mogliby pomóc rozwiązać wiele problemów natury technologicznej. Dodatkowo zastosowanie narzędzia wykorzystującego znaną przez wszystkich technologię jeszcze bardziej zachęca do współpracy nad rozwojem testów automatycznych.

Przeczytaj część drugą

Na naszym blogu uruchamiamy cykl porad dotyczących poszczególnych zagadnień związanych z Agile i tematyką naszych szkoleń. Teraz możecie z łatwością odnajdywać potrzebną wiedzę. Jednocześnie zachęcamy do aktywnego komentowania, zadawania pytań i proponowania tematów najbardziej was interesujących, abyśmy mogli jeszcze bardziej służyć naszą wiedzą i pomocą.

Ulotka

Udostępnij ten artykuł

Ten portal używa cookies aby zapewnić jego sprawne działanie. Akceptacja cookies jest do tego wymagana. Można też odmówić zgody na użycie cookies i opuścić portal. Aby dowiedzieć się jak używamy cookies zapoznaj się z naszą Polityką Prywatności.
Akceptuję cookies Nie zgadzam się
Cookies utworzone podczas przeglądania portalu zostały usunięte i można go teraz bezpiecznie opuścić. Dalsze przeglądanie naszych stron spowoduje ponowne wyświetlenie monitu o akceptację cookies.