软件设计师--判定覆盖,判定条件覆盖,条件组合覆盖--一个栗子

针对上图的一个判断条件,在这里将分别讨论判定覆盖、判定条件覆盖、条件组合覆盖的情况:

设T1=A>3,T2=B>3;为该判定节点的两个子条件。

(一)判定覆盖:

    所谓的判定覆盖就是让判定的真分支和假分支各执行一次,只要列出的子条件能够满足真假分支各一次就可以了:

例如: A=4,B=3(T1=True,T2=False)走了真分支,A=3,B=3(T1=False,T2=False)走了假分支。

    当然,能走真假分支都走的条件组合还有很多种,这里随便选一种就可以了。

(二)判定条件覆盖(条件覆盖):

    所谓判定条件覆盖就是给出的条件组合里面每个子条件的真、假都出现过,也就是T1(True,False),T2(True,False)都出现过。现在如果我们拿过问题(一)的条件组合,那么得到的就是:

     A=4,B=3(T1=True,T2=False)

    A=3,B=3(T1=False,T2=False)

发现T1(True,False)都有了,T2(__,False)只有False,没有出现True,所以随便补充一个T2=True的条件组合就可以了:

    A=3,B=4(T1=False,T2=True)

    这样就满足判定条件覆盖了,当然,如果不在问题(一)的基础上扩展的话,可以用判定条件覆盖的最暴力的方式给出答案:

     A=4,B=4(T1=True,T2=True)

    A=3,B=3(T1=False,T2=False)

这样就满足了判定条件覆盖。

(三)条件组合覆盖:

    所谓的条件组合覆盖,就是一个判定的所有子条件的组合情况都出现一次。一般使用列表法,把子条件的所有组合情况都列出来,然后填表:

 

T1T2红色是从问题AB
TRUETRUE(二)继承的55
FALSEFALSE------33
TRUEFALSE绿色是补充的43
FALSETRUE--------34

 

    在表格中的A B组合就满足了条件组合覆盖,可见条件组合覆盖是包含着判定条件覆盖的,而判定条件覆盖不一定包含判定覆盖。

 

    注:本例中给出的测试用例严格来讲都是错误的,因为一个完整的测试用例,还要给出结果,这里只是为了说明问题,程序是截块的,所以就只给了输入,没有给输出。

 

  • 34
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值