TY - GEN
T1 - Repairing Obsolete GUI Test Scripts for Android Applications with Exploration and Backtracking
AU - Ji, Ruihua
AU - Qian, Zhengxuan
AU - Li, Zhong
AU - Zhu, Xiaoqing
AU - Pei, Yu
AU - Pan, Minxue
AU - Zhang, Tian
N1 - Publisher Copyright:
© 2024 ACM.
PY - 2024/7/24
Y1 - 2024/7/24
N2 - Today, Android applications (apps) have become ubiquitous in various aspects of life, highlighting the importance of graphical user interface (GUI) testing in ensuring their quality. To address the high cost associated with manual GUI testing, automated GUI test scripts are commonly developed. However, as Android apps evolve rapidly to offer more services or enhance existing ones, the GUI of these applications undergoes changes between the base and updated versions, leading to the obsolescence of existing GUI test scripts and increased maintenance costs. While existing repair approaches effectively manage minor GUI changes by replacing the locators of relevant widgets, they face challenges in addressing complex updates that bring significant GUI changes, thereby altering the interaction logic. This paper proposes a novel GUI test script repair approach to tackle these challenges. The approach utilizes an exploration and backtracking method to address the substantial GUI changes introduced by complex updates. By controlling the exploration space through exploration priority and pruning techniques, the approach achieves high effectiveness in repairing obsolete GUI tests caused by complex updates. We implemented our approach into a tool and evaluated its effectiveness and efficiency on 22 open-source Android apps and a total of 122 obsolete GUI test scripts. The experimental results showed that our approach can successfully repair 90% of the obsolete GUI test scripts.
AB - Today, Android applications (apps) have become ubiquitous in various aspects of life, highlighting the importance of graphical user interface (GUI) testing in ensuring their quality. To address the high cost associated with manual GUI testing, automated GUI test scripts are commonly developed. However, as Android apps evolve rapidly to offer more services or enhance existing ones, the GUI of these applications undergoes changes between the base and updated versions, leading to the obsolescence of existing GUI test scripts and increased maintenance costs. While existing repair approaches effectively manage minor GUI changes by replacing the locators of relevant widgets, they face challenges in addressing complex updates that bring significant GUI changes, thereby altering the interaction logic. This paper proposes a novel GUI test script repair approach to tackle these challenges. The approach utilizes an exploration and backtracking method to address the substantial GUI changes introduced by complex updates. By controlling the exploration space through exploration priority and pruning techniques, the approach achieves high effectiveness in repairing obsolete GUI tests caused by complex updates. We implemented our approach into a tool and evaluated its effectiveness and efficiency on 22 open-source Android apps and a total of 122 obsolete GUI test scripts. The experimental results showed that our approach can successfully repair 90% of the obsolete GUI test scripts.
KW - Android testing
KW - GUI analysis
KW - test script repair
UR - https://www.scopus.com/pages/publications/85200882623
U2 - 10.1145/3671016.3671377
DO - 10.1145/3671016.3671377
M3 - Conference article published in proceeding or book
AN - SCOPUS:85200882623
T3 - ACM International Conference Proceeding Series
SP - 51
EP - 60
BT - 15th Asia-Pacific Symposium on Internetware, Internetware 2024 - Proceedings
PB - Association for Computing Machinery
T2 - 15th Asia-Pacific Symposium on Internetware, Internetware 2024
Y2 - 24 July 2024 through 26 July 2024
ER -