AUITestAgent: Test Funzionale Automatico Orientato ai Requisiti per Interfacce Grafiche
AUITestAgent: Automatic Requirements Oriented GUI Function Testing
July 12, 2024
Autori: Yongxiang Hu, Xuan Wang, Yingchuan Wang, Yu Zhang, Shiyu Guo, Chaoyi Chen, Xin Wang, Yangfan Zhou
cs.AI
Abstract
L'interfaccia grafica utente (GUI) è il mezzo attraverso cui gli utenti interagiscono con le applicazioni mobili. Per garantirne il corretto funzionamento, gli ingegneri di testing devono assicurarsi che essa operi come previsto, basandosi su requisiti di test tipicamente scritti in linguaggio naturale. Sebbene i metodi di testing manuale e basati su script, ampiamente adottati, siano efficaci, richiedono uno sforzo considerevole a causa del vasto numero di pagine GUI e delle rapide iterazioni nelle moderne applicazioni mobili. Questo articolo presenta AUITestAgent, il primo strumento automatico di testing GUI per applicazioni mobili guidato dal linguaggio naturale, in grado di automatizzare completamente l'intero processo di interazione con la GUI e di verifica delle funzionalità. Poiché i requisiti di test contengono tipicamente comandi di interazione e oracoli di verifica, AUITestAgent può estrarre le interazioni GUI dai requisiti di test attraverso agenti organizzati dinamicamente. Successivamente, AUITestAgent utilizza una strategia di estrazione dati multidimensionale per recuperare le informazioni rilevanti ai requisiti di test dalla traccia di interazione e procedere alla verifica. Esperimenti su benchmark personalizzati dimostrano che AUITestAgent supera gli strumenti esistenti nella qualità delle interazioni GUI generate e raggiunge un'accuratezza delle verifiche del 94%. Inoltre, il dispiegamento sul campo in Meituan ha mostrato l'effettiva utilità di AUITestAgent, con il rilevamento di 4 nuovi bug funzionali durante 10 test di regressione in due mesi.
English
The Graphical User Interface (GUI) is how users interact with mobile apps. To
ensure it functions properly, testing engineers have to make sure it functions
as intended, based on test requirements that are typically written in natural
language. While widely adopted manual testing and script-based methods are
effective, they demand substantial effort due to the vast number of GUI pages
and rapid iterations in modern mobile apps. This paper introduces AUITestAgent,
the first automatic, natural language-driven GUI testing tool for mobile apps,
capable of fully automating the entire process of GUI interaction and function
verification. Since test requirements typically contain interaction commands
and verification oracles. AUITestAgent can extract GUI interactions from test
requirements via dynamically organized agents. Then, AUITestAgent employs a
multi-dimensional data extraction strategy to retrieve data relevant to the
test requirements from the interaction trace and perform verification.
Experiments on customized benchmarks demonstrate that AUITestAgent outperforms
existing tools in the quality of generated GUI interactions and achieved the
accuracy of verifications of 94%. Moreover, field deployment in Meituan has
shown AUITestAgent's practical usability, with it detecting 4 new functional
bugs during 10 regression tests in two months.