一句话:用深度学习从应用截图学习有效 GUI 交互模型,实现黑盒、跨平台的智能 GUI 输入生成,显著提升复杂 UI 的测试爬取效果。
尽管 Android 测试工具众多,Google Monkey 仍因黑盒特性而成为实践标准,但其输入生成本质上是随机测试,效率低下,尤其对 UI 复杂、需要精细输入的应用。本文提出 Deep GUI:仅给定应用截图,先用深度学习构建有效 GUI 交互模型,再据此为被测应用生成有效输入,全程无需探知实现细节;由于数据收集、训练与推理均与平台无关,学到的模型还可迁移到其他平台。作者通过扩展 Google Monkey 实现原型工具 Monkey++,并针对 Android 应用的爬取能力进行实验评估。结果表明,在应用 UI 复杂、需要复杂输入的场景下,Monkey++ 相比 Google Monkey 有显著提升;同时,Deep GUI 推断出的模型无需重新训练即可跨平台复用,有效生成 GUI 输入。
Despite the proliferation of Android testing tools, Google Monkey has remained the de facto standard for practitioners. The popularity of Google Monkey is largely due to the fact that it is a black-box testing tool, making it widely applicable to all types of Android apps, regardless of their underlying implementation details. An important drawback of Google Monkey, however, is the fact that it uses the most naive form of test input generation technique, i.e., random testing. In this work, we present Deep GUI, an approach that aims to complement the benefits of black-box testing with a more intelligent form of GUI input generation. Given only screenshots of apps, Deep GUI first employs deep learning to construct a model of valid GUI interactions. It then uses this model to generate effective inputs for an app under test without the need to probe its implementation details. Moreover, since the data collection, training, and inference processes are performed independent of the platform, the model inferred by Deep GUI has application for testing apps in other platforms as well. We implemented a prototype of Deep GUI in a tool called Monkey++ by extending Google Monkey and evaluated it for its ability to crawl Android apps. We found that Monkey++ achieves significant improvements over Google Monkey in cases where an app’s UI is complex, requiring sophisticated inputs. Furthermore, our experimental results demonstrate the model inferred using Deep GUI can be reused for effective GUI input generation across platforms without the need for retraining.
DOI 原文 ·
@inproceedings{paperbot6548,
title = {Deep GUI: Black-box GUI Input Generation with Deep Learning},
author = {Faraz YazdaniBanafsheDaragh and Sam Malek},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678778}
}