中文

Android 应用的脚本化 GUI 测试:一项关于扩散、演化与脆性的研究

软件工程 2017-11-13 v1

摘要

背景。有证据表明,移动应用的测试不如其桌面对应应用彻底。特别是 GUI 测试通常有限。像基于 web 的应用一样,移动应用遭受 GUI 测试脆性之苦,即 GUI 测试类因 GUI 中的微小修改而失败,但应用功能并未改变。目的。我们研究的目标是考察 Android 上 GUI 测试的扩散程度,以及保持测试类更新所需的修改量,尤其是因 GUI 测试脆性引起的修改。我们定义了表征测试类与测试方法修改及演化的度量,以及估计脆性所致修改的代理指标。方法。为开展实验,我们选取了文献中先前描述的六种广泛使用的移动应用脚本化 GUI 测试开源工具。我们挖掘了 GitHub 上使用这些工具的仓库,并计算了我们的度量集合。结果。我们发现所考虑的 GUI 测试框架在 GitHub 上可用的开源 Android 项目中均未实现重大扩散。对于有 GUI 测试的项目,我们发现测试套件经常需要修改,具体而言开发者修改的代码行中有 5%--10% 属于测试,且此类修改中相关部分(平均 60%)由脆性引起。结论。GUI 测试类的脆性构成一个相关关切,可能是开发者采用自动化脚本化 GUI 测试的障碍。这一针对 Android 脚本化 GUI 测试脆性的首次评估与度量可构成开发者的基准,以及定义脆性原因分类法和缓解该问题的可操作指南的基础。

关键词

引用

@article{arxiv.1711.03565,
  title  = {Scripted GUI Testing of Android Apps: A Study on Diffusion, Evolution and Fragility},
  author = {Riccardo Coppola and Maurizio Morisio and Marco Torchiano},
  journal= {arXiv preprint arXiv:1711.03565},
  year   = {2017}
}

备注

PROMISE'17 Conference, Best Paper Award