文章目录
突变测试
- 突变测试
突变测试,或称作突变分析、程序突变,它是用于衡量软件测试的质量。突变测试通常对程序的源代码或者目标代码做小的改动,并把截然不同的错误行为(或者怪异行为)作为预期。如果测试代码没有觉察到这种小改动带来的错误,就说明这个测试是有问题的。 突变测试的目的在于帮助测试者发现有效的测试,或定位测试数据的弱点,或是在执行中很少或从不使用的代码的弱点。
- 单元级
- 集成级
- 规格级
突变测试的基本前提:如果软件包含错误,通常会有一组突变体,它们只能被同样检测到错误的测试用例杀死。
- 一阶变异体:根据一定规则,程序只有一处改动
- 高阶变异体:程序变动超过一处
- 强突变测试:使用外部观察
- 弱突变测试:使用内部观察;只是内部状态的短暂改变
区分变异体的条件:
- 可达性:执行相关变异的可能
- 状态感染性:程序输出根据变异体发生状态变化
- 状态传播性:外部能观测出程序因变异体受到影响