白盒测试的逻辑覆盖测试总结

逻辑覆盖测试包括的方法有:语句覆盖、路径覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖。

  接下来通过对下面子程序进行各个方法的测试用例设计:

procedure example(y,z:real; var x:real) 
begin 
   if(y > 1) and (z = 0) then x:= x / y; 
   if(y = 2) or (x > 1) then x:= x + 1;                                      
end;  

程序对应的流程图如下:

  • 语句覆盖:所有语句至少执行一次。即执行路径sabcde即可,测试用例如表所示。
   

测试数据

预期结果

x = 4, y= 2, z = 0

x = 3

  • 路径覆盖:所有可能被执行到的路径至少执行一次。本题需执行路径有:sabcde、sace、sabce、sacde,测试用例如表所示。

          

执行路径

测试数据

预期结果

sabcde

x = 4, y= 2, z = 0

x=3

sace

x=1,y=1,z=1

x=1

sabce

x=1,y=3,z=0

x=0

sacde

x=1,y=2,z=1

x=2

  • 判定覆盖:每个判定结果至少执行一次。本题需满足a=true且c=false,a=false且c=true两种情况即可,即执行路径sabce、sacde,测试用例如表所示。
       

判定

执行路径

测试用例

预期结果

a=t,c=f

sabce

x=1,y=3,z=0

x=0

a=f,c=t

sacde

x=1,y=2,z=1

x=2

  • 条件覆盖:每个判定中的每个条件可能出现的结果至少出现一次。本题判定a可能出现的结果:y>1,y<=1,z=0,z≠0,判定c可能出现的结果:y=2,y≠2,x>1,x<=1,可执行的路径为sabcde,sace,测试用例如表所示。
        

覆盖的条件

执行路径

测试数据

预期结果

y>1,y=2,z=0,x>1

sabcde

x=2,y=2,z=0

x=1

y<=1,y≠2,z≠0,x<=1

sace

x=1,y=1,z=1

x=2

  • 判定/条件覆盖:每个判定结果至少出现一次,每个判定中的条件可能出现的结果至少出现一次。可执行路径为sabcde,sace,测试用例如表所示。
       

判定

覆盖的条件

执行路径

测试数据

预期结果

a=t,c=t

y>1,y=2,z=0,x>1

sabcde

x=2,y=2,z=0

x=1

a=f,c=f

y<=1,y≠2,z≠0,x<=1

sace

x=1,y=1,z=1

x=2

  • 条件组合覆盖:每个判定的每个条件的可能出现的结果的所有可能的组合至少出现一次。本题中判定a可能出现的条件组合为:(1) y>1,z=0; (2) y<=1,z=0; (3)y>1,z≠0; (4) y<=1,z≠0 ; 判定才可能出现的条件组合为:(1) y=2,x >1; (2)y≠2,x >1; (3) y=2,x<=1; (4)y≠ 2,x<=1。测试用例如表所示。
      

条件组合

执行路径

测试用例

预期结果

y>1,z=0,y=2,x>1

sabcde

x=4,y=2,z=0

x=3

y<=1,z=0,y≠2,x<=1

sace

x=1,y=1,z=1

x=1

y>1,z≠0,y=2,x<=1

sace

x=1,y=2,z=1

x=1

y<=1,z≠0,y≠2,x>1

sacde

x=2,y=1,z=1

x=3



  总结:测试代码时所执行的路径占总路径数越高,则覆盖程度越大。所以覆盖率由高——低:路径覆盖-条件组合覆盖-判定/条件覆盖-条件覆盖-判定覆盖-语句覆盖




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值