Wykorzystaj darmowe narzędzie TestProject do automatyzacji testów

kw. 19, 2021 | Narzędzia Wsparcia Testów

Automatyzacja testów oprogramowania niesie ze sobą wiele korzyści. Ma szczególne znaczenie przy testach regresji czy testach dymnych (smoke test). Współczesne wymagania branży IT ściśle wiążą się z szybkim wydawaniem nowego oprogramowania, a co za tym idzie, informacja zwrotna o jakości działania musi być błyskawiczna. Stąd wybór odpowiedniego narzędzia do automatyzacji na projekcie jest sprawą bardzo ważną i wymaga wielu analiz.
W poniższym artykule dowiesz się, na co zwrócić uwagę przy wyborze narzędzi do testów automatycznych i jak można wykorzystać darmowe narzędzie TestProject.

Kosztowna automatyzacja

Automatyzacja testów oprogramowania wymaga nakładów finansowych i czasu, ponieważ testy muszą być przez kogoś tworzone i utrzymywane.  Wiele narzędzi do testów oprogramowania jest darmowych, ale wymagają znajomości programowania.

Zestawienie środowiska do testów zajmuje dużo czasu i bywa skomplikowane. Dla osób niedoświadczonych i bez umiejętności programowania koszt wejścia będzie wysoki. To jest jeden z głównych powodów, dla którego tworzy się gotowe narzędzia, które mają ułatwić proces tworzenia oprogramowania. Upraszczają one proces zestawiania środowisk i oferują opcję automatycznego rejestrowania kroków testowych (record and playback). Dzięki takim rozwiązaniom możemy tworzyć testy niemal natychmiast.

Czym powinno się charakteryzować dobre narzędzie do automatyzacji testów?

Dobre narzędzie do automatyzacji testów nigdy nie jest całkowicie skończone. Cały czas się rozwija, wprowadza nowe funkcjonalności, udoskonala działanie istniejących rozwiązań, naprawia istniejące błędy. Powinno odznaczać się prostotą konfiguracji środowiska, możliwością nagrywania kroków/testów dla osób początkujących oraz możliwością pisania testów, używając języka programowania dla osób bardziej zaawansowanych i z umiejętnościami programistycznymi. Można w nim tworzyć i uruchamiać testy na urządzeniach z systemami Windows, Linux, MacOS, Android, iOS lub korzystać z Dockera. Powinno oferować wsparcie dla najpopularniejszych przeglądarek internetowych. Narzędzie powinno również radzić sobie bez problemu z elementami dynamicznymi, nowymi kartami, iFrames i pop-ups. Istotną sprawą będzie również możliwość wykorzystania udostępnianych dashboardów oraz wbudowanej opcji raportowania wyników testów. Aplikacja powinna oferować możliwość integracji CI/CD oraz z innymi obecnie popularnymi rozwiązaniami BrowserStack, Sauce Labs, qTest, Slack. Istotne jest również zaangażowanie i wsparcie społeczności korzystającej z narzędzia.

Darmowe narzędzie TestProject od Tricentis

Jednym z takich narzędzi jest TestProject – całkowicie darmowe narzędzie, które umożliwia zarówno stosowanie podejścia record and playback, jak i pisanie testów z pomocą języka programowania.

TestProject należy do firmy Tricentis i jest całkowicie darmową aplikacją w chmurze, która służy do automatyzacji testów oprogramowania. Pierwsza wersja aplikacji została udostępniona publicznie w 2018 roku. Aplikacja jest cały czas rozwijana, a producent chwali się zapewnieniem odpowiedniego poziomu bezpieczeństwa (więcej na ten temat przeczytasz na stronie producenta: https://testproject.io/security/).

Rys. 1. Pierwsze uruchomienie (Interfejs aplikacji).

Narzędzie zostało zbudowane w oparciu o Selenium i Appium. Umożliwia automatyzację testów dla aplikacji webowych na urządzeniach z systemami Windows, macOS, Linux oraz aplikacji webowych, natywnych, hybrydowych na rzeczywistych urządzeniach mobilnych i emulatorach/symulatorach z systemami Android i iOS.

Jak wygląda struktura rozwiązania TestProject

Narzędzie TestProject tworzą następujące elementy:

1. TestProject App

TestProject App to główny moduł w chmurze służący do zarządzania projektami, zarządzania testami,  tworzenia i uruchamiania testów, tworzenia harmonogramów, przeglądania raportów. Otrzymujemy do niego dostęp, zakładając konto na https://app.testproject.io/. Korzystanie z aplikacji odbywa się poprzez przeglądarkę internetową, ale też zostało udostępnione Rest API https://api.testproject.io/docs/v2/.

Rys. 2. Widok zalogowanego użytkownika.

2. Agenci

Do głównego modułu TestProject App podłączamy agentów. Agent jest wrapperem na Selenium oraz Appium i służy do interakcji z przeglądarkami, a także aplikacjami mobilnymi. TestProject umożliwia pobranie agentów dla urządzeń z systemem Windows, Linuxa i MacOS. Dostępny jest również agent dla Dockera.

Po prostu instalujemy agenta, a on automatycznie wykrywa zainstalowane na urządzeniu przeglądarki i podłączone urządzenia mobilne czy uruchomione emulatory/symulatory. Następnie za pomocą TestProject App możemy tworzyć nowe testy lub uruchamiać istniejące na docelowych urządzeniach.

Rys. 3. TestProject Agent (Źródło https://docs.testproject.io/).

3. CI/CD

TestProject ma plugin do Jenkinsa, który umożliwia uruchamianie testów. Udostępnia również Rest API. Daje to możliwość integracji z jakimkolwiek innym narzędziem CI/CD.

4. Addons

Addons to zbiór zakodowanych działań, które możemy użyć w dowolnym teście. Dodatki te umożliwiają bezproblemowe rozszerzanie zarejestrowanych i kodowanych testów o akcje wielokrotnego użytku.

TestProject domyślnie udostępnia zestaw wielu akcji, które możemy wykorzystywać w trakcie testu. Jeśli brakuje nam czegoś, możemy stworzyć dodatek, korzystając z SDK udostępnionego przez TestProject. Dodatki to są dodatkowe akcje, które możemy używać jako krok w teście. Dodatki ułatwiają dostosowywanie działań wykonywanych w testach, aby dokładnie odpowiadały konkretnym potrzebom testowym zespołu.

Niektóre przykłady popularnych dodatków w bibliotece pozwalają np. na przewijanie do elementu lub w trakcie testu umożliwiają weryfikację tekstu w pobranym pliku pdf.

Masz również możliwość tworzenia własnych dodatków, które możesz udostępniać swojemu zespołowi lub całej społeczności TestProject. Obecnie jest wiele różnych dodatków stworzonych przez twórców, jak i społeczność TestProject, które możemy wykorzystywać w naszych testach. Instalacja istniejących dodatków jest szybka i prosta.

5. SDK

TestProject udostępnia SDK do samodzielnego tworzenia testów przy użyciu języka programowania. Dzięki SDK można dostosować, a następnie uruchamiać istniejące już testy automatyczne napisane w Selenium. SDK służy również do tworzenia własnych dodatków.

6. Team members

Wszystkie testy są przechowywane w jednym miejscu w chmurze. Możemy zapraszać kolejnych członków zespołu do pracy nad projektem.

Rys. 3. Struktura rozwiązania od Tricentis (Źródło: https://docs.testproject.io/).

Tworzenie testów za pomocą TestProject

Tworzenie testów z TestProject odbywa się za pomocą  TestProject Smart Recorder oraz SDK. TestProject ma rejestrator kroków wykorzystujący sztuczną inteligencję, który rejestruje aktywność w czasie rzeczywistym, bez opóźnień, dla dowolnej aplikacji dla Web, Android i iOS. 

TestProject Smart Recorder

Jest to podejście typu ”record and playback”. Kroki testowe są rejestrowane i tworzone automatycznie w wyniku poruszania się po testowanej aplikacji. Podejście to jest szczególnie przyjazne dla osób, które nie mają umiejętności programistycznych i doświadczenia w automatyzacji testów. 

Użycie nagrywarki radzi sobie bez problemu z iFrames, pop-ups, dynamicznymi elementami czy nowymi kartami. Nagrywając nowe testy nie musimy przejmować się obsługą oczekiwań na pojawienie się elementu na którym chcemy wykonać określoną akcję. Aplikacja ma wbudowaną obsługę tego typu zdarzeń.. Maksymalny czas oczekiwania można konfigurować w aplikacji.

W TestProject za pomocą sztucznej inteligencji każdy element jest identyfikowany przez kilka zoptymalizowanych lokatorów. Jeśli coś się zmieni w testowanej aplikacji, a w trakcie testu aplikacja nie będzie mogła znaleźć elementu, korzystając z pierwszego lokatora, to spróbuje wykorzystać drugiego lokatora, a w razie niepowodzenia z trzeciego itd.

Po zakończonym teście aplikacja proponuje dokonanie zmiany — ustawienie tego lokatora, po którym element został znaleziony jako pierwszy. Przyspiesza to wykonywanie kolejnych testów, zaoszczędzając czas na ponowne przechodzenie i szukanie lokatorów z listy. Istnieje możliwość eksportu nagranego testu do kodu (Java, C#, Python).

SDK

SDK wymaga znajomości języka oprogramowania. Na chwilę obecną istnieje możliwość pisania testów w Java, C# lub Python, ale producent zapewnia, że z czasem dojdzie do tej listy JavaScript i Groovy. TestProject nie daje bezpośrednio możliwości pisania testów czy przeglądania kodu. Testy tworzymy w naszym ulubionym IDE.

Trzeba dodać, że istnieją dwa SDK: Legacy SDK i OpenSDK. Oba bazują na Selenium i Appium. Stąd nie trzeba uczyć się nowej składni. Między tymi SDK są pewne różnice. Stosując OpenSDK, nie trzeba importować testów do modułu głównego TestProject. Możemy korzystać z innych frameworków czy bibliotek, np. Cucumber, SpecFlow, Junit, TestNG, Nunit, pytest. Zarządzanie testami, uruchamianie testów odbywa się poza chmurą. Do modułu głównego trafiają jedynie raporty z wykonanych testów. 

Podsumowanie

Darmowe narzędzie TestProject jest utrzymywane w chmurze i umożliwia automatyzację testów oprogramowania zarówno na komputerach, jak i urządzeniach mobilnych. Test Project  ma zdecydowanie więcej zalet niż wad. Wszystko będzie zależeć od naszego podejścia. TestProject jest idealne dla zespołów, które nie chcą się skupiać na programowaniu. Pozwala szybko rozpocząć tworzenie testów zarówno na komputerach, jak i urządzeniach mobilnych.

Rejestracja na stronie producenta, instalacja agenta czy podłączenie agenta do modułu głównego są bardzo proste i pozwalają na rozpoczęcie w krótkim czasie automatyzacji testów. Twórcy oprogramowania postawili na szeroką współpracę z użytkownikami, którzy mogą wymieniać się między sobą pomysłami, a także stworzonymi przez siebie dodatkami (addons). 

Jeśli zależy Ci na wydajnym narzędziu automatyzacji testów, które oferuje bardzo wiele korzyści i jest w 100% darmowe, skorzystaj z możliwości, jakie oferuje Ci TestProject. Jeśli chcesz dowiedzieć się więcej, skontaktuj się z nami.

Polecamy również