Articles

Mobile Automation Testing Tools im Vergleich: Appium, TestComplete, UI Automator, SeeTest, Robotium, XCUITest und mehr

INHALT

Lesezeit: 14 Minuten

Mobiles Testen ist komplexer als Web-Testen. Während letzteres verschiedene Browser und eine Vielzahl von Versionen betrifft, konzentriert sich das mobile Testen auf Android- und iOS-Versionen und mobile Bildschirmauflösungen. Neben Stock-Android müssen sich QA-Ingenieure auch mit benutzerdefinierten UIs auseinandersetzen. Die meisten Gerätehersteller fügen diese über das Standard-Android hinaus hinzu, um zusätzliche Funktionen und ein ausgefalleneres Design zu bieten. Berühmte Beispiele sind OnePlus‘ OxygenOS und Samsungs One UI.

Mit diesem Artikel möchten wir Ihnen das Leben leichter machen, indem wir dedizierte Tools für das Testen von mobilen Geräten vergleichen. Wir haben die Empfehlungen von internen und externen Experten einbezogen, die ihre Meinung zu mobilen Automatisierungstools abgeben.

Wie testet man mobile Anwendungen

So, wie läuft das mobile Testen ab? QA-Ingenieure verwenden Mobile-Automation-Testing-Tools, um die Interaktion von Testcodes mit der zu testenden Anwendung zu erleichtern. Die Frage ist, wie man mobile Automatisierungstests durchführt. Es gibt drei Möglichkeiten.

Durch lokale mobile Live-Geräte. Mit echten, über USB angeschlossenen Geräten können QAs die Funktionsfähigkeit einer App aus der Perspektive des Endanwenders testen. Sie können es beschleunigen, indem sie die Tests parallel auf mehreren Android-Geräten durchführen. Obwohl es aufgrund der erforderlichen manuellen Einstellungen der Infrastruktur immer noch recht zeitaufwendig ist, liefern solche Tests die genauesten Ergebnisse. Alternativ können Sie auch Cloud-Testdienste nutzen.

Eine echte Geräte-Cloud verwenden. Um die Geräteabdeckung zu erweitern, führen QAs Tests in einer entfernten Testumgebung durch – einer Gerätefarm alias Device Cloud. Mit vorinstallierten Betriebssystemen und Browsern bieten Gerätefarmen den Testern Zugriff auf physische Geräte mit mehreren Versionen. Die Tester haben ein Dashboard, in dem sie alle angeschlossenen Geräte verwalten können. Sauce Labs und BrowserStack sind weit verbreitete Device Clouds.

Via Android Emulator / iOS Simulator. QAs testen mobile Apps auch über Software, die ein mobiles Gerät auf ihrem Desktop imitiert. Insbesondere der Android-Emulator ahmt sowohl die Software- als auch die Hardware-Umgebung des Zielgeräts nach, der iOS-Simulator hingegen nur die mobile Software. Deshalb brauchen Sie zum Testen einen originalen Apple-Computer. Als einen der Hauptvorteile von Emulatoren nennt Alexander Kot, Mobile Automation Engineer bei AltexSoft, ihre Fähigkeit, sehr schnell zwischen Geräten zu wechseln. Anastasiya Nalyhach, Ingenieurin für Testautomatisierung bei EPAM Systems, fügt hinzu, dass Emulatoren es ihr ermöglichen, schnell lokale Tests auf einem PC zu starten, wenn kein echtes Gerät verfügbar ist. Allerdings sind Emulatoren nicht so zuverlässig wie echte Geräte.

Android-Emulator in Android Studio

Android-Emulator in Android Studio

Android-Emulator in Android Studio

Um zu verstehen, wie all diese Komponenten den Testprozess ausmachen, müssen wir zunächst verstehen, wie Mobile Automation Testing im Ganzen funktioniert.

Wie Mobile Automation Testing funktioniert

Um mobile Geräte zu entwickeln und zu testen, werden folgende IDEs verwendet: Android Studio und Apple Xcode. Diese IDEs haben alle notwendigen Instrumente, um mit Code zu arbeiten, einschließlich Code-Debugger (z. B. Android Debug Bridge), Emulatoren und Simulatoren.

Eine Schnittstelle, die die Kommunikation zwischen einem mobilen Gerät und dem Computer ermöglicht, wird als mobiler Treiber bezeichnet. Die offiziellen Android-Treiber sind UI Automator und Espresso. Beide Treiber wurden von Google entwickelt und sind in der gut dokumentierten Android Testing Support Library enthalten. Daneben gibt es Treiber von Drittanbietern wie Robotium und Selendroid ( Selenium für Android). Für iOS wird der XCUITest-Treiber mit Xcode ausgeliefert.

Wenn Sie es mit einer mobilen Anwendung zu tun haben, die sowohl auf iOS als auch auf Android verfügbar ist, wird das Schreiben separater Tests für jedes Betriebssystem eine Weile dauern. Sie können die Wiederverwendung von Code ermöglichen, indem Sie die Vorteile eines plattformübergreifenden Tools nutzen. Als Ergebnis schreiben Sie den Code nur einmal und er ist mit beiden Betriebssystemen kompatibel. Das bekannteste Beispiel für ein plattformübergreifendes mobiles Testwerkzeug ist Appium.

Drei Möglichkeiten, ein mobiles Automationstest-Tool zu verwenden

Drei Möglichkeiten, ein mobiles Automationstest Tool

Drei Wege zur Verwendung eines Mobile Automation Testing Tools

Fassen wir den gesamten Prozess am Beispiel von Appium zusammen. Sobald der Code entwickelt ist, sendet der Appium-Client über seine API Befehle an den Appium-Server. Appium wiederum konvertiert die Befehle in das Format, das vom nativen Testframework der entsprechenden Plattform (UIAutomator, XCUITest) akzeptiert wird, und als Ergebnis werden die ersten Befehle in der getesteten Anwendung innerhalb eines Simulators oder Emulators ausgeführt. Alternativ können Sie auch eine Geräte-Cloud wie Sauce Labs nutzen, die alle notwendigen Geräte für Sie vorinstalliert hat. Sie müssen sich also nur mit der Cloud-Plattform verbinden. Falls Sie sich für reale Geräte entscheiden, müssen Sie diese selbst verbinden und konfigurieren.

Wann sollten Sie mobile Tests automatisieren

Oftmals werden mobile Tests manuell durchgeführt, da es sehr komplex ist, diesen Prozess zu automatisieren. Die Touchscreen-Aktionen wie Scrollen und Ziehen sind recht knifflig zu automatisieren. Unterscheiden wir die Fälle, in denen es sinnvoll ist, mobile Tests zu automatisieren, und diejenigen, in denen es klüger ist, bei manuellen Tests zu bleiben.

Gleich wie bei Web-Tests gibt es mehrere Szenarien für automatisierte App-QA:

1. Langfristige Projekte. Automatisierung lohnt sich auf lange Sicht, wenn Sie planen, die App kontinuierlich weiterzuentwickeln und zu pflegen.

2. Wartungstests. Wenn eine mobile Anwendung Daten über eine API von einem entfernten Server bezieht, muss die Synchronisation der App täglich überwacht werden. Oftmals finden Änderungen auf der Serverseite statt, die zu verschiedenen Störungen führen, wie z.B. Login-Fehlern oder Fehlern bei der Anzeige einiger Elemente auf dem Bildschirm.

3. Smoke-Tests. Wenn es sich um eine Standalone-App handelt, die keine externen Ressourcen nutzt, überspringen wir den vorherigen Schritt und gehen gleich zum Smoke-Test über. Er wird vor der Veröffentlichung durchgeführt und ist eine oberflächliche Überprüfung der Grundfunktionen.

4. Regressionstests. Dies ist die gründlichste Prüfung, bei der alle Routinetests durchgeführt werden, die automatisiert werden können. Automatisierung ist besonders kosteneffektiv für Regressionstests mit hohem Volumen.

5. Kontinuierliche Integrationspipelines. Da es bei der kontinuierlichen Integration nur um automatisierte Tests geht, gibt es hier keine andere Möglichkeit.

Aber vergessen Sie nicht die manuellen Tests. Es wird präziser in Bezug auf Unterbrechungen wie eingehende Texte, Anrufe, Push-Benachrichtigungen usw. sein. Dazu gehört auch das Testen, wie sich die App in Abhängigkeit von der unterschiedlichen Internetverbindung (3G, LTE, etc.) sowie offline verhält.

Es ist also wichtig, sowohl manuelle als auch automatisierte mobile Tests durchzuführen. Während sich das manuelle Testen auf explorative oder Usability-Tests konzentriert, kümmert sich das automatisierte Testen um hochgradig wiederholbare Funktionstests. Weitere Details zum manuellen vs. automatisierten Testen finden Sie in unserem entsprechenden Artikel.

Weiterhin geben wir einen Überblick über die Tools, die Ihnen helfen, das manuelle Testen Ihrer App in ein automatisiertes zu verwandeln. Um mehr über allgemeine Tools für automatisiertes Testen zu erfahren, lesen Sie unseren Artikel zu diesem Thema. Hier konzentrieren wir uns auf das mobile Testen, auch wenn einige Akteure bleiben, da sie sowohl Web- als auch Mobile-Tests unterstützen.

Open-Source-Testing-Tools für Android und iOS

Open-Source-Testing-Tools für Android und iOS

Automatisierungstools für Android-Mobile

Es gibt mehrere populäre Tools, um automatisierte Tests für Android zu schreiben und das Nutzerverhalten in der Anwendung zu emulieren. Als erstes sind die Tools zu nennen, die Google selbst für sein Betriebssystem entwickelt hat, UI Automator und Espresso. Wenn Sie mit Selenium in Web-Umgebungen vertraut sind, gibt es eine mobile Version davon – Selendroid. Sie können auch das beliebte und einfach zu bedienende Robotium ausprobieren, das von einer großen Open-Source-Community unterstützt wird.

So beginnen wir mit dem Vergleich zweier nativer Android-Testwerkzeuge – UI Automator und Espresso.

Espresso und UI Automator: ein Tandem für native Android-Tests

Initial für Entwickler konzipiert, erfordert Espresso Zugriff auf den Quellcode. Es bietet also White-Box-Tests im Gegensatz zu UI Automator. Es unterstützt Android-Anwendungen ab der Version 2.3. UI Automator wurde später veröffentlicht, es unterstützt also Android 4.3+.

Es gibt einen Grund, warum Google beide beibehält. Jedes Framework hat einige Lücken, die das andere füllt. Während Espresso nur innerhalb des Kontexts unserer Testanwendung arbeiten kann, ist UI Automator in der Lage, die Interaktionen der Testanwendung mit anderen Apps zu überprüfen. Die Frameworks sind nicht austauschbar, aber sie ergänzen sich gegenseitig. Daher ist es besser, beide Frameworks für das Testen Ihrer mobilen App zu verwenden.

Vorteile von Espresso und UI Automator:

  • Geschwindigkeit beim Testen durch Code-Synchronisation (Espresso ist schneller)
  • Zuverlässigkeit: wird von Google selbst gepflegt. Wenn etwas kaputt geht, wird es fast sofort behoben
  • Eingebauter Testrekorder (nur für Espresso)
  • Eine aktive Community, in der Entwickler ständig etwas beitragen und auf Fragen antworten

Espresso und UI Automator Nachteile:

  • Eingeschränkte Sprachunterstützung: Java und Kotlin.
  • Benutzerdefinierte Prüfungen erfordern gute Programmierkenntnisse und ein tiefes Verständnis dafür, wie Android funktioniert.

UI Automator Viewer

UI Automator Viewer

UI Automator Viewer, Quelle: Arseny Batyrov

Beide, Selendroid und Robotium, wurden vor den offiziellen Treibern entwickelt. Allerdings werden sie nicht so gut unterstützt wie die Tools von Google.

Selendroid: Selenium-Tool für Android-Kompatibilitätstests

Selendroid ist ein mobiles Automatisierungstool von Selenium, das ausschließlich auf Android ausgerichtet ist. Aber mit dem ios-driver – einer Selenium WebDriver API – können Sie zusammen mit Selendroid auch iOS-Anwendungen testen. Geschrieben auf der Selenium Web Driver Client API, sind Selendroid-Tests vollständig in die aktuellen Selenium-Frameworks integriert. Unter Verwendung von Selenium Inspector, einem Tool zur Testfallentwicklung, überwacht Selendroid den aktuellen Zustand der App-Oberfläche.

Selendroid Vorteile:

  • Die Hot-Plugging-Funktion ermöglicht es, Geräte auszustecken, ohne den Test zu unterbrechen. Letztendlich erhöht es die Anzahl der Geräte, die gleichzeitig getestet werden können.
  • Es hat eine hohe Kompatibilität mit JSON Wire Protocol und Selenium 3 Ready.
  • Abwärtskompatibilität. Zum Beispiel kann es Android API 10 (Version 2.3.3) bis API 19 (Version 4.4) unterstützen.
  • Zur Automatisierung sind keine App-Anpassungen erforderlich.
  • Es gibt einen eingebauten Android-Treiber WebView App.

Selendroid Nachteile:

  • Es gibt keine Möglichkeit, das Testen von Aktivitäten außerhalb der App wie Kamera, Karten, etc. zu automatisieren.
  • Langsam: Es ist auf einigen Rechnern mit weniger als 4GB RAM schwer zu benutzen.

Robotium: Black-Box UI-Testing-Bibliothek für Android-Anwendungen

Robotium, eines der ersten automatisierten Test-Tools für Android, wird häufig eingesetzt. Da es für Black-Box-Tests verwendet wird, werden keine zusätzlichen Daten über die Struktur der App oder die ausgeführten Klassen benötigt. Das einzige, was Robotium wissen muss, ist der Name der Basisklasse und wie man sich mit ihr verbindet. Java ist die bevorzugte Sprache zum Verfassen von Robotium-Tests.

Robotium Vorteile.

  • Es erlaubt die Erstellung von Funktions-, Framework- und Benutzerakzeptanztestsituationen.
  • Es hat eine große Community: Es gibt viele Open-Source-Entwickler, die dazu beitragen, weitere Funktionen in späteren Versionen einzuführen.

Wir fragten Myhailo Skrypchuk, Entwickler bei Brandnic, über ihre Verwendung von Robotium zum Testen einer App zum Generieren von Geschäftsnamen: „Wir verwenden das Tool bei Betriebstests, um zu evaluieren, ob der Betrieb mit dem richtigen Datenfluss abgeschlossen wurde. Außerdem bei Sicherheitstests – wir finden und beseitigen Schlupflöcher und Schwachstellen, starten verschiedene Schein-Cyberattacken. Beim Performance-Testing untersuchen wir die App mit dem Speicherbedarf und der Geschwindigkeit, mit der sie die Aufgabe erledigt.“

Robotium hat folgende Nachteile:

  • Es ist an einen App-Prozess gebunden, ähnlich wie Espresso.

„Wenn Ihre Anwendung eine andere aufruft – Robotium kann sie nicht sehen und dort keine Aktion durchführen“, fügt Myhailo hinzu.

  • Keine Möglichkeit, ein Smartphone oder ein Tablet zu sperren/entsperren.
  • Keine Aufnahme- und Wiedergabefunktionen
  • Fehlende Möglichkeit, Screenshots zu erstellen.

iOS Mobile Automation Testing Tools

Wenn Sie sich mit dem Testen von iPhone-Apps beschäftigen, sollten Sie sich die Optionen ansehen, die Sie haben. Es läuft alles auf XCUITest hinaus – Apples offizielles UI-Testing-Tool. Abgesehen davon bietet Google eine nette Alternative – EarlGrey, die Sie vielleicht für Ihre Bedürfnisse besser geeignet finden.

XCUITest: Native Methoden für die Arbeit mit iOS UI

XCUITest läuft innerhalb der Xcode-Umgebung und seine Tests müssen in Swift oder Objective-C geschrieben werden. Seine Versionsunterstützung beginnt mit iOS 9.

XCUITest Vorteile:

  • Verteilte parallele Testausführung
  • Eingebauter Testrekorder für einfache Tests, UI-Elemente und deren Eigenschaften

XCUITest Nachteile:

  • Apple ist langsamer als Google, was die Reaktion auf Bugs angeht
  • Schwache Dokumentation: Es enthält keine Beschreibung aller Methoden und wie man sie benutzt.
  • Kleine Community: Sie werden es schwer finden, eine Antwort auf Ihre Frage zu bekommen.
  • Die Testlaufgeschwindigkeit ist im Vergleich zu Android-Tests langsam.
  • Framework-Updates sind selten.
  • Out-of-the-Box-Tests nur auf Simulatoren, erfordert zusätzliche Dienstprogramme, um mit echten Geräten zu arbeiten. Eines davon ist Facebook WebDriverAgent (WDA). WDA läuft auf einem Simulator oder einem realen Gerät und überträgt Befehle via API an XCUITest.

EarlGrey: Googles Antwort auf XCUITest

EarlGrey wurde 2016 von Google entwickelt und ist Espresso sehr ähnlich. Google selbst nutzt das Tool für funktionale Tests von nativen iOS-Apps wie YouTube, Google Calendar, Google Photos, Google Translate, etc. Sie können Earlgrey manuell oder über einen Dependency Manager zu Ihrem Xcode-Projekt hinzufügen.

Im Gegensatz zu XCUITest teilt sich dieses UI-Automatisierungsframework den Prozess mit der App: Testskripte warten auf das Eintreten bestimmter UI-Ereignisse, bevor sie direkt eine Interaktion mit der Anwendungs-UI starten. So kann der Test den gemeinsamen Speicher beeinflussen und das Laufzeitverhalten der App verändern. Obwohl sich EarlGrey automatisch mit der UI und den Netzwerkanfragen synchronisiert, ist es dennoch möglich, individuelle Timings zu implementieren.

Vorteile von Earl Grey gegenüber XCUITest:

  • Bringt die Synchronisationsfunktionen von Espresso zum Testen von iOS
  • Unterstützung von realen Geräten

Nachteile von Earl Grey:

  • Anonyme Statistikberichte zurück an Google
  • Nur ein einzelnes App-Testing

Plattformübergreifende Mobile-Automation-Testing-Tools

Mobile-Testing-Tools, die für beide Betriebssysteme funktionieren, sparen Ihnen viel Zeit und Mühe. Obwohl es leicht ist, sich in der Fülle der Möglichkeiten zu verlieren, haben wir die fünf besten – sowohl kostenlosen als auch lizenzierten – Frameworks ausgewählt, die Ihnen bei der Entwicklung mobiler plattformübergreifender automatisierter Tests helfen können. Appium ist das erste, was einem in den Sinn kommt. Aber es ist nicht so einfach herauszufinden, vor allem, wenn Sie mit Selenium nicht auf einer First-Name-Basis sind. Manchmal ist es besser, extra für einen skriptfreien Automator zu bezahlen. Wir werden beide Optionen anhand der Tools in dieser Liste überprüfen.

Plattformübergreifende Mobile-Automation-Testing-Tools im Vergleich

Plattformübergreifende Mobile-Automation-Testing-Tools im Vergleich

Appium: ein vielseitiges Mobile-UI-Testing-Framework

Wenn Sie sich mit Selenium auskennen, wird Appium für Sie ein Kinderspiel sein. Es ist im Grunde ein Selenium WebDriver, der für das Testen mobiler Geräte entwickelt wurde. Die Kernfunktion des Appium-Servers besteht darin, Testanfragen in einem JSON-Format zu empfangen und sie in Befehle umzuwandeln, die von den nativen Testframeworks weiter akzeptiert werden können.

Wie Appium Server funktioniert

Wie Appium Server funktioniert

Wie Appium Server funktioniert

Appium- und WebDriver-basierte Tests können mit dem Testautomatisierungs-Framework WebDriverIO ausgeführt werden.

Es handelt sich dabei um WebDriver-Bindings für Node.js. WDIO hat einen eigenen Test-Runner und ist leicht konfigurierbar. Seine Kommandozeilenschnittstelle kommt mit einem netten Konfigurationsprogramm, das hilft, die Konfigurationsdatei in weniger als einer Minute zu erstellen. Es gibt auch einen Überblick über alle verfügbaren Pakete von Drittanbietern wie Framework-Anpassungen, Reporter und Services und kann diese installieren.

Appium-Profis. Appium ist das mit Abstand universellste mobile UI-Testing-Framework.

  • Es unterstützt die Automatisierung über eine Vielzahl von Plattformen: iOS Mobile, Android Mobile und Windows Desktop.
  • Das Tool automatisiert alle Arten von Anwendungen: native, mobile Web- und hybride.
  • Appium ist mit allen gängigen Programmiersprachen kompatibel: Ruby, Python, Java, JavaScript, PHP, C# und RobotFramework. Mit Clients, die in jeder dieser Sprachen geschrieben sind, gibt es keine Grenzen in Bezug auf Test-Runner und Test-Frameworks. Das ist eigentlich Teil der Appium-Philosophie – setzen Sie Ihrer Testumgebung keine Grenzen, damit Sie sie so verwalten können, wie Sie es wollen.
  • Im Gegensatz zu anderen Automatisierungswerkzeugen bietet Appium eine stabile WebDriver-basierte Schnittstelle, die Ihre Tests trotz aller Upgrades einfach hält.

Beispiel einer Appium-Implementierung für Android

Beispiel einer Appium-Implementierung für Android

Beispiel einer Appium-Implementierung für Android, Quelle: Thomas Hansson

Beispiel für eine Appium-Implementierung für iOS

Beispiel für eine Appium-Implementierung für iOS, Quelle: Thomas Hansson

Appium Nachteile:

  • Anastasiya Nalyhach merkt an, dass Appium nicht direkt mit einer App interagiert, sondern das HTTP-Protokoll nutzt, um Befehle zu senden. Alexander Kot fügt hinzu: „Die Ausführung von Befehlen dauert aufgrund einer langen Interaktionskette unter der Haube von Appium eine Weile: Nach dem Start eines Geräts und dem Aufbau einer Session baut Appium eine Verbindung mit dem WebDriverAgent-Server auf. Erst dann kommuniziert der WebDriverAgent-Server mit dem nativen Test-Framework von Apple, um Befehle auf dem Gerät auszuführen.“
  • Ohne Zugriff auf den Quellcode gibt es Probleme beim Ändern des Anwendungsstatus. Darüber hinaus erlaubt Appium kein Mocking des Back-End-Teils, während die UI überprüft wird. Zu guter Letzt sollten Sie eine leistungsfähige Hardware haben, da Appium viele Ressourcen verbraucht.

Calabash: Behavior Driven Development Testframework

Wenn Ihnen Xamarin am Herzen liegt, sollten Sie sich für Calabash entscheiden. 2017 hat Xamarin den Support für Calabash eingestellt, und mit Hilfe der Community wurde Calabash zu einem Open-Source-Tool. Es gibt Bibliotheken für jede Plattform: Calabash iOS und Calabash Android.

Calabash stellt sicher, dass eine Anwendung aus den richtigen Funktionen, Szenarien und Schrittdefinitionen besteht und ob sie mit den richtigen Eingaben läuft.

Calabash-Profis:

  • Da Calabash BDD-orientiert ist, führt es Entwicklungstests auf Basis der Funktionsweise der Anwendung durch.
  • Im Gegensatz zum tool-agnostischen Appium ist Calabash eng mit dem verhaltensorientierten Cucumber gekoppelt und nutzt dieses, um Testszenarien in einfacher Sprache zu definieren. Das macht es auch für nicht-technische Teammitglieder verständlich.

Calabash Nachteile:

  • Calabash ermöglicht Interaktionen mit der App nur für ein Ruby-basiertes Testframework.
  • Es gibt keine Aufzeichnungs- und Abspielfunktionen.
  • Das Debuggen von Testskripten und die Testwartung sind die Hauptprobleme. Mit der Zunahme der zu testenden Geräte wird es schwierig, Testdatendateien zu pflegen.
  • Das Schreiben von Automatisierungstestskripten für Calabash erfordert einen erfahrenen und versierten Tester.

SeeTest: kommerzielle Continuous Testing Plattform

SeeTest von Experitest ist das erste kommerzielle plattformübergreifende Testwerkzeug auf unserer Liste. Erhältlich mit einer 30-tägigen Testphase, kostet der Automate-Plan von SeeTest den Anwender 199 US-Dollar pro Monat, wenn er ein Jahr im Voraus bezahlt, oder 249 US-Dollar pro Monat. Warum also bezahlen, wenn es kostenlose Tools gibt?

SeeTest Vorteile:

  • Integrierte Appium-Funktionen in einer komfortablen Oberfläche mit Features wie Device Reflection, Test Recorder, Object Spy und visuellem Feedback
  • Erweiterte Automatisierungsabdeckung inklusive Barcode &-Check-Scanning, Audio-Features, GPS-Simulation und TouchID oder benutzerdefinierte Elemente wie Slider, Picker, Tabellen, Gesten und jede komplexe UI.
  • IDE-Plug-ins zur Entwicklung und Ausführung von Tests auf realen Geräten direkt aus Eclipse oder IntelliJ
  • Zugriff auf mehr als 1000 mobile Geräte in der Cloud und parallele Ausführung von Hunderten von Tests
  • Detaillierte Testberichte mit Screenshots, Videos und Log-Dateien.

SeeTest Reporter

SeeTest Reporter

SeeTest Reporter

Zusammengefasst, SeeTest fügt sich perfekt in den CI-Prozess ein, da es erlaubt, mehrere Tests zu priorisieren, zu planen und parallel auf die für den jeweiligen Build relevanten Geräte und Betriebssysteme zu verteilen.

SeeTest Nachteile. Es gibt immer ein Aber. Im Fall von SeeTest ist es der Preis, weshalb das Tool nicht für kleine Projekte geeignet ist. Außerdem ist das Tool nicht quelloffen, so dass es keinen Raum für Anpassungen gibt.

TestComplete: ein proprietäres skriptfreies Modul für mobile Tests

TestComplete ist ein Produkt von SmartBear, einem führenden Anbieter von Software-Testautomatisierung. Es bietet automatisierte Module für Mobile-, Desktop- und Web-Tests. Mit TestComplete können Sie Tests erstellen, indem Sie sie aufzeichnen oder Testbefehle in seinen Bedienfeldern und Editoren bearbeiten. Sie führen die Tests entweder innerhalb der Plattform aus oder exportieren sie, um sie auf externen Anwendungen laufen zu lassen.

TestComplete bietet Vorteile:

  • Es gibt eine große Auswahl an Programmiersprachen (z.B. JavaScript, Python, Jscript.)
  • Das skriptfreie Aufzeichnungs- und Wiedergabewerkzeug ermöglicht die Aufzeichnung von Multi-Touch-Gesten (Streichen, Aufziehen, Ziehen, Ablegen oder Scrollen) und deren Wiedergabe. Steve Pritchard, IT-Berater bei Anglo Liners, behauptet, dass solche Tests genauso gründlich sind wie manuelle.

TestVollständige Wiedergabe von Touchscreen-Gesten

TestVollständige Wiedergabe von Touch-Bildschirmgesten

TestVollständige Wiedergabe von Touchscreen-Gesten

  • Spezifische Prüfpunkte verifizieren den Zustand der Anwendung während des Testlaufs.
  • Automatische Prüfungen validieren wichtige Aspekte. Steve bestätigt das: „Dank der Echtzeitinformationen, die das Tool erzeugt, können wir den Fortschritt und den Status unserer Seiten von jedem Gerät aus gleichzeitig verfolgen.“
  • Es gibt eine Vorintegration mit dem SoapUI API-Testing-Tool.

TestComplete Nachteile:

  • Diese Lösung ist teuer. Für ein mobiles Modul zusammen mit der Plattform selbst berechnet Ihnen TestComplete mindestens 2.299 US-Dollar pro Jahr. Das ist nur für ein einziges Rechengerät. Erweiterungen wie parallele Testausführung, Videotestwiederholungen, KI-gestützte visuelle Erkennung, automatische Web-Audits für Leistung, Zugänglichkeit und SEO haben zusätzliche Preisschilder. Außerdem verlangt TestComplete separate Gebühren für Schulungen und Zertifizierungen. Mit einem Kauf erhalten TestComplete-Kunden Zugang zum Case Management Portal, an das sie sich für Support wenden können. Bevor Sie Verpflichtungen eingehen, können Sie es einen Monat lang ausprobieren.
  • iOS-Tests mit TestComplete erfordern die Installation von Hardware-Virtualisierungstools auf dem Mac.

Tricentis Tosca: lizenzierte, modellbasierte Mobile Engine 3.0

Als Teil der Tricentis Tosca-Standardinstallation muss die Tosca Mobile Engine 3.0 explizit über das Custom Setup ausgewählt werden. Gepaart mit Appium können Sie mit Tricentis die Leistungsfähigkeit von Appium nutzen, ohne sich mit dessen technischer Komplexität auseinandersetzen zu müssen. Außerdem nutzt die Tosca Mobile Engine 3.0 Komponenten von AndroidSDK und Xcode-Tools. Sie ist in Device Clouds integriert: Perfecto, Mobile Labs, Sauce Labs und TestObject. So sind Sie nicht auf Testumgebungen angewiesen, sondern können sie bei Bedarf einschalten.

Tricentis Tosca Vorteile. Ähnlich wie TestComplete ermöglicht Tricentis die skriptlose Testautomatisierung zusammen mit dem Schreiben von manuellem Code, was es einfach zu bedienen macht. Zu den Tricentis-Funktionen, von denen Sie profitieren können, gehören:

  • Synthetische Testdatengenerierung,
  • Risikobasiertes Testen,
  • Testfalldesign,
  • Verteilte Ausführung,
  • Service-Virtualisierung,
  • Testmanagement und Analytik,
  • Integration von DevOps- und Application-Life-Cycle-Management-Tools
  • Automatisierte Bereitstellung und Inbetriebnahme, wobei Tests automatisch und ohne manuelle Interaktion gestartet werden.

Tricentis Tosca Nachteile: Tosca hat eine individuelle Preisgestaltung, die auf der hohen Seite liegt. Nehmen Sie direkt Kontakt auf, um es selbst herauszufinden.

Herausforderungen des mobilen Testens (im Vergleich zum Web-Testen)

In Bezug auf die Bereitstellung von Funktionalität verlässt sich die mobile Entwicklung auf das bestehende Web-Feature-Set. Es sollte also einfacher sein, eine unterstützende App zu erstellen. Das bezieht sich aber nicht auf den Testprozess. Hier beginnt das mobile Testen von Anfang an, egal wie gründlich die Web-Tests durchgeführt wurden. Nun geben wir einen Überblick über die Hauptschwierigkeiten, die das mobile Testen im Gegensatz zum Web-Testen hat.

Gerätefragmentierung. Wie beim Web-Testen, wo wir es nur mit PCs und Laptops zu tun haben, umfasst das mobile Testen Telefone, Tablets, Smartwatches usw. Der Umgang mit vielen Hardware-Herstellern mit unterschiedlichen Bildschirmgrößen und benutzerdefinierten UIs verkompliziert den Testprozess.

Doppelte Arbeit. Web-Tests befassen sich nur mit einer Umgebung – einem Browser, in dem Multiversionen keine so große Rolle spielen wie bei mobilen Tests. Wenn die Tester sowohl Android- als auch iOS-Mobilbetriebssysteme im Auge behalten, müssen sie zwei Arten von Page Object Locators finden und separate Tests für ähnliche Funktionen implementieren. Durch die gleichzeitige Unterstützung von zwei Infrastruktur-Sets muss die QA auf alle Push-Updates vorbereitet sein, die zu Testabbrüchen führen können.

Geräte anpassen. Wie immer erfordert iOS einen Apple-Computer zum Schreiben automatisierter Tests.

Testgeschwindigkeit. Web-Tests werden direkt im Browser durchgeführt. Dies steht im Gegensatz zu mobilen Tests, bei denen der Code eine längere Kette von Aktionen durchläuft, bevor er auf dem Zielgerät ausgeführt werden kann. Dies führt zu Verzögerungen im mobilen Testprozess.

Tooling und Support. Im Gegensatz zur Web-Automatisierung gibt es für Mobile eine weniger ausgereifte Community, die einige Fragen nicht beantworten kann. Das Tooling befindet sich noch in der Entwicklung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.