白盒测试

白盒测试

逻辑覆盖

image-20200504090816701
语句覆盖

为了暴露程序中的错误,至少每个语句都应该执行一次。可执行的语句顺序可以是sacbed

A=2, B=0, X=4 覆盖:sacbed

判定覆盖

判定覆盖又叫分支覆盖,他的含义是,不仅每个语句必须执行一次,而且每个判定的每种可能结果都要执行一次,也就是每个判定分支都要执行一次。

A=3,B=0,X=3 覆盖:sacbd

A=2,B=1,X=1 覆盖:sabed

条件覆盖
image-20200504090816701

条件覆盖的含义是不仅每条语句各执行至少一次,而且判定表达式中的每个条件真假各执行一次。

图中有两个判定,为了做到条件覆盖,应该选取测试数据使得在a点有下述各种结果出现:

A>1,A<=1;B=0,B!=0;

在b点有以下各种结果出现:

A=2,A!=2;X>1,X<=1;

A=2,B=0,X=4 覆盖:sacbed
A>1,A<=1;B=0,B!=0;
A=2,A!=2;X>1,X<=1;

A=1,B=1,X=1 覆盖:sabd
A>1,A<=1;B=0,B!=0
A=2,A!=2;X>1,X<=1

判定覆盖通常比条件覆盖强,因为判定覆盖关心每一个判定子条件,而条件覆盖只关注整个表达式的值。有时在满足条件覆盖的条件下,并不满足判定覆盖,例如以下两组测试用例:

A=2,B=0,X=1 覆盖:sacbed

A=1,B=1,X=2 覆盖:sabed

b为假的时候,没有取到

判定/条件覆盖

为解决上述问题,引入判定/条件覆盖,即用足够多的测试用例,使得其既满足判定覆盖,也满足条件覆盖

A=2,B=0,X=4 覆盖:sacbed
A>1,A<=1;B=0,B!=0;
A=2,A!=2;X>1,X<=1;

A=1,B=1,X=1 覆盖:sabd
A>1,A<=1;B=0,B!=0
A=2,A!=2;X>1,X<=1

这与条件覆盖用的是同一组测试用例,因此,有时判定/条件覆盖也并不比条件覆盖更强

条件组合覆盖
image-20200504090816701

条件组合覆盖是更强的逻辑覆盖标准,他要求选取足够多的测试数据,使得每个判定表达式中的条件的各种可能组合都至少出现一次

对于上图有8种可能的条件组合,他们分别是

ab
1. A>1,B=05. A=2,X>1
2. A>1,B!=06. A=2,X<=1
3. A<=1,B=07. A!=2,X>1
4. A<=1,B!=08. A!=2,A<=1

A=2,B=0,X=4 针对1,5两种组合

A=2,B=1,X=1 针对2,6两种组合

A=1,B=0,X=4 针对3,7两种组合

A=1,B=1,X=1 针对4,8两种组合

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eva_5433

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值