AUITestAgent: Automatisch Functioneel GUI-testen op Basis van Eisen
AUITestAgent: Automatic Requirements Oriented GUI Function Testing
July 12, 2024
Auteurs: Yongxiang Hu, Xuan Wang, Yingchuan Wang, Yu Zhang, Shiyu Guo, Chaoyi Chen, Xin Wang, Yangfan Zhou
cs.AI
Samenvatting
De Grafische Gebruikersinterface (GUI) is de manier waarop gebruikers interacteren met mobiele apps. Om ervoor te zorgen dat deze correct functioneert, moeten testengineers verifiëren dat deze werkt zoals bedoeld, op basis van testvereisten die doorgaans in natuurlijke taal zijn geschreven. Hoewel veelgebruikte methoden zoals handmatig testen en scriptgebaseerde methoden effectief zijn, vergen ze aanzienlijke inspanning vanwege het grote aantal GUI-pagina's en de snelle iteraties in moderne mobiele apps. Dit artikel introduceert AUITestAgent, het eerste automatische, natuurlijke taal-gestuurde GUI-testtool voor mobiele apps, dat in staat is om het hele proces van GUI-interactie en functieverificatie volledig te automatiseren. Aangezien testvereisten doorgaans interactiecommando's en verificatieorakels bevatten, kan AUITestAgent GUI-interacties uit de testvereisten extraheren via dynamisch georganiseerde agents. Vervolgens gebruikt AUITestAgent een multidimensionale data-extractiestrategie om gegevens die relevant zijn voor de testvereisten uit het interactiespoor te halen en verificatie uit te voeren. Experimenten op aangepaste benchmarks tonen aan dat AUITestAgent bestaande tools overtreft in de kwaliteit van gegenereerde GUI-interacties en een nauwkeurigheid van 94% bereikte bij verificaties. Bovendien heeft een praktijkimplementatie bij Meituan de praktische bruikbaarheid van AUITestAgent aangetoond, waarbij het 4 nieuwe functionele bugs detecteerde tijdens 10 regressietests in twee maanden.
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.