Testowanie aplikacji na urządzeniach mobilnych jest wyjątkowo wymagającą czynnością. Sprawa wygląda jeszcze trudniej w przypadku automatyzacji testów na popularnych „mobilkach”. Podczas przeprowadzania testów musimy brać pod uwagę nie tylko samą aplikację, ale również specyfikę urządzeń przenośnych. Na szczęście w kontekście automatyzacji testów, jak zawsze z pomocą przychodzą nam zaawansowane narzędzia. Dzisiaj postaram się przedstawić moją piątkę najlepszych narzędzi do automatyzacji testów aplikacji mobilnych. Zaczynamy!
1. Appium
Zdecydowanie numer jeden na rynku narzędzi dedykowanych do automatyzacji testów aplikacji mobilnych. Pozycję lidera zawdzięcza przede wszystkim temu, że spokojnie radzi sobie ze wszystkimi typami aplikacji mobilnych (obsługuje aplikacje natywne, hybrydowe oraz webowe). Dużą zaletą jest również jego cena, a właściwie brak ceny, gdyż rozwiązanie jest całkowicie darmowe, oparte na licencji open-source. Do działania wykorzystywany jest dobrze nam znany z „webówki” interfejs WebDrivera. Szerokie zastosowanie na rynku zawdzięcza również temu, że potrafi obsługiwać wiele języków programowania w tym Javę, Pythona, czy C#. Dzięki temu narzędziu możemy wykonywać testy zarówno bezpośrednio na rzeczywistych urządzeniach mobilnych, jak i symulatorach i emulatorach. Oczywiście Appium bardzo dobrze radzi sobie z popularnymi systemami operacyjnymi (iOS, Android).
Link: http://appium.io/
Zalety:
– obsługa wszystkich typów aplikacji mobilnych (natywne, hybrydowe, webowe)
– darmowy
– obsługa wielu popularnych języków programowania
– obsługa Android, iOS
2. Robotium
Kolejne dość szeroko wykorzystywane narzędzie na rynku aplikacji mobilnych. Na samym początku należy powiedzieć, że narzędzie jest również całkowicie darmowe (analogicznie jak w przypadku Appium, oparte jest na licencji open source). Z wykorzystaniem Robotium, możemy testować tylko androidowe aplikacje hybrydowe bądź natywne. Sporym ograniczeniem narządzania jest obsługa tylko jednego języka programowania (JAVA) z wykorzystaniem, którego możemy pisać testy automatyczne. Robotium dobrze sprawdza się w projektowaniu prostych, jak i bardziej złożonych testów automatycznych. Słabszą stroną tego narzędzia jest stosunkowo wolne wykonywanie testów automatycznych na rzeczywistych urządzeniach mobilnych.
Link: https://github.com/RobotiumTech/robotium
Zalety:
– darmowe
– możemy pisać bardzo złożone testy automatyczne
– bardzo dobra współpraca z systemem Android
– obsługa aplikacji hybrydowych i natywnych (Android)
Wady:
– obsługa tylko jednego języka programowania (JAVA)
– dość wolne wykonywanie testów automatycznych
3. Espresso
Espresso to rozwiązanie stworzone przez światowego giganta na rynku technologicznym -Google. Narzędzie jest integralną częścią pakietu Android SDK. Jest to natywna platforma do testów automatycznych aplikacji na Androida. Zapewnia zarówno testy czarno, jak i białoskrzynkowe komponentów systemu Android. Z Espresso możemy pracować, wykorzystując język programowania Java ( Kotlin ). Ogromną zaletą, która uwidacznia się od razu po napisaniu pierwszego testu – jest duża szybkość działania testów i współpracy z systemem android. Na duży plus zasługuje również szybka i prosta konfiguracja i integracja z Android Studio.
Link: https://developer.android.com/training/testing/espresso
Zalety:
– szybkość działania, wykonywania testów
– prosta konfiguracja
– przejrzysta dokumentacja
Wady:
– obsługa tylko systemu Android
– obsługa tylko JAVY (Kotlina)
4. UI Automator
Kolejne narzędzie ze „stajni” Googla. Z tego tez względu oprogramowania posiada bardzo podobną charakterystykę do wyżej opisanego narzędzia Espresso. Z wykorzystaniem UI Automator możemy tworzyć testy automatyczne do aplikacji opartych na systemie Android. W odróżnieniu od Espresso to narzędzie skupia się tylko na testach czarnoskrzynkowych (bez potrzeby wnikania w kod źródłowy aplikacji), a więc idealnie sprawdzi się w testowaniu na warstwie UI. Narzędzie wyróżnia się na pewno prostą implementacji kodu i szybkością pisania testów.
Link: https://developer.android.com/training/testing/ui-automator
Zalety:
– prostota implementacji kodu
– dobra dokumentacja
– dobra komunikacja integracja z systemem Android
– szybkość pisania testów
Wady:
– obsługa tylko systemu Android
5. Selendroid
Idealnym opisem tego narzędzia będą 3 słowa „Selenium dla Androida”. Selendroid daje nam możliwość wykonywania testów w środowisku Android oraz iOS (iOS Driver). Obsługuje aplikacje zarówno natywne jaki hybrydowe. Testy pisane są przy użyciu Selenium Webdriver. Możemy wykonywać testy zarówno na urządzeniach fizycznych, jak i emulatorach wirtualnych. Dużym plusem jest również możliwość integracji z mechanizmem Selenium GRID, dzięki któremu możemy wykonywać testy na dowolnych węzłach oraz w trybie równoległym. Rozwiązanie darmowe.
Link: http://selendroid.io/
Zalety:
– darmowy
– Android, iOS
– oparty na Selenium WebDriver
Wady:
– stosunkowo wolne działanie testów
Inne narzędzia wspierające testy
Apptim
Narzędzie do testowania aplikacji i analizowania ich wydajności. Mierzy m.in.: czasy renderowania aplikacji, zużycie energii, wykorzystanie zasobów, na systemach Android i iOS.
Link: https://www.apptim.com/
MonkeyTalk
Służy do automatyzacji testów funkcjonalnych aplikacji mobilnych (Android, iOS). Narzędzie zupełnie darmowe. Narzędzie zawiera w sobie m.in. nagrywarkę testów.
Link: https://github.com/alexnauda/monkeytalk
Sauce Labs
Rozwiązanie umożliwia testy w chmurze dla aplikacji natywnych i hybrydowych na systemach Androida i iOS.
Link: https://saucelabs.com/
DeviceAnywhere
Chmurowe rozwiązanie, które automatyzuje testy funkcjonalne aplikacji mobilnych na Androida i iOS.
Link: https://www.crunchbase.com/organization/deviceanywhere
TestFairy
TestFairy umożliwia testy aplikacji mobilnych z nagrywaniem wideo (obsługa Androida i iOS).
Link: https://www.testfairy.com/
Kobiton
Kobiton to platforma chmurowa dla urządzeń mobilnych, która zapewnia dostęp do rzeczywistych urządzeń w celu uruchamiania ręcznych i automatycznych testów natywnych, internetowych i hybrydowych aplikacji Android / iOS
Link: https://kobiton.com/
Testdroid
Pomaga testować aplikacje na Androida i iOS na prawdziwych urządzeniach zarówno do testów automatycznych i ręcznych.
Link: https://testmatick.com/testing-tools/testdroid/
TestObject
Rozwiązanie pomaga w testowaniu natywnych, hybrydowych i mobilnych aplikacji internetowych zarówno na Androida, jak i iOS
Link: https://app.testobject.com/
Ranorex Studio
Ranorex Studio to kompleksowe rozwiązanie do testowania aplikacji mobilnych. Umożliwia również bezkodowe tworzenie testów automatycznych.
Link: https://www.ranorex.com/
EggPlant
Jest przydatny do automatyzacji interfejsu użytkownika i testowania funkcjonalnego, testowania opartego na obrazach, testowania mobilnego, testowania sieci, testowania sieci i testowania w różnych przeglądarkach.
0 komentarzy