Bewertung von Sprachmodellen für GUI-Tests in Android-Apps
Diese Studie bewertet grosse Sprachmodelle zur Generierung von Texteingaben in mobilen Anwendungen.
― 6 min Lesedauer
Inhaltsverzeichnis
Mobile Anwendungen sind ein wichtiger Teil unseres Alltags. Sie helfen uns, verschiedene Aufgaben zu erledigen, wie soziale Netzwerke, Einkaufen oder Finanzmanagement. Angesichts ihrer Bedeutung ist es entscheidend, die Qualität dieser Apps sicherzustellen. Eine Möglichkeit, diese Apps zu testen, ist das GUI (Graphische Benutzeroberfläche)-Testing, das überprüft, wie gut Nutzer mit der App interagieren können.
Beim Testen von mobilen Apps ist es notwendig, effektive Texteingaben zu generieren. Einige Teile der App erfordern, dass Nutzer Informationen eintippen, um zwischen Seiten zu navigieren, was es für Tester schwierig macht, die App vollständig zu erkunden. In letzter Zeit haben grosse Sprachmodelle (LLMs) gezeigt, dass sie gut im Generieren von Text sind, was zu Diskussionen über ihr Potenzial zur Unterstützung von GUI-Tests geführt hat.
Diese Studie untersucht, wie effektiv neun fortgeschrittene LLMs bei der Erstellung von Texteingaben für Texteingabekomponenten in Android-Apps sind. Wir haben Daten aus zahlreichen Android-Apps gesammelt und die LLMs getestet, um zu sehen, wie gut sie Texteingaben für verschiedene UI-Seiten generieren.
Hintergrund
Mobile Apps sind aufgrund ihrer Funktionalität und Bequemlichkeit unverzichtbar geworden. Ende 2023 gibt es über 2,43 Millionen Android-Apps im Google Play Store, die eine Vielzahl von Nutzerbedürfnissen bedienen. Die Sicherstellung der Qualität dieser Apps bleibt jedoch eine Herausforderung für Tester. Da mobile Apps stark auf GUIS angewiesen sind, ist effektives GUI-Testing eine wichtige Methode, um die Richtigkeit dieser Anwendungen zu überprüfen.
Obwohl manuelle Tests häufig durchgeführt werden, ist automatisiertes GUI-Testing oft effektiver und kann komplexe Szenarien bewältigen. Verschiedene automatisierte Ansätze wurden vorgeschlagen, um das mobile GUI-Testing zu unterstützen, einschliesslich modellbasierter und lernbasierter Methoden. Zwar sind diese Methoden effektiv, aber sie übersehen oft komplizierte Interaktionen wie die Generierung von Texteingaben, die eine entscheidende Rolle bei der Verbesserung der Benutzererfahrung spielen.
Texteingaben sind entscheidende Elemente mobiler GUIs, da sie detailliertere Interaktionen im Vergleich zu einfachen Aktionen wie Wischen oder Klicken ermöglichen. Forschungsergebnisse zeigen, dass eine erhebliche Anzahl von Apps Texteingaben erfordert, damit Nutzer zur nächsten Seite wechseln können, was die Gründlichkeit des Tests einschränken kann.
Aktuelle automatisierte Methoden sind oft unzureichend, wenn es darum geht, relevante Texteingaben zu erzeugen, da sie häufig zufällige Ausgaben generieren, die nicht mit dem Kontext übereinstimmen. Zum Beispiel werden mit vielen automatisierten Testtools zufällige Zeichenfolgen wie "hello world" generiert, anstatt kontextuell relevante Informationen.
LLMs sind als Lösung für diese Herausforderungen aufgetaucht. Sie sind auf riesigen Mengen an Textdaten trainiert und können natürliche Sprache verstehen und kontextuell passende Texteingaben erstellen, die in verschiedenen Bereichen nützlich sein können, einschliesslich Softwaretests. Praktische Herausforderungen bleiben jedoch bei der Anwendung von LLMs für echte GUI-Tests, insbesondere in Bezug auf Datenschutz und Sicherheit.
Ziel der Studie
Diese Studie zielt darauf ab, die Effektivität verschiedener LLMs bei der Generierung von Texteingaben für automatisierte Tests in Android-Apps zu untersuchen. Der Fokus liegt darauf, zu bewerten, wie gut diese Modelle brauchbare Texteingaben erzeugen können, die den Anforderungen der UI-Komponenten entsprechen. Diese Forschung wird von mehreren Fragen geleitet, darunter:
- Sind die generierten Texteingaben konsistent mit dem Kontext der UI-Seiten?
- Wie bewerten verschiedene Tester die Qualität dieser Texteingaben?
- Können LLM-generierte Texteingaben helfen, reale Bugs zu entdecken?
- Welche Erkenntnisse können Tester aus der Verwendung von LLMs für Android-Tests gewinnen?
Forschungsmethodik
Um die Studie durchzuführen, wurden 114 UI-Seiten aus 62 Open-Source-Android-Apps analysiert. Die Apps wurden von Plattformen abgerufen, die für die Bereitstellung von Open-Source-Projekten bekannt sind. Diese UI-Seiten wurden ausgewählt, um eine Reihe von Texteingabekomponenten zu gewährleisten, für die die LLMs relevante Eingaben generieren sollten.
Die Forschung umfasste mehrere Phasen, darunter das Sammeln von Kontextinformationen von den UI-Seiten, um Eingabeaufforderungen für die LLMs zu erstellen. Jedes Modell wurde dann getestet, um zu sehen, wie gut es relevante Texteingaben basierend auf diesen Informationen generieren konnte.
Ergebnisse und Befunde
Effektivität von LLMs
Die Ergebnisse zeigten, dass bestimmte LLMs in der Generierung effektiver Texteingaben besser abschnitten als andere. Modelle aus der GPT-Serie zeigten besonders starke Leistungen, während einige andere Modelle, wie Spark und GLM-4V, deutlich schlechter abschnitten. Die Page-Pass-Through-Raten, ein Mass dafür, wie oft die generierte Eingabe es Nutzern erlaubte, zur nächsten UI-Seite zu gelangen, variierten stark zwischen den Modellen.
- Die bestbewerteten Modelle erreichten etwa 66 % bei den Page-Pass-Through-Raten, während die schwächeren Modelle bis auf 10 % fielen.
- Eine bessere Leistung wurde festgestellt, wenn die kontextuellen Informationen, die zur Erstellung der Eingabeaufforderungen verwendet wurden, vollständiger waren.
Konsistenz und Qualität
Die generierten Texteingaben wurden auch auf ihre Konsistenz mit dem Kontext der UI-Seiten bewertet. Es stellte sich heraus, dass Eingaben, die gut mit dem Kontext übereinstimmten, höhere Chancen hatten, die UI-Seiten zu passieren. Höhere Qualität und kontextuell angemessene Eingaben führten zu besseren Testergebnissen.
Tester wurden auch gebeten, die Qualität der von den LLMs erzeugten Texteingaben zu bewerten. Die GPT-Modelle erhielten erneut die höchsten Bewertungen, während Spark und GLM-4V schlecht abschnitten. Die Tester waren der Meinung, dass die meisten generierten Eingaben in der Qualität "neutral" waren, was Raum für Verbesserungen andeutet.
Fehlererkennung
Eine der ermutigenden Erkenntnisse der Studie war, dass LLM-generierte Texteingaben tatsächlich reale Bugs in den getesteten Apps aufdecken konnten. Die Modelle trugen dazu bei, Probleme zu erkennen, die bei manuellen Tests möglicherweise übersehen wurden, was ein vielversprechendes Zeichen für ihre zukünftige Anwendung in der Qualitätssicherung ist.
Erkenntnisse für die Testgemeinschaft
Aus der Forschung wurden mehrere Erkenntnisse gewonnen, die der Android-Testgemeinschaft zugutekommen könnten:
- LLMs können bei der Generierung von Texteingaben erheblich helfen, sollten jedoch nicht vollständig allein verlassen werden.
- Es ist entscheidend, vollständige und relevante Informationen zu extrahieren, um effektive Eingabeaufforderungen für eine bessere Eingabegenerierung zu erstellen.
- Die Auswahl des richtigen LLMs ist wichtig, da die Effektivität zwischen den verschiedenen Modellen variiert.
- Es besteht ein klarer Bedarf, die Leistung bestehender LLMs im Kontext des Testens zu verbessern.
- Automatisierte Unterstützungssysteme für LLMs können ihre Praktikabilität in Testszenarien erhöhen.
Fazit
Die Studie zeigt, dass LLMs grosses Potenzial für die Generierung von Texteingaben im automatisierten GUI-Testing haben. Während einige Modelle, insbesondere die aus der GPT-Serie, starke Leistungen zeigten, offenbarten andere erhebliche Lücken. Um das Testframework zu verbessern, sind Verbesserungen bei LLMs sowie eine bessere Extraktion kontextueller Informationen erforderlich.
Die Ergebnisse deuten darauf hin, dass eine tiefere Integration von LLMs in Android-Test-Workflows zu besseren Ergebnissen führen kann, was der Testgemeinschaft zugutekommt. Eine kontinuierliche Erforschung der LLM-Fähigkeiten und Ansätze zum sicheren Umgang mit sensiblen Daten wird für zukünftige Forschungen in diesem Bereich unerlässlich sein.
Zukünftige Arbeiten
In Zukunft werden weitere Studien darauf abzielen, die Leistung von LLMs zu verfeinern und Methoden zur Extraktion von mehr kontextuellen Informationen zur effektiven Erstellung von Eingabeaufforderungen zu entwickeln. Zukünftige Forschungen könnten auch die Auswirkungen multimodaler Eingaben bei der Unterstützung des Android-GUI-Testings bewerten und versuchen, robustere automatisierte Unterstützungssysteme für die Nutzung von LLMs in realen Testumgebungen zu etablieren.
Titel: Large Language Models for Mobile GUI Text Input Generation: An Empirical Study
Zusammenfassung: Mobile applications (apps) have become an essential part of our daily lives, making ensuring their quality an important activity. GUI testing, a quality assurance method, has frequently been used for mobile apps. When conducting GUI testing, it is important to generate effective text inputs for the text-input components. Some GUIs require these text inputs to move from one page to the next, which remains a challenge to achieving complete UI exploration. Recently, Large Language Models (LLMs) have shown excellent text-generation capabilities. Among the LLMs, OpenAI's GPT series has been widely discussed and used. However, it may not be possible to use these LLMs for GUI testing actual mobile apps, due to the security and privacy issues related to the production data. Therefore, it is necessary to explore the potential of different LLMs to guide text-input generation in mobile GUI testing. This paper reports on a large-scale empirical study that extensively investigates the effectiveness of nine state-of-the-art LLMs in Android text-input generation for UI pages. We collected 114 UI pages from 62 open-source Android apps and extracted contextual information from the UI pages to construct prompts for LLMs to generate text inputs. The experimental results show that some LLMs can generate relatively more effective and higher-quality text inputs, achieving a 50.58% to 66.67% page-pass-through rate, and even detecting some real bugs in open-source apps. Compared with the GPT-3.5 and GPT-4 LLMs, other LLMs reduce the page-pass-through rates by 17.97% to 84.79% and 21.93% to 85.53%, respectively. We also found that using more complete UI contextual information can increase the page-pass-through rates of LLMs for generating text inputs. In addition, we also describe six insights gained regarding the use of LLMs for Android testing: These insights will benefit the Android testing community.
Autoren: Chenhui Cui, Tao Li, Junjie Wang, Chunyang Chen, Dave Towey, Rubing Huang
Letzte Aktualisierung: 2024-04-13 00:00:00
Sprache: English
Quell-URL: https://arxiv.org/abs/2404.08948
Quell-PDF: https://arxiv.org/pdf/2404.08948
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.
Referenz Links
- https://play.google.com/store/apps/details?id=com.google.android.apps.maps
- https://f-droid.org/
- https://platform.openai.com&
- https://platform.openai.com
- https://api.baichuan-ai.com
- https://spark-api.xf-yun.com
- https://dashscope.aliyuncs.com
- https://www.zhipuai.cn
- https://huggingface.co/
- https://www.surveyplus.cn/lite/5902111016029184
- https://www.example.com/example
- https://example.com
- https://www.example.com
- https://github.com/barbeau/gpstest/issues/666
- https://github.com/chr56/Phonograph_Plus/issues/149
- https://github.com/SecUSo/privacy-friendly-qr-scanner/issues/218
- https://github.com/commons-app/apps-android-commons/issues/5501
- https://github.com/michaelWuensch/BitBanana/issues/73
- https://www.imgur.com/example.jpg
- https://imgur.com/image1.jpg
- https://imgur.com/gallery/sample-link
- https://imgur.com/a/MjAwNg
- https://imgur.com/a/LQ6oS
- https://i.imgur.com/example-identifier
- https://imgur.com/gallery/abc123