目录
前言:
白盒测试是一种测试方法,它通过了解系统的内部结构和实现细节,来评估系统的功能和质量。在白盒测试中,变异测试是一种常用的技术,它通过对源代码进行有意义的变异,来检测测试用例的有效性和覆盖率。
变异测试技术是一种对测试集的充分性进行评估的技术,以创建更有效的测试集。变异测试与路径或者数据流测试不同,没有测试数据的选取规则。变异测试应该与传统的测试技术结合,而不是取代它们。
举个例子:我们在项目中进行单元测试,编写单元测试用例保证被测程序的正确性。我们通常使用覆盖度来作为单元测试的标准。
如图:被测试程序foo(intx,int y)设计测试用例
a.输入:x = 1 , y = 0 输出:0
b.输入:x = -1 , y = 0 输出:-1
测试用例满足了条件覆盖和分支覆盖的标准,可是我们的设计的测试用例是否充分呢?这里给大家介绍变异测试技术来完善我们的测试用例。
变异测试的基本思想:
给定一个程序P和一个测试数据集T,通过变异算子为P产生一组变异体Pn(P0、P