一、总览
白盒测试覆盖的逻辑覆盖与数据流覆盖示意图
二、逻辑覆盖
1.语句覆盖
L1:a-c-e
即可达到语句覆盖
测试用例
变量 | 值 |
(A,B,x) | (3,0,2) |
2.判定覆盖
每一个判断都要有一次真和一次假。
L1:a-c-e (判断1为真,判断2为真)
L2:a-b-d (判断1为假,判断2为假)
即可达到判定覆盖
测试用例
变量 | 值 |
(A,B,x) | (3,0,2) |
(A,B,x) | (3,1,0) |
3.条件覆盖
每一个条件都要有一次真和一次假。
测试用例
变量 | 值 | 条件1(A>1) | 条件2(B=0) | 条件3(A=2) | 条件4(x>1) |
(A,B,x) | (2,0,2) | T | T | T | T |
(A,B,x) | (0,1,0) | F | F | F | F |
即可达到条件覆盖
4.判定/条件覆盖
每一个判断都要有一次真和一次假。
每一个条件都要有一次真和一次假。
测试用例
变量 | 值 | 判断1 | 判断2 | 条件1(A>1) | 条件2(B=0) | 条件3(A=2) | 条件4(x>1) |
(A,B,x) | (2,0,2) | T | T | T | T | T | T |
(A,B,x) | (0,1,0) | F | F | F | F | F | F |
即可达到判定/条件覆盖
5.条件组合覆盖
每个条件组合至少出现一次。
条件的组合
1 | A>1 | B==0 |
2 | A>1 | B!=0 |
3 | A<=1 | B==0 |
4 | A<=1 | B!=0 |
5 | A==2 | x>1 |
6 | A==2 | x<=1 |
7 | A!=2 | x>1 |
8 | A!=2 | x<=1 |
可以设计测试用例,如4个测试用例,满足15,26,37,48,即达到了条件组合覆盖。
测试用例
变量 | 值 | 条件1(A>1) | 条件2(B=0) | 条件3(A=2) | 条件4(x>1) | 组合 |
(A,B,x) | (2,0,2) | T | T | T | T | 15 |
(A,B,x) | (2,1,0) | T | F | T | F | 26 |
(A,B,x) | (0,0,3) | F | T | F | T | 37 |
(A,B,x) | (0,1,0) | F | F | F | F | 48 |
6.基本路径覆盖
每一条路径都要走到
即L1,L2,L3,L4为路径覆盖
7.全覆盖
条件组合覆盖+路径覆盖
8.MC/DC 修正的判定条件覆盖
参考这个
https://blog.csdn.net/qihaojinqiuma/article/details/125680702