NiCro vorstellen: Ein neuer Weg, mobile Apps zu testen
NiCro vereinfacht das Testen von mobilen Apps auf verschiedenen Geräten mit Bildrecognition.
― 8 min Lesedauer
Inhaltsverzeichnis
Mobile-Apps, oder einfach Apps, werden heutzutage auf verschiedenen Geräten wie Handys und Tablets viel genutzt. Aber die Apps auf ihre Kompatibilität über verschiedene Geräte und Betriebssysteme zu testen, kann echt schwierig sein. Jedes Gerät kann die gleiche App anders anzeigen, je nach Bildschirmgrösse, Layout und Design. Deshalb müssen Entwickler eine Menge Arbeit reinstecken, um sicherzustellen, dass ihre Apps auf allen Plattformen gut laufen.
Eine gängige Methode, um das Testen zu vereinfachen, ist der Ansatz des Aufzeichnens und Wiedergabe. Das bedeutet, dass man die Aktionen auf einem Gerät aufzeichnet und sie dann auf anderen Geräten wieder abspielt. Aber da gibt’s ein Problem: Das Aussehen der Benutzeroberfläche einer App kann von Gerät zu Gerät stark variieren. Das macht es schwer, die aufgezeichneten Aktionen genau wiederzugeben.
Viele aktuelle Methoden basieren darauf, auf die Details oder Metadaten der App direkt zuzugreifen, was oft aufdringlich ist. Das heisst, sie müssen tief in die Software der App eintauchen, um die benötigten Informationen zu sammeln. Allerdings stossen solche Ansätze oft auf Einschränkungen, weil einige Systeme nicht erlauben, auf alle notwendigen Daten zuzugreifen.
In letzter Zeit haben einige Forscher angefangen, stattdessen Bilder der Benutzeroberfläche der App zu verwenden. Diese nicht aufdringliche Methode nutzt visuelle Informationen, um Elemente der Benutzeroberfläche zu identifizieren und abzugleichen. Aber diese früheren Methoden haben oft Schwierigkeiten, weil sie nicht richtig berücksichtigen, wie die gleiche Benutzeroberfläche auf verschiedenen Geräten anders aussehen kann.
Um diese Herausforderungen anzugehen, wurde ein neues System namens NiCro vorgeschlagen. NiCro ist dafür entworfen, Apps über verschiedene Geräte und Plattformen zu testen, ohne auf die internen Daten der App zugreifen zu müssen. Stattdessen konzentriert es sich darauf, Bilder der Benutzeroberfläche der App zu analysieren.
Das Problem mit bestehenden Methoden
Manuelles Testen von Apps ist oft langsam und mühsam. Leute anzuheuern, die die gleichen Prozesse auf verschiedenen Geräten durchlaufen, ist sowohl arbeitsintensiv als auch zeitaufwendig. Um die Dinge zu beschleunigen, haben Entwickler auf automatisiertes Testen umgeschaltet, insbesondere auf Aufzeichnungs- und Wiedergabemethoden, die es ihnen ermöglichen, Aktionen aufzuzeichnen und auf verschiedenen Geräten wiederzugeben.
Allerdings haben viele bestehende Methoden Schwierigkeiten mit dem Testen über Geräte und Plattformen hinweg. Sie konzentrieren sich meistens darauf, aufgezeichnete Aktionen auf derselben Plattform wiederzugeben. Wenn zum Beispiel eine Aktion auf einem Android-Gerät aufgezeichnet wird, ist es normalerweise einfacher, sie auf einem anderen Android-Gerät wiederzugeben, als diese Aktion auf ein iOS-Gerät zu übertragen.
Einige neuere Techniken haben versucht, Geräte zu verbinden oder auf Metadaten zuzugreifen, um beim Abgleich der benötigten Daten für eine Wiedergabe zu helfen. Trotzdem scheitern sie oft, wenn die notwendigen Metadaten entweder nicht verfügbar sind oder wenn sich die Benutzeroberfläche der App stark über die Plattformen hinweg unterscheidet.
Darüber hinaus könnten automatisierte Tools, auch wenn sie Metadaten erfassen könnten, bei bestimmten Systemoperationen oder wenn mehrere Apps beteiligt sind, nicht gut funktionieren. Hier können nicht aufdringliche Methoden besser abschneiden. Diese Methoden funktionieren wie ein menschlicher Beobachter: Sie schauen sich den Bildschirm an, verstehen, was da ist, und interagieren dann damit.
Was ist NiCro?
NiCro ist ein neuartiges System, das einen nicht aufdringlichen Ansatz verwendet, um Aktionen über verschiedene Geräte und Plattformen hinweg aufzuzeichnen und wiederzugeben. Es nutzt fortschrittliche Techniken der Computer Vision, die es ihm ermöglichen, Informationen zur grafischen Benutzeroberfläche (GUI) direkt aus Bildern der App zu analysieren, anstatt auf die internen Daten der App zugreifen zu müssen.
Das Hauptziel von NiCro ist es, es Entwicklern einfacher und effizienter zu machen, ihre Apps auf verschiedenen Geräten zu testen. Durch die Verwendung von Bildern, um Informationen über die Benutzeroberfläche zu sammeln, umgeht NiCro viele der Schwierigkeiten, die mit traditionellen aufdringlichen Testmethoden verbunden sind.
NiCro funktioniert, indem es zunächst Screenshots oder Bilder der Benutzeroberfläche der App aufnimmt und diese dann analysiert, um verschiedene Komponenten oder Widgets der GUI zu identifizieren. So kann es unterschiedliche Elemente auf dem Bildschirm erkennen, wie zum Beispiel Buttons und Textfelder.
Sobald NiCro diese visuellen Informationen gesammelt hat, kann es die Widgets über verschiedene Geräte abgleichen. Das bedeutet, wenn ein Button auf einem Gerät gedrückt wird, kann NiCro bestimmen, wo dieser Button auf einem anderen Gerät wäre, selbst wenn sich seine Position oder Erscheinung geändert hat.
So funktioniert NiCro
Auf einem hohen Level besteht NiCro aus drei Hauptkomponenten: einer Device Farm, einem Robotersystem und einem Host-Computer.
Device Farm
Die Device Farm ist ein Setup, das verschiedene virtuelle und physische Geräte verbindet. Dadurch kann NiCro echte Geräte simulieren und Apps auf verschiedenen Bildschirmgrössen und Betriebssystemen testen, ohne alle tatsächlichen Geräte zur Hand zu haben. Durch die Verwendung von Emulatoren können Entwickler ihre Apps schnell auf mehreren Setups testen.
Robotersystem
Das Robotersystem sorgt für physische Interaktionen mit realen Geräten. Es beinhaltet einen Roboterarm, der wie ein menschlicher Finger auf den Bildschirm tippt, um Aktionen auszuführen. Neben dem Roboterarm gibt es auch eine hochauflösende Kamera, um Bilder der Benutzeroberfläche der App zu erfassen. Das stellt sicher, dass NiCro genaue visuelle Daten über die getestete App sammeln kann.
Host-Computer
Der Host-Computer ist das Gehirn von NiCro. Er sammelt Daten sowohl von der Device Farm als auch vom Robotersystem. Er verarbeitet die von der Kamera erfassten Bilder, analysiert sie, um GUI-Elemente zu erkennen, und entscheidet, wie Aktionen über verschiedene Geräte hinweg abgeglichen und wiedergegeben werden.
Schritte im Testprozess
Aktionsaufzeichnung und Bildsammlung
Der erste Schritt in NiCros Prozess beinhaltet das Aufzeichnen der auf einem Quellgerät durchgeführten Aktionen und das Erfassen von Bildern von verschiedenen Zielgeräten. Das bedeutet, dass NiCro aufzeichnet, was passiert, während ein Benutzer mit der App interagiert, und Screenshots des Zustands der App auf jedem Gerät macht.
GUI-Widget-Erkennung
Sobald die Bilder gesammelt sind, verwendet NiCro seinen fortschrittlichen GUI-Widget-Detektor, um verschiedene Widgets auf dem Bildschirm zu identifizieren. Das beinhaltet, die Position von Buttons, Textfeldern, Menüs und anderen Komponenten in den Bildern zu finden. Es kann zwischen textbasierten und nicht textbasierten Widgets basierend auf ihrem Erscheinungsbild unterscheiden.
Widget-Informations-Extraktion
Nach der Erkennung extrahiert NiCro detaillierte Informationen über jedes Widget. Dazu gehören dessen Standort, Form, Textinhalt und die umliegenden Widgets. Das Sammeln dieser multimodalen Informationen ermöglicht es NiCro, Widgets besser über Geräte hinweg abzugleichen.
Widget-Abgleich
Mit all den gesammelten Informationen kann NiCro nun beginnen, die Widgets abzugleichen. Es verwendet verschiedene Kriterien, die sich auf Attribute wie Textinhalt und Form konzentrieren, um äquivalente Widgets auf verschiedenen Geräten zu finden. Wenn es eine Übereinstimmung findet, kann es die aufgezeichnete Aktion dann genau auf dem Zielgerät replizieren.
Aktionsausführung
Schliesslich führt NiCro die Aktionen auf den Zielgeräten aus. Das kann bedeuten, einen Button zu tippen oder Text in ein Feld einzugeben. Das geschieht über das Robotersystem für physische Geräte und sendet Mausereignisse für virtuelle Geräte.
Evaluation von NiCro
Die Leistung von NiCro wurde durch eine Reihe von Tests auf verschiedenen Geräten und Apps evaluiert. Dabei wurden verschiedene beliebte Apps aus mehreren Kategorien verwendet, damit NiCro seine Fähigkeit zeigen konnte, mit unterschiedlichen Szenarien umzugehen.
Während des Testens erzielte NiCro hohe Genauigkeitsraten beim Abgleichen von Widgets und Ausführen von Aktionen. Es konnte die meisten Aktionen über verschiedene Geräte hinweg erfolgreich wiedergeben, ohne dass manuelle Anpassungen nötig waren.
Im Vergleich zu früheren Methoden hat NiCro seine Mitbewerber deutlich übertroffen. Bei Aktionen, die auf bestimmten Widgets basierten, erzielte es eine Erfolgsquote von etwa 86% bei der genauen Wiedergabe dieser Aktionen. Im Gegensatz dazu hatten andere Methoden Schwierigkeiten, auch nur die Hälfte dieser Erfolgsrate zu erreichen.
In Fällen, die widgetunabhängige Aktionen wie Scrollen betrafen, zeigte NiCro ebenfalls starke Leistungen. Das ist besonders beeindruckend, weil die Darstellung von Inhalten auf verschiedenen Bildschirmen stark variieren kann. NiCros Fähigkeit, visuelle Intelligenz zu nutzen, um Benutzeroberflächen über Geräte hinweg abzugleichen, führt zu erfolgreicheren Testergebnissen.
Herausforderungen
Obwohl NiCro vielversprechend aussieht, hat es auch seine Herausforderungen. Variationen in den Bildschirmgrössen der Geräte können die Abgleichung von Widgets erschweren. Wenn ein Widget beispielsweise zu gross ist, um auf dem Bildschirm eines kleineren Geräts zu passen, muss NiCro möglicherweise scrollen, um es sichtbar zu machen.
Weitere Herausforderungen ergeben sich aus den Unterschieden im Design der Apps auf verschiedenen Plattformen. Eine App kann beispielsweise auf iOS ganz anders aussehen als auf Android, was den Abgleichsprozess verwirren kann. NiCro muss sich während des Testens an diese Unterschiede anpassen, um genaue Wiedergaben sicherzustellen.
Fazit
NiCro stellt einen signifikanten Fortschritt im Bereich des App-Tests dar. Durch den Fokus auf nicht aufdringliche Methoden ermöglicht es Entwicklern sicherzustellen, dass ihre mobilen Anwendungen auf verschiedenen Geräten richtig funktionieren, ohne in den zugrunde liegenden Code oder Daten eintauchen zu müssen.
Durch die Nutzung von Bilderkennung und Techniken der Computer Vision kann NiCro den Testprozess vereinfachen und die Effizienz in einem Bereich steigern, der dringend Automatisierung benötigt. Die Fähigkeit, genau über Plattformen und Geräte hinweg zu testen, kann zu besseren Benutzererfahrungen und reibungsloseren Abläufen für Entwickler führen.
Wenn die Technologie weiterentwickelt wird, werden wahrscheinlich weitere Verfeinerungen NiCro noch effektiver machen, um die Komplexitäten bei der Geräte- und plattformübergreifenden App-Tests zu bewältigen.
Titel: NiCro: Purely Vision-based, Non-intrusive Cross-Device and Cross-Platform GUI Testing
Zusammenfassung: To ensure app compatibility and smoothness of user experience across diverse devices and platforms, developers have to perform cross-device, cross-platform testing of their apps, which is laborious. There comes a recently increasing trend of using a record and replay approach to facilitate the testing process. However, the graphic user interface (GUI) of an app running on different devices and platforms differs dramatically. This complicates the record and replay process as the presence, appearance and layout of the GUI widgets in the recording phase and replaying phase can be inconsistent. Existing techniques resort to instrumenting into the underlying system to obtain the app metadata for widget identification and matching between various devices. But such intrusive practices are limited by the accessibility and accuracy of the metadata on different platforms. On the other hand, several recent works attempt to derive the GUI information by analyzing the GUI image. Nevertheless, their performance is curbed by the applied preliminary visual approaches and the failure to consider the divergence of the same GUI displayed on different devices. To address the challenge, we propose a non-intrusive cross-device and cross-platform system NiCro. NiCro utilizes the state-of-the-art GUI widget detector to detect widgets from GUI images and then analyses a set of comprehensive information to match the widgets across diverse devices. At the system level, NiCro can interact with a virtual device farm and a robotic arm system to perform cross-device, cross-platform testing non-intrusively. We first evaluated NiCro by comparing its multi-modal widget and GUI matching approach with 4 commonly used matching techniques. Then, we further examined its overall performance on 8 various devices, using it to record and replay 107 test cases of 28 popular apps and the home page to show its effectiveness.
Autoren: Mulong Xie, Jiaming Ye, Zhenchang Xing, Lei Ma
Letzte Aktualisierung: 2023-05-23 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2305.14611
Quell-PDF: https://arxiv.org/pdf/2305.14611
Lizenz: https://creativecommons.org/licenses/by/4.0/
Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.
Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.