变异测试中的强突变和弱突变分别指的是什么

如题所述

变异测试(Mutation Testing)(有时也叫做“变异分析”)是一种在细节方面改进程序源代码的软件测试方法。这些所谓的变异,是基于良好定义的变异操作,这些操作或者是模拟典型应用错误(例如:使用错误的操作符或者变量名字),或者是强制产生有效地测试(例如使得每个表达式都等于0)。目的是帮助测试者发现有效地测试,或者定位测试数据的弱点,或者是在执行中很少(或从不)使用的代码的弱点
现在,为了使测试杀死这个突变,需要满足一下条件:
(1) 测试输入数据必须对突变和原始创新引起不同的程序状态。例如:一个测试a=1,b=0可以达到这个目的。
(2)‘c’的值应该传播到程序输出并被测试检查。
弱的突变测试(弱的突变覆盖)只要求满足第一个条件。强的突变测试要求满足两个条件。强突变更有效,因此它保证测试单元可以真实的捕捉错误。弱突变近似于代码覆盖方法。它只需较少的计算能力来保证测试单元满足弱突变测试。
温馨提示:答案为网友推荐,仅供参考
相似回答