中文

基于形式化规范的强化学习驱动 Android GUI 应用测试生成

软件工程 2019-11-28 v2 人工智能 机器学习

摘要

已有许多关于移动图形用户界面(GUI)应用自动化测试生成的研究。这些研究成功展示了如何利用全自动化测试生成引擎检测致命异常,并实现高代码与活动覆盖率。然而,这些引擎究竟测试了多少 GUI 功能尚不清楚。此外,这些引擎仅实现了隐式测试预言。我们提出 Fully Automated Reinforcement LEArning-Driven Specification-Based Test Generator for Android(FARLEAD-Android,基于规范的 Android 全自动化强化学习驱动测试生成器)。FARLEAD-Android 接受以线性时序逻辑(LTL)公式给出的 GUI 级形式化规范。通过在被测应用(AUT)上动态执行,其利用强化学习(RL)学习如何生成满足该 LTL 公式的测试。LTL 公式不仅指导测试生成,还充当指定的测试预言,使开发者可通过更改公式为多种 GUI 功能定义自动化测试预言。我们的评估表明,在针对指定 GUI 功能生成测试方面,FARLEAD-Android 比三种已知方法 Random、Monkey 和 QBEa 更有效且性能更高。据我们所知,FARLEAD-Android 是首个使用形式化规范的 fully automated mobile GUI testing engine(全自动化移动 GUI 测试引擎)。

关键词

引用

@article{arxiv.1911.05403,
  title  = {Reinforcement Learning-Driven Test Generation for Android GUI Applications using Formal Specifications},
  author = {Yavuz Koroglu and Alper Sen},
  journal= {arXiv preprint arXiv:1911.05403},
  year   = {2019}
}