Practical GUI Testing of Android Applications Via Model Abstraction and Refinement

Authors: Tianxiao Gu Chengnian Sun Xiaoxing Ma Chun Cao Chang Xu Yuan Yao Qirun Zhang Jian Lu Zhendong Su

Venue: ICSE   2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 269-280, 2019

Year: 2019

Abstract: 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.

BibTeX:

@inproceedings{tianxiaogu2019pgtoaavmaar,
    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",
    title = "Practical GUI Testing of Android Applications Via Model Abstraction and Refinement",
    year = "2019",
    pages = "269-280",
    booktitle = "Proceedings of 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)"
}

Plain Text:

Tianxiao Gu, Chengnian Sun, Xiaoxing Ma, Chun Cao, Chang Xu, Yuan Yao, Qirun Zhang, Jian Lu, and Zhendong Su, "Practical GUI Testing of Android Applications Via Model Abstraction and Refinement," 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 269-280