Évaluation des modèles de langage pour les tests d'interface graphique dans les applications Android
Cette étude évalue les grands modèles de langage pour générer des entrées de texte dans les applications mobiles.
― 8 min lire
Table des matières
Les applis mobiles font partie intégrante de notre quotidien. Elles nous aident à faire plein de trucs comme rester en contact sur les réseaux sociaux, faire des achats ou gérer nos finances. Vu leur importance, s'assurer de la qualité de ces applis est super important. Une des manières de tester ces applis, c'est à travers le test de l'interface graphique (GUI), qui vérifie comment les utilisateurs interagissent avec l'appli.
Quand on teste des applis mobiles, il faut souvent générer des entrées de texte efficaces. Certaines parties de l'appli demandent aux utilisateurs de taper des infos pour passer d'une page à l'autre, ce qui complique la tâche des testeurs pour explorer complètement l'appli. Récemment, les grands modèles de langage (LLM) ont montré une grande capacité à générer du texte, ce qui a ouvert des discussions sur leur potentiel d'assistance pour les tests GUI.
Cette étude examine combien neuf LLM avancés sont efficaces pour produire des entrées de texte pour les composants de saisie de texte dans des applis Android. On a collecté des données de plusieurs applis Android et on a testé les LLM pour voir comment ils génèrent des entrées de texte pour différentes pages d'interface.
Contexte
Les applis mobiles sont devenues indispensables dans nos vies grâce à leur fonctionnalité et leur commodité. À la fin de 2023, il y a plus de 2,43 millions d'applis Android disponibles sur Google Play, répondant à une large gamme de besoins des utilisateurs. Toutefois, s'assurer de la qualité de ces applis reste un défi pour les testeurs. Comme les applis mobiles dépendent énormément des interfaces graphiques, le test efficace des GUI est devenu une méthode essentielle pour vérifier le bon fonctionnement de ces applications.
Bien que le test manuel soit couramment pratiqué, le test automatisé des GUI est souvent plus efficace et peut gérer des scénarios complexes. Diverses approches automatisées ont été proposées pour aider au test des GUI mobiles, y compris des méthodes basées sur des modèles et sur l'apprentissage. Même si ces méthodes sont efficaces, elles négligent souvent les interactions complexes, comme la génération de saisies de texte, qui jouent un rôle crucial dans l'amélioration de l'expérience utilisateur.
Les saisies de texte sont des éléments clés des GUI mobiles, car elles permettent des interactions plus détaillées comparé à des actions simples comme glisser ou cliquer. Selon des recherches, un nombre significatif d'applis nécessitent des saisies de texte pour que les utilisateurs passent à la page suivante, ce qui peut limiter l'exhaustivité des tests.
Les méthodes automatisées actuelles sont souvent limitées pour générer des saisies de texte pertinentes, produisant souvent des sorties aléatoires qui ne correspondent pas au contexte. Par exemple, avec de nombreux outils de test automatisés, des chaînes de caractères aléatoires comme "hello world" peuvent être générées au lieu d'infos contextuellement pertinentes.
Les LLM ont émergé comme une solution à ces défis. Entraînés sur d'énormes quantités de données textuelles, ils peuvent comprendre le langage naturel et créer des saisies de texte appropriées au contexte, ce qui peut être utile dans divers domaines, y compris le test de logiciels. Cependant, des défis pratiques persistent dans l'application des LLM pour de vrais tests GUI, notamment en ce qui concerne la confidentialité et la sécurité.
Objectif de l'étude
Cette étude vise à examiner l'efficacité de différents LLM dans la génération de saisies de texte pour le test automatisé dans les applis Android. Elle se concentre sur l'évaluation de la capacité de ces modèles à produire des saisies de texte utilisables qui répondent aux exigences des composants d'interface utilisateur. Cette recherche est guidée par plusieurs questions, notamment :
- Les saisies de texte générées sont-elles cohérentes avec le contexte des pages UI ?
- Comment différents testeurs évaluent-ils la qualité de ces saisies de texte ?
- Les saisies de texte générées par les LLM peuvent-elles aider à découvrir de vrais bugs ?
- Quelles informations les testeurs peuvent-ils tirer de l'utilisation des LLM pour le test Android ?
Méthodologie de recherche
Pour mener l'étude, 114 pages UI provenant de 62 applis Android open-source ont été analysées. Les applis ont été récupérées sur des plateformes connues pour héberger des projets open-source. Ces pages UI ont été choisies pour assurer une variété de composants de saisie de texte pour lesquels les LLM devraient générer des entrées pertinentes.
La recherche a impliqué plusieurs phases, y compris la collecte d'infos contextuelles à partir des pages UI pour créer des prompts pour les LLM. Chaque modèle a ensuite été testé pour voir à quel point il pouvait générer des saisies de texte pertinentes basées sur ces informations.
Résultats et conclusions
Efficacité des LLM
Les résultats ont montré que certains LLM surpassaient d'autres dans la génération d'entrées de texte efficaces. Les modèles de la série GPT ont montré des performances particulièrement fortes, tandis que d'autres modèles, comme Spark et GLM-4V, ont eu plus de difficultés. Les taux de passage de page, qui mesurent à quel point l'entrée générée permettait aux utilisateurs de progresser à la page UI suivante, variaient largement entre les modèles.
- Les meilleurs modèles ont atteint environ 66 % de taux de passage de page, tandis que les modèles plus faibles n'ont atteint que 10 %.
- Une meilleure performance a été observée lorsque les Informations Contextuelles utilisées pour générer les prompts étaient plus complètes.
Cohérence et qualité
Les saisies de texte générées ont également été évaluées en fonction de leur cohérence avec le contexte des pages UI. On a constaté que les saisies qui s'alignaient bien avec le contexte offraient de meilleures chances de passer à travers les pages UI. Des saisies de meilleure qualité, appropriées au contexte, ont entraîné de meilleurs résultats de test.
Les testeurs ont également été invités à évaluer la qualité des saisies de texte générées par les LLM. Les modèles GPT ont encore une fois reçu les meilleures notes, tandis que Spark et GLM-4V ont été mal notés. Les testeurs ont estimé que la plupart des saisies générées étaient de qualité "neutre", suggérant une marge d'amélioration.
Détection de bugs
Une des découvertes encourageantes de l'étude était que les saisies de texte générées par les LLM pouvaient effectivement révéler de vrais bugs dans les applis testées. Les modèles ont aidé à détecter des problèmes que le test manuel aurait pu manquer, ce qui est un signe prometteur pour leur application future dans l'assurance qualité.
Perspectives pour la communauté des testeurs
De la recherche, plusieurs perspectives ont été tirées qui pourraient bénéficier à la communauté des testeurs Android :
- Les LLM peuvent grandement aider à générer des saisies de texte, mais ne doivent pas être totalement fiables.
- Il est crucial d'extraire des informations complètes et pertinentes pour construire des prompts efficaces pour une meilleure génération d'entrées.
- Choisir le bon LLM est essentiel en raison de l'efficacité variable entre les différents modèles.
- Il y a un besoin clair d'améliorer la performance des LLM existants dans le contexte des tests.
- Des systèmes de support automatisés pour les LLM peuvent améliorer leur praticité dans les scénarios de test.
Conclusion
L'étude démontre que les LLM ont un potentiel énorme pour la génération de saisies de texte dans les tests automatisés de GUI. Bien que certains modèles, notamment ceux de la série GPT, aient montré de bonnes performances, d'autres ont révélé des lacunes significatives. Pour améliorer le cadre de test, des améliorations des LLM, ainsi qu'une meilleure extraction d'informations contextuelles, seront nécessaires.
Les résultats suggèrent qu'une intégration plus profonde des LLM dans les flux de travail de test Android pourrait donner de meilleurs résultats, au bénéfice de la communauté des testeurs. L'exploration continue des capacités des LLM et des approches pour gérer de manière sécurisée les données sensibles sera essentielle pour les futures recherches dans ce domaine.
Travaux futurs
À l'avenir, d'autres études se concentreront sur le perfectionnement des performances des LLM et le développement de méthodes pour extraire plus d'informations contextuelles pour une construction de prompts efficace. La recherche future pourrait également évaluer l'impact des entrées multimodales pour aider au test des GUI Android et s'efforcer d'établir des systèmes de support automatisés plus robustes pour utiliser les LLM dans des environnements de test réels.
Titre: Large Language Models for Mobile GUI Text Input Generation: An Empirical Study
Résumé: 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.
Auteurs: Chenhui Cui, Tao Li, Junjie Wang, Chunyang Chen, Dave Towey, Rubing Huang
Dernière mise à jour: 2024-04-13 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2404.08948
Source PDF: https://arxiv.org/pdf/2404.08948
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- 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