Towards Practical GUI Test Script Mutation for Mobile Apps
Bachelor & Master Thesis
Automated testing using GUI test scripts is a widely adopted practice in mobile app testing. However, developing and maintaining these scripts requires significant human effort and resources. In recent years, researchers have explored ways to maximize the utilization of existing GUI test script assets, such as script migration [1]. Yet, due to the inherent complexity of GUI structures, no systematic and effective method currently exists for generating a large number of valid test scripts through mutation. A viable mutation-based approach could significantly reduce the cost of GUI test script development and maintenance while improving test coverage.
This project aims to develop a practical and effective GUI test script mutation method. By constructing a transition graph for the application [2], we want to map original test scripts to paths within the graph and perform path mutations using graph traversal algorithms and large language models. For the generated test script variants, we want to employ large language models and other techniques to eliminate duplicates, classify equivalence classes, and assess their value [3]. We also want to explore further processing, including usability validation, classification, and prioritization, establishing a comprehensive and practical GUI test script mutation framework that aligns with real-world business scenarios.
Required knowledge:
Python programming; understanding of LLMs and relevant technologies; understanding of automated GUI testing techniques for mobile apps
What you will do may include:
- Develop a transition graph for the mobile app under test.
- Establish a mapping between the original test scripts and paths within the transition graph.
- Design mutation operators and perform script mutation based on the transition graph.
- Conduct post-processing on the mutated scripts, including usability validation, value assessment, classification and prioritization.
For more details about this topic, please contact Dr. Shengcheng Yu (shengcheng.yu[at]tum.de).
Reference:
[1] Farnaz Behrang and Alessandro Orso. Test Migration Between Mobile Apps with Similar Functionality 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 54-65.
[2] Shengqian Yang, Haowei Wu, Hailong Zhang, Yan Wang, Chandrasekar Swaminathan, Dacong Yan and Atanas Rountev. Static window transition graphs for Android. Autom Softw Eng 25, 833–873 (2018).
[3] Shengcheng Yu, Chunrong Fang, Jia Liu and Zhenyu Chen. Test Script Intention Generation for Mobile Application via GUI Image and Code Understanding. https://arxiv.org/abs/2107.05165.