持续集成环境中的测试优先级排序
软件工程
2018-09-05 v1
摘要
文献中分别提出了两种启发式方法,即基于多样性的(DBTP)和基于历史的测试优先级排序(HBTP)。然而,它们在持续集成(CI)环境中的组合尚未被广泛研究。本研究的目标是更早捕获回归故障,使开发人员能够更频繁且持续地集成和验证其变更。为此,我们调查了六个开源项目,每个项目在较长时间内包含多次构建。研究结果表明,先前的失败知识似乎在 CI 环境中具有很强的预测能力,可用于有效地确定测试优先级。HBTP 不一定需要大量数据,且其有效性随历史区间增大在一定程度上提高。DBTP 可在无历史数据的早期阶段有效使用,也可与 HBTP 结合以提高其有效性。在所调查的技术中,我们发现使用 NCD Multiset 的基于历史的多样性在有效性方面更优,但方法执行时间开销相对较高。CI 环境中的测试优先级排序可利用先前的失败知识以可忽略的投入有效执行,并且可通过考虑测试间的差异性进一步提高其有效性。
引用
@article{arxiv.1809.00143,
title = {Test Prioritization in Continuous Integration Environments},
author = {Alireza Haghighatkhah and Mika Mäntylä and Markku Oivo and Pasi Kuvaja},
journal= {arXiv preprint arXiv:1809.00143},
year = {2018}
}
备注
Journal of Systems and Software (2018)