10 cech, które powinny mieć narzędzia do automatyzacji testów oprogramowania

Narzędzia do automatyzacji - 10 najwazniejszych funkcjonalności
Share on facebook
Share on twitter
Share on linkedin
Share on email

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?

10 cech narzędzia do automatyzacji testów

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.

Podobne wpisy

BugBug vs Selenium IDE

Testy aplikacji, czyli BugBug vs Selenium IDE

Selenium IDE jako narzędzie służące do nagrywania i uruchamiania testów aplikacji internetowych powstało z inicjatywy Shinya Kasatani już w 2006 roku (sic!). Narzędzie to opiera się

Rola testera w projekcie IT

Rola testera w projekcie IT – na czym polega?

Cichy obserwator, samotny wilk przeklikujący się przez aplikację w oddali czy dusza towarzystwa, która rozmawia z każdym członkiem projektu? Który wizerunek testera jest ci bliższy?