Badge: Prioritizing UI Events with Hierarchical Multi-Armed Bandits for Automated UI Testing.

Dezhi Ran,Hao Wang,Wenyu Wang,Tao Xie
DOI: https://doi.org/10.1109/icse48619.2023.00083
2023-01-01
Abstract:To assure high quality of mobile applications (apps for short), automated UI testing triggers events (associated with UI elements on app UIs) without human intervention, aiming to maximize code coverage and find unique crashes. To achieve high test effectiveness, automated UI testing prioritizes a UI event based on its exploration value (e.g., the increased code coverage of future exploration rooted from the UI event). Various strategies have been proposed to estimate the exploration value of a UI event without considering its exploration diversity (reflecting the variance of covered code entities achieved by explorations rooted from this UI event across its different triggerings), resulting in low test effectiveness, especially on complex mobile apps. To address the preceding problem, in this paper, we propose a new approach named BADGE to prioritize UI events considering both their exploration values and exploration diversity for effective automated UI testing. In particular, we design a hierarchical multi-armed bandit model to effectively estimate the exploration value and exploration diversity of a UI event based on its historical explorations along with historical explorations rooted from UI events in the same UI group. We evaluate BADGE on 21 highly popular industrial apps widely used by previous related work. Experimental results show that BADGE outperforms state-of-the-art/practice tools with 18%-146% relative code coverage improvement and finding 1.19-5.20x unique crashes, demonstrating the effectiveness of BADGE. Further experimental studies confirm the benefits brought by BADGE's individual algorithms.
What problem does this paper attempt to address?