Porównanie narzędzi do tworzenia testów automatycznych

Aplikacje internetowe

Selenium – free
framework służący do automatyzacji testów aplikacji webowych pod większość przeglądarek. Testy automatyczne w Selenium można pisać z wykorzystaniem m.in. Python, Java, PHP. Chcąc korzystać w pełni z możliwości automatyzowania, należy wybrać Selenium WebDriver, jednak, aby rozpocząć w nim pracę, należy znać podstawy programowania w języku programowania wspieranym dla Selenium WebDriver. Dla osób, które nie mają doświadczenia, można wykorzystać Selenium IDE, które jest wtyczką pod przeglądarkę Mozilla Firefox i działa na zasadzie “nagraj i odwtórz”. Testowanie za pomocą narzędzia Selenium IDE można wykorzystać przy powtarzalnej weryfikacji formularzy. Istnieją dwa oddzielne framework’i (Selendroid i Appium) które są przystosowane do testowania aplikacji mobilnych. Selendroid i Appium działają na bazie Selenium.

Plusy:
– możliwość (po wytworzeniu scenariusza testowego) odtwarzania kroków w sposób powtarzalny
– przy dobrze dobranych scenariuszach i np. uruchamianiu i utrzymywaniu testów automatycznych aplikacji, większa kontrola nad potencjalnym defektami w systemie
– Selenium IDE – nagraj i odtwórz
– masa poradników

Minusy:
– utrzymywanie testów z każdą zmianą aplikacji kosztuje

 

Sahi – freemium
narzędzie służące do automatyzacji aplikacji webowych. Udostępnione są dwie wersje narzędzia – jedna darmowa na zasadach Open-Source, druga jest wersją komercyjną. Wersja Open-Source posiada podstawowe narzędzia, które w zupełności wystarczą, aby rozpocząć automatyzację testów z wykorzystaniem tego narzędzia. W przeciwieństwie do Selenium, Sahi posiada możliwość nagrywania testów na dowolnej wspieranej przeglądarce (Internet Explorer, Firefox, Chrome, Safari, Opera, Edge).

Plusy:
– podstawowe narzędzia wystarczające do testów automatycznych
– nagrywanie testów na każdej możliwej przeglądarce

Minusy:
– brak możliwości testowania aplikacji mobilnych

 

Tellurium – freemium
narzędzie służące do automatyzacji aplikacji webowych, wspierające testy na wielu przeglądarkach (Firefox, Chrome, Internet Explorer). Narzędzie to od dłuższego czasu nie jest jednak rozwijane. Aplikacja jest dostępna za darmo przy uruchomieniu jednego testu. Testy automatyczne w tym oprogramowaniu pisze się za pomocą słów kluczowych w języku angielskim. Chcąc używać tego narzędzia, nie jest wymagana znajomość żadnego języka programowania.

Plusy:
– proste testy przy pomocy słów kluczowych

Minusy:
– tylko jeden test w tym samym czasie
– narzędzie nie jest juz rozwijane (!)

 

Katalon Studio – free
pełna platforma z przeznaczeniem do testów automatycznych aplikacji webowych oraz mobilnych. Tworzenie testów odbywa się za pomocą wbudowanego rekordera zdarzeń lub za pomocą języka skryptowego. Narzędzie jest rozwijane, często uaktualniane i ulepszane. Zaskakuje prostotą użycia, dobrze przygotowaną dokumentacją i przykładami użycia. Katalon powzala na zbudowanie i uruchomienie projektu z konsoli, ale nie pozwala sterować wykonywaniem testów i danymi z trybu terminala – to uniemożliwia uruchomienie testów inaczej, niż tylko z wewnątrz IDE.

Plusy:
– testy WEB
– testy Androida i iOS
– nagraj i odtwórz
– tworzenie testów przy pomocy języka skryptowego

Minusy:
– wyeksportowanie testów i uruchomienie ich z serwera jest arcytrudne
– utrzymywanie testów z każdą zmianą aplikacji kosztuje

 

TestComplete – free
łatwe w obsłudze narzędzie do przeprowadzania testów automatycznych. Narzędzie wspiera testowanie aplikacji flash, flex, AIR, HTML5, Silverlight.

Plusy:
– testy Windows Desktop
– testy WEB
– testy aplikacji mobilnych

Minusy:
– tylko Windows

 

Testy aplikacji desktopowych

Sikulix – free
narzędzie, które powstało na podstawie projektu Sikuli, służącego do automatyzacji elementów z różnych aplikacji desktopowych. Aplikacja działa zarówno pod kontrolą systemu Windows, jak i Mac. Posiada również wsparcie dla systemów Linux/Unix, lecz nie zawsze jest się w stanie zautomatyzować wyświetlające się elementy. Sikulix wspiera całą rzeszę języków skryptowych, w których to możemy oprogramować testy, jak Python, JRuby czy JavaScript. Trzeba jednak zaznaczyć, że jest to aplikacja z dużym ograniczeniem i automatyzowanie w niej złożonych projektów będzie bardzo czasochłonne, a nawet niemożliwe ze względu na identyfikację elementów.

Plusy:
– dobre narzędzie do nagrywania macro
– działa na Windows i MacOS
– różne języki skryptowe

Minusy:
– utrzymywanie testów z każdą zmianą aplikacji kosztuje
– zmiana nazwy pliku w aplikacji jest w stanie zawiesić test
– Java JRE 6 x86 jest wymagana

 

AutoIT – free
darmowe narzędzie służące do automatyzacji elementów wyświetlających się na GUI. Automatyzacja polega na symulacji klawiszy, ruchów myszki. Aplikacja przeznaczona jest na systemy operacyjne Windows. Testy pisze się w języku skryptowym podobnym do BASIC’a, więc nawet niedoświadczona osoba jest w stanie dość szybko rozpocząć pracę z tym narzędziem. Bardzo dobre narzędzie do automatyzowania czynności, można w łatwy i szybki sposób stworzyć skrypty, które przyspieszą i ułatwią naszą pracę. Paleta funkcjonalności sprawia, że narzędzie jest bardzo funkcjonalne.

Plusy:
– prosty język skryptowy
– prostota obsługi
– sporo możliwości

Minusy:
– tylko Windows

 

LordUI – freemium
Bardzo dobre narzędzie chociaż w wersji darmowej posiada wiele ograniczeń, wsparcie twórcy oraz obszerny wachlarz możliwości sprawia że narzędzie może być wykorzystywane w dużych i profesjonalnych projektach. Korzystanie z narzędzia nie przysparza większych problemów, a dostępne przykłady i łatwość tworzenia skryptów sprawiają, że już po paru minutach mamy w pełni działający skrypt.

Plusy:
– prostota obsługi
– możliwość implementacji własnego kodu w Javie

Minusy:
– ograniczenia wersji darmowej
– tylko Windows

 

AutoHotKey – free
Narzędzia można używać podczas przeprowadzania testów oraz podczas standardowej pracy w systemie poprzez automatyzowanie często wykonywanych czynności. Czynnościom tym przypisujemy odpowiedni skrót klawiszowy.

Plusy:
– prostota obsługi
– duża ilość poradników

Minusy:
– tylko Windows

 

Rational Functional Tester – licencja
jeden z najbardziej rozbudowanych, ale jednocześnie najdroższym narzędziem przeznaczonym do automatyzacji GUI systemu operacyjnego. Za pomocą tej platformy można zautomatyzować systemy, które napisane zostały w technologiach Java, SAP, Windows Form itp. Skrypty tworzy się w jednym z dwóch języków programowania – Java lub Visual Basic.NET.

Plusy:
– rozbudowane narzędzie

Minusy:
– cena
– twórcy nie nadganają technologii
– brak wsparcia dla MacOS

 

Testy wydajnościowe

WebLoad – freemium
narzędzie służące do przeprowadzania testów wydajnościowych aplikacji webowych, które korzystają z takich technologii i protokołów, jak HTML5, HTTPS, AJAX, JSON, Adober Air itp. Posiada możliwość integracji z tak popularnymi narzędziami jak Selenium. JENKINS, APPium, Dynatrace. Narzędzie to ma wbudowane rekordy, za pomocą których można tworzyć nagrania własnych akcji i ich późniejszego symulowania. WebLoad posiada w swojej ofercie darmową wersję aplikacji, pozwalającą na symulowanie zachowań maksymalnie 50 wirtualnych użytkowników.

Plusy:
– integracja z Selenium
– nagraj i odtwórz

Minusy:
– darmowy do 50 użytkowników

 

ApicaLoadTest – free
pozwala na przeprowadzenie testów obciążeniowych z wielu centrów testowych, symulując pracę nawet 2 milionów jednoczesnych użytkowników. Za pomocą tego narzędzia jesteśmy w stanie przeprowadzić testy zarówno aplikacji webowych, jak i aplikacji z przeznaczeniem na urządzenia mobilne, takie jak iOS czy Android. Dodatkowo w sytuacji, gdy nie mamy własnych zasobów do przeprowadzenia testów, możemy wszystko zlecić firmie Apica. ApicaLoadTest integruje się z popularnymi narzędziami ciągłej integracji, na przykład Bamboo czy JENKINS.

Plusy:
– duża baza symulowanych użytkowników
– testy mobilek

 

JMeter – free
najpopularniejsze narzędzie typu open source, które służy do przeprowadzania testów wydajnościowych. Uznane jest w świecie testerskim. Aplikacja pozwala na symulowanie zachowań użytkowników z jednego komputera lub pracy w klastrze. JMeter pozwala na przeprowadzanie testów wydajnościowych różnych obiektów systemów – od serwisów internetowych napisanych w PHP, Java, ASP.NET po serwery FTP. Narzędzie to działa zarówno na systemach linuksowych oraz na Windowsie. JMeter posiada wbudowany rekorder, co pozwala nagrywać akcje użytkownika, a następnie symulować je dla wielu użytkowników.

Plusy:
– masa poradników
– rozbudowane narzędzie
– testy serwerów FTP
– nagraj i odtwórz
– działa na MacOS (Homebrew)

 

CloudTest – freemium
może być wykorzystywany do testów wydajnościowych aplikacji internetowych, aplikacji mobilnych, interfejsów API i wielu innych. Chcąc sprawdzić oprogramowanie, można zainstalować wersją próbną, która umożliwia zasymulowanie pracy maksymalnie 100 równoczesnych użytkowników. Narzędzie to pozwala w łatwy sposób importować skrypty z JMetera i wykorzystywać je w ramach testów. Symulacja jest przeprowadzana z wielu lokalizacji na świecie jednocześnie, a wyniki testów możemy śledzić w czasie rzeczywistym.

Plusy:
– testy aplikacji mobilnych
– integracja z JMeter
– symulacja z różnych serwerów jednocześnie

Minusy:
– darmowa wersja do 100 użytkowników równoczeście

 

LoadStorm – freemium
narzędzie pozwalające na przeprowadzenie testów wydajnościowych, które jest udostępnione w chmurze. Wszystkie operacje i testy wykonuje się zdalnie za pomocą aplikacji internetowej. LoadStorm posiada możliwość symulacji użytkowników z różnych lokalizacji na świecie.

Plusy:
– symulacja z różnych serwerów jednocześnie
– działa w chmurze

 

HP LoadRunner – freemium
narzędzie to integrujące się z innymi narzędziami deweloperskimi, takimi jak jUNIT, Jenkins czy Selenium. Wspiera również przeprowadzanie testów wydajnościowych strumieni audio i wideo. Testy możemy tworzyć za pomocą wbudowanego rekordera lub za pomocą języka skryptowego.

Plusy:
– integracja z Selenium
– testy streamów
– nagraj i odtwórz

Leave a Reply

Your email address will not be published. Required fields are marked *