O produkcie

Używając BugBug nie trzeba umieć programować by czerpać korzyści z wzorca Page Object Pattern – wbudowaliśmy takie podejście w samo narzędzie.

Mechanizm, który podczas nagrywania testu rejestruje wszystkie niezbędne informacje i stara się zachowywać dokładnie jak człowiek przy odtwarzaniu testów.

Potrzebujesz tylko rozszerzenie Google Chrome i jesteś gotowy do działania. Nic poza tym nie musisz instalować, ani znać się na żadnych skomplikowanych procedurach.

Dzięki API można będzie zintegrować narzędzie z dowolnym systemem na żądanie wywołując test lub zestaw testów. Ten sposób jest naturalnym w procesie ciągłej integracji kodu (Continuous Integration). 

Narzędzie budujemy z mocnym nastawieniem na UX. Tym samym skupiamy się intensywnie na tym, żeby tester mógł błyskawicznie i prosto stworzyć test. Następnie uruchomić go u siebie w przeglądarce i zweryfikować jego działanie, a docelowo wykonywać go w chmurze na żądanie lub przez API. Szybki zarówno jest cały proces tworzenia testu jak i jego weryfikacja (na swoim komputerze) oraz samo wykonywanie kroków jeden po drugim.

Tester w ramach naszego narzędzia nagrywa testy w swojej przeglądarce i automatycznie może je również w swojej przeglądarce uruchomić. Niekwestionowaną zaletą tego podejścia jest to, że od razu jest w stanie zweryfikować czy test działa i błyskawicznie go poprawić. Nie musi czekać na wynik uruchamiania w chmurze i raporty. Ma dostęp do swojej przeglądarki i jeśli z jakiegoś powodu test przestał działać – łatwo problem identyfikuje i naprawia. 

Tester ma swobodną możliwość edycji nagranych testów zarówno przez interfejs WWW jak i przez dogrywanie kroków w ramach istniejących testów. Daje to pełną swobodę w naprawianiu i modyfikowaniu już istniejących testów. Konkurencja często w takiej sytuacji wymusza nagranie całego testu od nowa co w konsekwencji jest strasznie czasochłonne i tym samym kosztowne.

Pytania techniczne

Mechanizm, który podczas nagrywania testu rejestruje wszystkie niezbędne informacje i stara się zachowywać dokładnie jak człowiek przy odtwarzaniu testów.

Samo pojęcie “flaky tests” odnosi się do testów, które raz “przechodzą”, a innym razem zgłaszają błąd. Często stanowią problem w projektach ponieważ nie wnoszą do raportów nic prócz zamieszania.

To co już w tej chwili robimy żeby im przeciwdziałać to mechanizm, który podczas nagrywania testu rejestruje wszystkie niezbędne informacje i stara się zachowywać dokładnie jak człowiek przy odtwarzaniu testów, tzn. przed interakcją z elementem (kliknięcie np. przycisku “Wyślij”) automatycznie sprawdzamy czy element jest:

  • Widoczny (nie przykrywa go inny element, nie znajduje się poza obszarem widocznym w przeglądarce)
  • Aktywny (nie ma atrybutu HTML “disabled”)
  • Nie przemieszcza się (najczęściej przez animację)
  • Ma focus (czyli np. Aktywny kursor w polach do wpisywania tekstu)

W skrócie – chodzi o wielokrotne wykorzystanie tych samych kroków w różnych testach. Np. żeby w banku zlecić przelew czy sprawdzić historię przelewów pierwsze co zawsze trzeba zrobić to zalogować się. Narzędzia dostępne na rynku pozwolą nagrać testy, które takie kroki wykonają. Tylko jeśli nagramy 100 testów, w których najpierw się logujemy i następnie wykonujemy jakąś akcję to mamy powtórzone 100 razy kroki do logowania. Gdy logowanie się zepsuje – musimy naprawiać wszystkie 100 testów. To co my robimy to grupujemy (w komponenty) kroki logowania i możemy je wielokrotnie używać w ramach różnych testów. Gdy logowanie się zepsuje – poprawiamy to tylko w jednym miejscu i wszystkie testy dalej wykonują się poprawnie. I właśnie takie grupy prezentujemy na grafie co dodatkowo daje jasną informację w kontekście całego projektu co faktycznie testujemy, jakie ścieżki biznesowe.