中文

基于测试相似度的测试用例优先级排序

软件工程 2018-09-05 v1

摘要

软件测试中的一个经典启发式方法是奖励多样性,这意味着必须为与已排序测试用例差异最大的测试用例分配更高的优先级。这种方法通常被称为基于相似度的测试优先级排序(SBTP),并且可以使用多种技术来实现。我们研究的目标是调查 SBTP 是否比随机排列更有效地发现缺陷,并确定哪些 SBTP 实现能带来更好的结果。为实现目标,我们实现了文献中的五种不同的技术,并使用 defects4j 数据集进行了实验,该数据集包含来自六个真实世界开源 Java 程序的 395 个真实故障。研究结果表明,在流程早期运行最不相似的测试用例总体上比随机排列更有效(使用归一化压缩距离观察到 Vargha-Delaney A [VDA]:0.76-0.99)。在有效性方面,未发现哪种技术更优。局部敏感哈希在较小程度上比其他 SBTP 技术效果稍差(与归一化压缩距离相比观察到 VDA:0.38),但其速度大大优于其他技术(即大约快 5-111 倍)。我们的结果让人想起著名的谚语“不要把所有鸡蛋放在一个篮子里”。为了有效消耗有限的测试预算,应在测试过程早期通过运行最不相似的测试用例,将其均匀分散到系统的不同部分。

关键词

引用

@article{arxiv.1809.00138,
  title  = {Test Case Prioritization Using Test Similarities},
  author = {Alireza Haghighatkhah and Mika Mäntylä and Markku Oivo and Pasi Kuvaja},
  journal= {arXiv preprint arXiv:1809.00138},
  year   = {2018}
}

备注

Proceedings of the 19th International Conference on Product-Focused Software Process Improvement