一句话:基于测试分布分析优化测试优先级排序,揭示实际回归测试时间下无普适最优技术。
测试优先级排序旨在通过重排测试执行顺序更快检测回归故障,已有大量技术。然而,现有评估通常以测试执行次数相关的平均故障检测率(APFD)衡量效果,而非实际回归测试时间,导致难以判断哪种技术在实际中更优。本文首先对多种优先级排序技术的实际回归测试时间进行实证研究,并基于测试分布分析探索优化方法。结果给出若干实践准则,尤其表明没有一种优先级排序技术能在实践中始终表现最优,因此需要根据具体测试分布和场景选择或优化技术。
Test prioritization aims to detect regression faults faster via reordering test executions, and a large number of test prioritization techniques have been proposed accordingly. However, test prioritization effectiveness is usually measured in terms of the average percentage of faults detected concerned with the number of test executions, rather than the actual regression testing time, making it unclear which technique is optimal in actual regression testing time. To answer this question, this paper first conducts an empirical study to investigate the actual regression testing time of various prioritization techniques. The results reveal a number of practical guidelines. In particular, no prioritization technique can always perform optimal in practice.
@inproceedings{paperbot4593,
title = {Optimizing test prioritization via test distribution analysis},
author = {Junjie Chen and Yiling Lou and Lingming Zhang and Jianyi Zhou and Xiaoleng Wang and Dan Hao and Lu Zhang},
booktitle = {FSE},
year = {2018},
doi = {10.1145/3236024.3236053}
}