白盒测试之逻辑覆盖准则

逻辑覆盖准则

白盒测试关注的目标是测试用例执行的程度或覆盖程序逻辑结构(源代码)的程度。

需要测试的逻辑结构图(源程序)

在这里插入图片描述

语句覆盖准则

语句覆盖准则:将程序中的每条语句至少执行一次
用例设计:在a处设置 m=2,n=0,x=3,每条语句将被执行一次,将会遍历程序路径ace。

判定覆盖准则

判定覆盖准则:要求每个判断都必须有“是”和“否”的结果,并且每条语句都至少被执行一次。
用例及其遍历的路径:

路径用例
acdx=3,m=3,n=0
abex=1,m=2,n=1

不能发现条件错误x>1写成了x<1

条件覆盖准则

条件覆盖准则:要求将一个判断中的每个条件的所有可能的结果至少执行一次,同时要求对程序或子程序的每一个入口点都至少调用一次。

用例及其遍历的路径:

路径用例
acex=4,m=2,n=0
adbx=1,m=1,n=1

条件覆盖准则并不总是能满足判定覆盖。如测试判断条件IF(A&&B), A 为TRUE ,B 为FALSE;A 为FALSE,B为TRUE,这是满足条件覆盖准则的用例,很明显并不满足判断覆盖准则,因为这不能是IF 语句中的THEN被执行到。

判定/条件覆盖准则

判定/条件覆盖准则: 要求将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能结果至少执行一次,将每个入口点都至少调用一次。

不一定能就完全能够发现逻辑表达式中的错误,如x>1写成了x>0。这是因为:如果“与”表达式中有个条件为“假”,那么就无需计算该表达式的后续条件;如果“或”表达式中有个条件为“真”,那么后续条件也无需计算。

多重条件覆盖准则

多重条件覆盖准则:要求将判定中的所有可能的条件结果的组合,以及所有的入口点都至少执行一次。

所有的条件组合

编号条件组合
1m>1,n=0
2m>1,n<>0
3m<=1,n=0
4m<=1,n<>0
5m=2,x>1
6m=2,x<=1
7m<>2,x>1
8m<>2,x<=1

用例及覆盖的组合:

用例覆盖的条件组合
m=2,n=0,x=4覆盖组合1,5
m=2,n=1,x=1覆盖组合2,6
m=1,n=0,x=2覆盖组合3,7
m=1,n=1,x=1覆盖组合4,8

以上逻辑覆盖准则覆盖逻辑强度依次增强,为语句覆盖<判定覆盖<条件覆盖<判断/条件覆盖<多重条件覆盖

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值