[关键词]
[摘要]
数据驱动的智能系统的核心是处理数据的算法,对算法正确性的要求高,导致其测试开销大,需要有效地缩减测试的规模,其中回归测试选择是控制测试规模的有效手段.数据驱动的智能系统由于其动态信息流强度弱的原因,发生偶然正确性现象的概率较高,并且该现象会导致常用的回归测试选择技术所选择出的测试集包含大量检测不到故障的测试用例.因此,从偶然正确性现象的角度出发,提出一种基于偶然正确性概率的回归测试选择技术,进一步排除可能发生偶然正确性现象的用例.该方法能够兼顾代码覆盖,同时从偶然正确性的角度保证缩减后的测试用例集合对被修改的代码的测试是充分的.根据在用例缩减和故障检测能力之间侧重的不同,提出了基于最小化和安全性技术的两种选择策略,并给出3种具体的选择算法.在实验中将所提方法与一种安全的测试选择技术进行比较,结果表明,这3种选择算法都很好地缩减了测试集合的规模,提高了测试选择的精度,并提高了安全性和精度的综合指标.
[Key word]
[Abstract]
For data-driven intelligent systems, the data processing algorithms are very important and need to be tested adequately. Because of the high safety requirement, the cost of testing becomes very high and reducing such cost is needed. Regression test selection is an effective mean to control the scale of testing. For data-driven intelligent systems, the coincidental correctness happens frequently because of the weak dynamic information flows, and leads that the regression test sets contain a lot of redundant tests. Therefore, a regression test selection technique is proposed based on the coincidental correctness probability. This method considers the probability of coincidental correctness in addition to the code coverage. The selected tests not only cover the modified code, but have a higher probability to transfer the intermediate results produced by the modified code to the program output. Such selection can reduce the impact of coincidental correctness. The empirical results show that the proposed selection method can improve the precision of selection and reduce the size of the regression tests.
[中图分类号]
[基金项目]