中文

ChimpCheck:面向交互式应用的基于属性的随机测试生成

软件工程 2017-08-30 v1

摘要

我们考虑生成相关执行轨迹以测试富交互应用的问题。富交互应用(如移动平台上的应用)是复杂的、有状态的且常为分布式的系统,其中通过用户交互(UI)事件序列充分演练应用以暴露缺陷既困难又耗时。特别地,暴力随机 UI 演练工具(全自动化但相关性低)与 UI 测试脚本(手动但相关性高)之间存在根本张力。在本文中,我们考虑一条中间道路——实现脚本化与随机化 UI 测试的无缝融合。这种融合在一个称为 ChimpCheck 的测试工具中进行了原型实现,该工具用于为 Android 应用编程、生成并执行基于属性的随机测试用例。我们的方法通过提供一种高级的、嵌入式领域特定语言来定义模拟用户交互事件序列的自定义生成器,从而实现这种融合。随后是一个构建于工业级基于属性的测试框架(ScalaCheck)和 Android 测试框架(Android JUnit 和 Espresso)之上的组合子库,以对 Android 开发实现基于属性的随机测试。受开源 Android 应用中真实报告问题的驱动,我们通过案例研究展示了 ChimpCheck 如何以紧凑的方式表达有效的测试模式。

关键词

引用

@article{arxiv.1708.08613,
  title  = {ChimpCheck: Property-Based Randomized Test Generation for Interactive Apps},
  author = {Edmund S. L. Lam and Peilun Zhang and Bor-Yuh Evan Chang},
  journal= {arXiv preprint arXiv:1708.08613},
  year   = {2017}
}

备注

20 pages, 21 figures, Symposium on New ideas, New Paradigms, and Reflections on Programming and Software (Onward!2017)