On the Danger of Coverage Directed Test Case Generation Matt Staats, Gregory Gay, Michael Whalen, Mats Heimdahl
研究背景 1,自动化测试用例生成 2,生成准则(结构覆盖),评价 3,用结构覆盖指导随机生成比单纯用随机生成的效果要好。 4,生成满足结构覆盖的测试用例集的效果未知。
研究问题 结构覆盖(分支覆盖,MC\DC覆盖) 测试用例生成方法(counterexample-based test generation,随机测试生成) 评估标准(变异测试,size)
实验对象
实验步骤 (1) mutant generation(250个变异) (2) random and structural test generation 测试用例生成,测试用例集约减 (3) computation of fault finding 两种(output-only,max-oracle)
实验结果
结果分析和结论 假设结论 结论 1,使用分支或MC/DC覆盖来辅助随机测试生成比单纯用随机好
测试工具的不足 当前的测试用具 改进方法: 1,改进工具:比如在生成的时候多生成较长的测试用例。 2,改进已有的覆盖策略,比如用SAT来生成
Yi Wei Manuel Oriol Bertrand Meyer Is Coverage a Good Measure of Testing Effectiveness? An Assessment Using Branch Coverage and Random Testing Yi Wei Manuel Oriol Bertrand Meyer
研究背景 分支覆盖和发现的错误是直接相关的 研究分支覆盖和错误发现之间的关系
实验的设计 1,程序选择(OO程序里的Contract-Based Unit Testing) 2,自动执行工具(Auto Test Tool) 时间 2520个小时(6*30*14)
初期的研究
Predictability of coverage level 前10分钟长的 较快,后面较慢。
Similarity of coverage
如果一个 分支没有被 一个测试用 例覆盖到, 其他的测试 用例集也很 大概率覆盖 不到。 用不同的随机 Seed生成的测 试用例集覆盖 差不多。
Predictability of number of faults
Similarity of faults
不同的随机 生成seed对于 Fault影响的效 过比分支要大。
Correlation between branch coverage and number of faults
进一步研究和结论 Is branch coverage a good stopping criterion for random testing?(No) Is branch coverage a good measure of the testing effectiveness?(No) What are the unexercised branches?
Thanks