Na rynku są dostępne rozmaite narzędzia do automatyzacji testów oprogramowania, jednak wciąż utrzymuje się zapotrzebowanie na te „odpowiednie”. Co to oznacza? Jakie cechy powinno mieć oprogramowanie testowe, aby odpowiadało na realne potrzeby teamów testerskich?

W przeprowadzonym przez Capgemini badaniu World Quality Report 2019-2020 zadano pytania o największe wyzwania związane z osiągnięciem pożądanego przez testerów i QA poziomu automatyzacji testów. Okazuje się, że od 2018 roku nie zmienił się procent ankietowanych, którzy wskazują, że „nie ma odpowiedniego narzędzia do automatyzacji testów” (42 proc.). Ponad jedna trzecia z nich stwierdziła, że korzysta ze zbyt wielu narzędzi do automatyzacji. Na blogach i forach internetowych dużo jest głosów, które dostępne na rynku oprogramowanie często kwitują słowami: „fajne z założenia, tylko szkoda, że nie działa” albo „Dlaczego muszę się męczyć z funkcjami z poprzedniej epoki?!” O kilku wymienionych w tym tekście funkcjach wspominaliśmy już przy okazji rozmów o inteligentnym testowaniu. Czego zatem nie powinno brakować narzędziu na miarę XXI wieku?

Uruchom testy z BugBug już dziś!

Wielokrotne wykorzystanie tych samych kroków w różnych testach

Ten postulat zrozumie każdy, kto nagrał 150 scenariuszy testowych, które różniły się tylko kilkoma niuansami na końcowych etapach, ale każdorazowo wymagały przejścia ścieżki logowania, rejestracji lub jakichkolwiek innych, powtarzalnych czynności. To czysta strata czasu, niepotrzebna frustracja i obciążenie dla efektywności zespołu. Adekwatne do potrzeb narzędzie i oprogramowanie testowe powinno udostępniać moduł, pozwalający na wykorzystywanie tego samego kroku (np. logowania do systemu) w różnych scenariuszach, bez konieczności jego każdorazowego nagrywania. Taka funkcjonalność wiąże się jeszcze z inną dodatkową korzyścią – w przypadku wystąpienia błędu w którymkolwiek z kroków, jego naprawa będzie widoczna w każdym scenariuszu testowym, gdzie dany krok został wykorzystany.

Swobodna edycja nagranych już testów

To także bolączka testerów, którzy korzystają z narzędzi do nagrywania scenariuszy testowych. W przypadku iteracji, będących na porządku dziennym w pracujących w metodyce Agile zespołach, konieczne jest ponowne nagranie scenariusza testowego od początku do końca. Na rynku jest jednak kilka narzędzi, które umożliwiają wprowadzenie zmian bez konieczności powtarzania całej procedury od początku. Przydatną funkcją jest też „dogrywanie” kroków do już istniejących scenariuszy.

Brak umiejętności kodowania nie powinien być przeszkodą w swobodnym korzystaniu z narzędzia do automatyzacji testów oprogramowania

Wiele firm pamięta zapewne pogoń za automation engineerami, którzy mieli być spełnieniem marzeń na temat testerskiej kreatywności i deweloperskiej efektywności. Niestety, takie osoby to prawdziwe „okazy” na rynku, a w czasach zwiększonego zapotrzebowania na usługi testerskie umiejętność programowania nie jest tak istotna jak odpowiednie podejście i doświadczenie. Rynek narzędzi do automatyzacji testów także powinien podążać za tym trendem i proponować oprogramowanie testowe z wbudowanymi modułami, które wcześniej wymagały znajomości języków programowania, takich jak np. opisany w punkcie pierwszym Page Object Pattern.

Możliwość edycji kodu scenariuszy testowych

To, że z danego narzędzia można korzystać bez umiejętności programowania, nie oznacza, że nie powinno ono umożliwiać ingerencji w kod scenariuszy testowych. Mimo najszczerszych chęci, twórcy żadnego narzędzia do automatyzacji testów oprogramowania nie są w stanie przewidzieć wszystkich sytuacji, z którymi będą mierzyć się testerzy, dlatego możliwość edycji kodu przygotowanych za pomocą danego narzędzia scenariuszy powinna być bezdyskusyjna.

Zastosowanie odpowiednich warunków dla nagrywanych scenariuszy

Narzędzia, które śmiało można nazwać dinozaurami, wymagają od użytkownika samodzielnego wprowadzenia pauzy między poszczególnymi krokami lub mają automatycznie ustawiony czas oczekiwania między przejściem od jednego etapu do drugiego. Inteligentne narzędzia do automatyzacji testów oprogramowania rejestrują przeładowanie strony lub dodają warunki, po spełnieniu których możliwe jest przejście do kolejnego kroku. To wszystko dzieje się automatycznie – bez konieczności manualnego ustawiania odpowiednich parametrów po każdym kroku w każdym scenariuszu testowym.

Możliwość korzystania z narzędzia do automatyzacji testów oprogramowania z poziomu dowolnej przeglądarki oraz w chmurze

Rozwiązania SaaS są cenione ze względu na swoją elastyczność i efektywność. Ich zastosowanie nie wyklucza jednak jeszcze dalej idących ułatwień w postaci możliwości uruchomienia danego narzędzia z poziomu dowolnej przeglądarki internetowej. Dzięki temu cały proces testowania jest nieporównywalnie szybszy i łatwiejszy – nie trzeba czekać na przykład na załadowanie się wszystkich raportów w chmurze i można od razu przystąpić do uruchamiania danego scenariusza testowego.

Automatyczne raporty

Automatyczne i – należałoby dodać – umożliwiające szybką identyfikację problemu. Tester powinien od natychmiast informację o rodzajach błędów i obszarach ich występowania, a także mieć możliwość sortowania według rodzaju scenariuszy testowych/funkcjonalności/rodzajów błędów.

Narzędzia do automatyzacji testów oprogramowania z dostępem do mapy bugów

Mapa bugów to funkcjonalność, którą oferują najnowocześniejsze narzędzia i oprogramowanie testowe. Dzięki niej możliwe jest precyzyjne zlokalizowanie tych obszarów kodu, które mogą generować najwięcej błędów, co bardzo przydaje się m.in. w przypadku testów regresji. Zastępuje ona żmudne testy eksploracyjne całego produktu i umożliwia skupienie się na tych obszarach, które generują największe ryzyko przed kolejnym wdrożeniem.

Praca w modelu CI/CD

Coraz większa popularność metodyk Agile i DevOps narzuciła szybkie tempo pracy nie tylko programistom – także testerzy powinni móc szybko dopasowywać się do zmian i maksymalnie zwiększać swoją efektywność. Oprogramowanie testowe na miarę tych potrzeb powinno umożliwiać łatwą integrację z każdym systemem za pomocą API oraz – w konsekwencji – szybkie uruchamianie testów. Standardem powinna być też możliwość przeprowadzania testów równoległych.

Przejrzysty UI oraz UX design

Patrząc na narzędzia do automatyzacji testów sprzed 10 lat można odnieść wrażenie, że były one tworzone z założeniem, iż estetyczny i użyteczny interfejs przeznaczony jest tylko dla klienta końcowego, a nie dla osoby, która musi go dostarczyć/wytestować. Na szczęście z upływem czasu dostawcy tego oprogramowania dostrzegli biznesową wartość UX designu we własnych projektach. Im łatwiejsza nawigacja oraz im bardziej intuicyjne narzędzie do testów, tym większa efektywność ich przeprowadzania. Chciałoby się rzec – tester też człowiek! Na szczęście coraz więcej producentów nie lekceważy już tej zasady

Jeśli ciekawi was, dlaczego tak ważne jest dobrze zoptymalizowane narzędzie testowe polecamy zajrzeć do naszego wpisu, w którym porównujemy open source’owy program Selenium IDE i nasze narzędzie BugBug.

Oszczędź do 70% czasu pracy testerów oprogramowania

Niezawodne, kompleksowe oprogramowanie, które usprawnia pracę testerów i programistów.

Zamów newsletter