Automatisiertes Testen von Mobil- und Webanwendungen

Categories: MobilityTechnology

Mit dem Aufkommen von Smartphones und der Möglichkeit, Anwendungen für Telefone und Tablets zu schreiben, entsteht ein völlig neues IT-Segment, auf das auch das Testen reagiert. Neue Technologien und Verfahren zum Testen von Anwendungen auf mobilen Geräten entstehen.

Eine der größten Herausforderungen beim automatisierten Testen ist das Testen mehrerer Arten von Mobilgeräten und verschiedener Versionen von Betriebssystemen (Android, iOS). Es ist sogar möglich, mit einem Code sowohl iOS, Android als auch das Webinterface zu testen. Stellen wir uns mögliche Lösungen vor.

Appium

Einer der führenden Anbieter auf diesem Gebiet ist Appium. Appium ist ein in NodeJS geschriebenes "Open Source" [1]-Tool. Es eignet sich zum Ausführen von Skripten zum Testen nativer Apps, mobiler Web-Apps und Hybrid-Apps auf Android oder iOS unter Verwendung des Webdriver-Protokolls. Es hat eine breite Nutzerbasis und eine umfangreiche Dokumentation [2]. Appium ist ein Server, über den Skripte gestartet werden, entweder gegen echte Geräte oder über einen Emulator.

Ein großer Vorteil ist die volle Kontrolle über den gesamten Prozess der Ausführung von Skripten und über die Konfiguration emulierter Geräte. Ein weiterer Vorteil ist die Möglichkeit, Testskripte in mehreren Sprachen zu schreiben, sei es Python, Java, PHP oder Ruby. Es ist auch möglich, eine mobile Webanwendung auf einem mobilen Gerät auszuführen.

Der Nachteil von Appium ist das fehlende Testen der Webanwendung im Webbrowser auf dem „Desktop“. Zum Testen einer Webanwendung auf Desktop-Computern und Laptops ist eine der geeigneten und beliebten Lösungen z.B. Selen [3]. Dies bedeutet jedoch eine Aufteilung der Testcodebasis nach Plattform. Appium ist gut nutzbar, wenn das Testteam selbstständig ohne Entwicklerteam arbeitet. Sie benötigen lediglich eine installierbare Version der zu testenden Anwendung.

Was ist, wenn wir einen Testcode für alle Plattformen haben wollen?

In den letzten Jahren gab es Bemühungen von Entwicklern, einen Code zu haben, aus dem Anwendungen für mehrere Plattformen (Android, iOS, aber auch das Web) generiert werden. Eine dieser Technologien ist React Native. Hand in Hand geht die Möglichkeit, mit CodeceptJS [4] mehrere Plattformen mit einer einzigen Codebasis zu testen. CodeceptJS ist ebenfalls "Open Source" [5]. Die Tests werden in der sogenannten BDD geschrieben (Behavior-Driven Development) unter Verwendung der Gherkin-Syntax. Das oben erwähnte Appium kann verwendet werden, um Tests mit echten oder emulierten Geräten durchzuführen. Der Selenium-Treiber kann erneut zum Testen der Webanwendung verwendet werden. Wenn es also notwendig ist, eine Anwendung zu testen, die die gleiche Funktionalität auf mehreren Plattformen (Android, iOS, Web) hat, ist CodeceptJS eines der sehr geeigneten Tools für automatisiertes Testen. Es besteht keine Notwendigkeit, die Testcodebasis für native und Webanwendungen aufzuteilen.
Für die eigentliche Ausführung der Skripte wird innerhalb von CodeceptJS ein Tool ausgewählt, über das die Tests ausgeführt werden.

TestProjekt

Eine weitere interessante Lösung zum Erstellen komplexer plattformübergreifender Tests ist TestProject. TestProject ist ein relativ neues Projekt, das eine grafische Oberfläche (GUI) zum Erstellen von Tests bietet.

Author

4aa901e7ab8295f07139911c8bed1ae6?s=256&d=mm&r=g

Author

GlobalLogic Marketing

View all Articles

Top Insights

Homeoffice Whitepaper

Homeoffice Whitepaper

AtlassianCloudSecurityAutomotiveCommunicationsConsumer and RetailFinancial ServicesHealthcareManufacturing and IndustrialMediaTechnology

Top Authors

Ravikrishna Yallapragada

Ravikrishna Yallapragada

AVP, Engineering

Amit Handoo

Amit Handoo

Vice President, Client Engagement

Sameer Tikoo

Sameer Tikoo

Senior Vice President & GM, Communication Services BU

Dr Maria Aretoulaki

Dr Maria Aretoulaki

Principal Consultant Conversational & Generative AI Design

Blog Categories

  • URL copied!