AUITestAgent: Automatic Requirements Oriented GUI Function Testing

Yongxiang Hu,Xuan Wang,Yingchuan Wang,Yu Zhang,Shiyu Guo,Chaoyi Chen,Xin Wang,Yangfan Zhou
2024-07-12
Abstract: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.
Software Engineering
What problem does this paper attempt to address?
The paper introduces AUITestAgent, an automatic and natural language-driven tool for GUI functionality testing in mobile applications. Test engineers typically ensure the normal functioning of GUI by writing test requirements in natural language. However, manual testing and script-based methods require a significant amount of effort due to the large number of GUI pages and rapid iterations in modern mobile applications. AUITestAgent is able to extract GUI interactions from test requirements and validate them using a multidimensional data extraction strategy, thus automating the entire GUI interaction and functionality validation process. Experimental results show that AUITestAgent outperforms existing tools in terms of generated GUI interaction quality and validation accuracy. It has also detected new functional errors in the actual deployment at Meituan, demonstrating its practicality. The objective of this research is to reduce the manual workload in natural language-driven GUI testing.