中文

以更少资源进行测试:一种面向性能感知测试用例生成的自适应方法

软件工程 2019-11-11 v3 神经与进化计算

摘要

自动化测试用例生成是一种产生高覆盖测试套件的有效技术。尽管多数研究致力于满足覆盖准则,近期出现了优化其他非覆盖维度的趋势。在这方面,运行时间和内存占用是两个关键维度:开销更低的测试可降低生成过程及后续回归测试阶段的资源需求。本研究表明,性能感知测试用例生成需解决两个主要挑战:以最小开销提供对资源使用的良好近似,并避免对最终覆盖率和故障检测有效性产生不利影响。为应对这些挑战,我们构思了一组性能代理——受先前性能测试工作启发——可合理估计测试执行成本(即运行时间和内存占用)。据此,我们提出一种称为 aDynaMOSA 的自适应策略,通过扩展最先进的单元测试进化算法 DynaMOSA 来利用这些代理。我们的实证研究——涉及 110 个非平凡 Java 类——显示,与 DynaMOSA 相比,我们的自适应方法生成的测试套件在运行时间(-25%)和堆内存消耗(-15%)上均有统计显著的改进。此外,aDynaMOSA 在七种不同覆盖准则上结果与 DynaMOSA 相当,且故障检测有效性相似。我们的实证调查还强调,仅使用性能代理(即无自适应性)不足以在不损害整体覆盖率的情况下生成性能更优的测试用例。

关键词

引用

@article{arxiv.1907.08578,
  title  = {Testing with Fewer Resources: An Adaptive Approach to Performance-Aware Test Case Generation},
  author = {Giovanni Grano and Christoph Laaber and Annibale Panichella and Sebastiano Panichella},
  journal= {arXiv preprint arXiv:1907.08578},
  year   = {2019}
}

备注

16 pages, 3 figures, accepted for IEEE Transaction on Software Engineering