一句话:提出动态优化 GUI 抽象模型的 Android 自动化测试方法,并实现工具 APE,显著提升覆盖率与崩溃发现能力。
现有基于模型的 Android GUI 测试通常依赖静态抽象模型来引导测试,模型在测试过程中不会演化,因而往往不够精确,限制了测试效果。本文提出一种全自动的模型驱动测试方法:在测试过程中利用运行时信息动态优化 GUI 模型,即对模型进行抽象与精化,使模型逐步逼近应用的真实行为结构。模型精度的提升直接带来更强的测试有效性。作者将该技术实现为实用工具 APE,并在 Google Play 上 15 个大型常用应用上与当前最先进的 Android GUI 测试工具比较,APE 在测试覆盖率和检测到的唯一崩溃数上均更优。为验证其有效性与可用性,作者又在 1,316 个流行应用上开展评估,共发现 537 个唯一崩溃;在提交的 38 个崩溃报告中,13 个已被修复,5 个得到确认。
This paper introduces a new, fully automated modelbased approach for effective testing of Android apps. Different from existing model-based approaches that guide testing with a static GUI model (i.e., the model does not evolve its abstraction during testing, and is thus often imprecise), our approach dynamically optimizes the model by leveraging the runtime information during testing. This capability of model evolution significantly improves model precision, and thus dramatically enhances the testing effectiveness compared to existing approaches, which our evaluation confirms.We have realized our technique in a practical tool, APE. On 15 large, widely-used apps from the Google Play Store, APE outperforms the state-of-the-art Android GUI testing tools in terms of both testing coverage and the number of detected unique crashes. To further demonstrate APE’s effectiveness and usability, we conduct another evaluation of APE on 1,316 popular apps, where it found 537 unique crashes. Out of the 38 reported crashes, 13 have been fixed and 5 have been confirmed.
@inproceedings{GuSMC0YZLS19,
title = {Practical GUI Testing of Android Applications Via Model Abstraction and Refinement},
author = {Tianxiao Gu and Chengnian Sun and Xiaoxing Ma and Chun Cao and Chang Xu and Yuan Yao and Qirun Zhang and Jian Lu and Zhendong Su},
booktitle = {ICSE},
year = {2019},
doi = {10.1109/icse.2019.00042}
}