白盒测试方法--逻辑覆盖法

本文目的主要为软考准备的复习内容。


实例代码:
int method(bool a, bool b, bool c)
{
1  int x;
2  x=0;
3  if(a && (b || c))
4    x=1;
5  return x;
}


1、语句覆盖:每条语句都至少执行一次。即1,2,3,4,5都要被执行。
可选测试用例
a=1, b=1, c=1 【1,2,3,4,5】


2、判定覆盖:每个分支都要至少执行一次,即if判定为真,为假各一次。
可选测试用例:
a=1, b=1, c=1 【1,2,3,4,5】
a=0, b=1, c=1 【1,2,3,5】


3、条件覆盖:每一个单独条件至少为真,为假各一次。这里条件指a,b,c
可选测试用例:
a=1, b=1, c=1 【1,2,3,4,5】
a=0, b=0, c=0 【1,2,3,5】


4、条件判定覆盖:判定覆盖 + 条件覆盖 - 重复用例
可选测试用例:
a=1, b=1, c=1 【1,2,3,4,5】
b=0, b=0, c=0 【1,2,3,5】


5、条件组合覆盖:各条件之间的真假值交叉组合一次;若有n各条件,则有2的n次方个组合用例。
测试用例组合:
a=1, b=1, c=1
a=1, b=1, c=0
a=1, b=0, c=1
a=1, b=0, c=0
a=0, b=1, c=1
a=0, b=1, c=0
a=0, b=0, c=1
a=0, b=0, c=0


6、修正条件判定覆盖:在条件判定的基础上进行完善,对单个条件的真假值对应的判定结果也有要求。即a为真时,总的判定条件为真,a为假时整个判定条件为假;而且两次取值中b、c的真假值保持原值不变。即一个条件改变影响总的结果。
可选测试用例:
a=1, b=1, c=1, a&&(b||c)=1
a=1, b=1, c=0, a&&(b||c)=1
a=1, b=0, c=1, a&&(b||c)=1
a=1, b=0, c=0, a&&(b||c)=0
a=0, b=1, c=1, a&&(b||c)=0
a=0, b=1, c=0, a&&(b||c)=0
a=0, b=0, c=1, a&&(b||c)=0
a=0, b=0, c=0, a&&(b||c)=0

上述用例中符合条件a的用例组合为:{1,5},{2,6},{3,7}中的任意一组
符合条件b的用例组合为:{2,4}
符合条件c的用例组合为:{3,4}
所以总的用例组合为:{1,2,3,4,5}

选择标准以a为例:
a=1时,a&&(b||c)=1;符合此条件的用例有:1,2,3
a=0时,a&&(b||c)=0;符合此条件的用例有:5,6,7,8
a=1与a=0时b和c的真假值对应相等的条件有:
{1,5};b1=b5=1,c1=c5=1
{2,6};b2=b6=1,c2=c6=0
{3,7};b3=b7=0,c3=c7=0


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

上帝De助手

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

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

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

打赏作者

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

抵扣说明:

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

余额充值