📅  最后修改于: 2021-01-11 01:42:54             🧑  作者: Mango
变异测试是软件测试中的白盒方法,其中我们有意将错误插入程序(被测试)中,以验证现有测试用例是否可以检测到错误。在此测试中,通过对原始程序进行一些修改来创建程序的变体。
变异测试的主要目的是检查每个变异是否创建了输出,这意味着它与原始程序的输出不同。我们将对变异程序进行些微修改,因为如果我们大规模修改它,将会影响整体计划。
当我们检测到错误数量时,这表明程序正确无误或测试用例无法识别故障。
突变测试的目的是评估应该能够使突变代码失败的案例的质量,因此这种方法也称为基于错误的测试,因为它曾经在程序中产生错误,所以我们可以说突变是什么执行测试以检查测试用例的效率。
变异是程序中的一个小修改;这些较小的修改计划用于编码过程中发生的典型的低级错误。
通常,我们以规则的形式来讨论突变运算符,这些规则与数据相匹配,并且还生成一些有效的环境来产生突变体。
变异测试可分为以下三个部分:
让我们一一理解它们:
在这种类型的突变测试中,我们将检查设计错误。在这里,我们将对算术和逻辑运算符进行修改,以检测程序中的错误。
就像我们在算术运算运算符进行以下更改一样:
就像我们在逻辑运算符以下更改一样
现在,让我们看一个例子,以使我们更好地理解:
在这种情况下,值将被修改以识别程序中的错误,通常,我们将更改以下内容:
例如:
语句突变意味着我们可以通过删除或替换该行来对语句进行修改,如下面的示例所示:
在上述情况下,我们将语句r = 15替换为s = 15,将r = 25替换为s = 25。
要执行突变测试,我们将遵循以下过程:
突变测试的好处如下:
突变测试的缺点如下: