白盒测试——6种覆盖(语句覆盖,判定覆盖,条件覆盖,判定条件覆盖,组合覆盖,路径覆盖)

目录

白盒测试

1.语句覆盖:每个语句执行一次

2.判定覆盖:每个判定真假至少一次

3.条件覆盖:每个判定中的条件真假至少一次

4.判定条件覆盖= 2 + 3

5.组合(条件组合覆盖):每个判定中的 每个条件 各种可能的组合至少一次

6.路径覆盖:所有路径至少执行一次

基本路径覆盖:完全覆盖程序中的路径


此文章为我看了B站视频和CSDN文章所作的笔记,以下为B站和CSDN地址

BilBili地址:(前5个覆盖)

白盒测试so easy!_哔哩哔哩_bilibili

CSDN地址:(路径覆盖)

白盒测试之路径覆盖与基本路径覆盖-CSDN博客

以下还有有道云笔记,需要可自取

【有道云笔记】6种覆盖
有道云笔记

白盒测试

  1. 语句:每个语句执行一次
  2. 判定:每个判定真假至少一次
  3. 条件:每个判定中的条件真假至少一次
  4. 判定条件= 2 + 3
  5. 组合(条件组合覆盖):每个判定中的 各个条件 各种可能的组合至少一次
  6. 路径:所有路径至少执行一次

1.语句覆盖:每个语句执行一次

if(A and B)
   then  statment 1;
if(C or D)
   then  statment 2;

语句→statement

A and B → T => A→T,B→T

C  or  D → T => C→T,D→T

test:A→T,B→T,C→T,D→T

2.判定覆盖:每个判定真假至少一次

if(A and B)
   then  statment 1;
if(C or D)
   then  statment 2;

判定→A and B,C or D

A and B → T => A→T,B→T        ①

A and B → F => A→F,B→F        ②

C  or  D → T => C→T,D→T        ③

C  or  D → F => C→F,D→F        ④

test1: A→T,B→T,C→T,D→T   =>   ① + ③

test2: A→F,B→F,C→F,D→F   =>   ② + ④

3.条件覆盖:每个判定中的条件真假至少一次

if(A and B)
   then  statment 1;
if(C or D)
   then  statment 2;

条件→A,B,C,D

当题目只需取到时:

A        B        C        D

T        T        T        T        ⑤

F        F        F        F        ⑥

test1: A→T,B→T,C→T,D→T   =>   ⑤

test2: A→F,B→F,C→F,D→F   =>   ⑥

若百分百覆盖,每个条件都需要执行到,则需要再加一个test

注:A and B ,当A为F时,B为任何值都执行不到

       C  or  D ,当C为T时,D为任何值都执行不到

test3: A→T,B→F,C→F,D→T    =>   解决 B→F,D→T 未执行到的情况

4.判定条件覆盖= 2 + 3

if(A and B)
   then  statment 1;
if(C or D)
   then  statment 2;

test1: A→T,B→T,C→T,D→T    =>   ① + ③ + ⑤

test2: A→F,B→F,C→F,D→F    =>   ② + ④ + ⑥

test3: A→T,B→F,C→F,D→T    =>   百分百覆盖

5.组合(条件组合覆盖):每个判定中的 每个条件 各种可能的组合至少一次

if(A and B)
   then  statment 1;
if(C or D)
   then  statment 2;

A        B        C        D

T        T        T        T        ⑦

T        F        T        F        ⑧

F        T        F        T        ⑨

F        F        F        F        ⑩

test1: A→T,B→T,C→T,D→T   =>   ⑦

test2: A→T,B→F,C→T,D→F   =>   ⑧

test3: A→F,B→T,C→F,D→T   =>   ⑨

test4: A→F,B→F,C→F,D→F   =>   ⑩

6.路径覆盖:所有路径至少执行一次

路径覆盖率的计算方法:测试时至少被执行过一次的路径总数 / 程序的总路径数 

test1:a = -2 ,b = 1 , c = 1        A - C

test2:a = 2 ,b = 1 , c = 1         A - D

test3:a = 0 ,b = 1 , c = 1         B - C

test4:a = 2 ,b = 3 , c = 1         B - D

基本路径覆盖:完全覆盖程序中的路径

圈复杂度:

方法一:V(G) = A + 1,其中 A 代表控制流图中的封闭区域数量。

V(G) = 4 + 1 = 5

方法二:V(G) = P + 1,其中 P 代表控制流图中的判定节点数。

V(G) = 4 + 1 = 5

方法三:V(G) = e - n + 2,其中 e 代表控制流图中的边的数量,即控制流中的箭头数量;n 代表控制流图的节点数量,即控制流图中的圆圈数量。

V(G) = 11 - 8 + 2 = 5

路径 1 :1 - 2 - 4 - 5 - 8

路径 2 :1 - 2 - 4 - 5 - 6 - 8

路径 3 :1 - 2 - 4 - 5 - 6 - 7 - 8

路径 4 :1 - 2 - 3 - 5 - 8

路径 5 :1 - 2 - 4 - 3 - 5 - 8

test1:a = -1,b = 1,c = 1   =>   路径 1

test2:a = 1,b = 1,c = -1   =>   路径 2

test3:a = 1,b = 1,c = 1    =>   路径 3

test4:a = 0,b = 1,c = 1    =>   路径 4

test5:a = -1,b = 3,c = 1   =>   路径 5

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值