中文

预测性测试选择

软件工程 2019-05-31 v2

摘要

基于变更的测试是Facebook持续集成的关键组成部分。然而,大量测试以及提交到我们单体代码库的高频变更,使得在每次变更时运行所有潜在受影响的测试变得不可行。我们提出了一种新的预测性测试选择策略,该策略为提交到持续集成系统的每次变更选择一组要执行的测试子集。该策略使用基础机器学习技术从大规模历史测试结果数据集中学习得到。部署到生产环境后,该策略将测试代码变更的基础设施总成本降低了二分之一,同时保证超过95%的单个测试失败和超过99.9%的缺陷变更仍被报告给开发人员。我们在此提出的方法还考虑了测试结果的随机性,也称为测试不稳定(flakiness)。

关键词

引用

@article{arxiv.1810.05286,
  title  = {Predictive Test Selection},
  author = {Mateusz Machalica and Alex Samylkin and Meredith Porth and Satish Chandra},
  journal= {arXiv preprint arXiv:1810.05286},
  year   = {2019}
}

备注

Camera-ready