白盒测试
一、逻辑覆盖法
1.语句覆盖
定义:设计测试用例,使得程序中每条语句至少被执行一次。
理解:如上图,只需满足语句块1、2、3、4均被至少执行一次即可
测试用例
缺点
2.判定覆盖(分支覆盖)
定义:设计测试用例,使得程序中的每个判断的“真"和“假"都至少被执行一次。
理解:每个菱形块至少执行一次真和假
测试用例
3.条件覆盖
定义:设计测试用例,使得判定中的每个条件至少有一次取真值,有一次取假值。
理解:每个判定里的条件至少执行一次真和假,对应就是下图
C1
、
C2
、
C3
,但不包括
P1
、
P2
测试用例
满足
100%
条件覆盖不一定满足
100%
判定覆盖
4.条件判定覆盖
定义:即满足
100%
判定覆盖,同时满足
100%
的条件覆盖
测试用例
5.条件组合覆盖
定义:设计测试用例,使得被测试程序中的每个判定中条件结果的所有可能组合至少执行一次。
理解:
1.对于
P1
中的
C1
、
C2
,需要有
C1C2TFTTFFFT
这四种组合均执行一次
2.对于
P2
中的
C3
,需要有
T
,
F
都执行一次。
测试用例
缺点:不满足“判定组合“,没有
P1
、
P2
都为
T
的情况
6.路径覆盖
定义:可以理解为判定组合。
理解:对于p1、p2需要满足
P1P2TFTTFFFT
这四种组合均执行一次
测试用例
缺点:不满足条件组合覆盖和条件覆盖、判定条件覆盖
二、基本路径覆盖法
定义:在程序控制流图的基础上,通过分析程序的环路复杂性,导出基本可执行路径集合,从而设计测试用例
基本步骤
1.1根据代码画出程序流程图
1.2.根据流程图画出控制流图
分支与语句为每个节点
2.计算环路复杂度
3.导出可执行路径
4.设计测试用例
版权归原作者 coder-dk 所有, 如有侵权,请联系我们删除。