软件测试系列-白盒测试覆盖率的问题

发表于:2015-9-24 09:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:泡沫love夏    来源:51Testing软件测试网采编

分享:
  2、给出用例,计算以上六种覆盖率的值
  执行CASE:A=2;B=1;X=3。
  在计算覆盖率之前,我们首先要看判定中的子条件在做什么运算,第一个判定中,这两个子条件在做与运算,(一个假即为假)。第二个判定中,这两个子条件在做或预算,(一个真即为真)。
  (1)语句覆盖率:1/2 (50%)
  分析:第一个判定中子条件的值为T1、F2(一真一假),所以我们走F这条分支,此时X=X/A这条语句没有被执行到;接下来,我们看第二个判定,它的子条件的值为T3、T4(都为真),所以我们走T这条分支,这时,语句X=X+1这条语句被执行到了。也就是说,我们只执行到一条语句,所以语句覆盖率位1/2。
  (2)判定覆盖率:2/4 (50%)
  分析:我们刚才在分析语句覆盖的时候,我们提到第一个判定语句走的是F分支,第二个判定语句也的是T分支,所以我们共走了两条分支,分支总数为4,所以判定覆盖率为:2/4。
  (3)条件覆盖率:4/8 (50%)
  第一个判定中子条件的值为T1、F2;第二个判定的子条件的值为T3、T4。也就是说我们执行到的条件总数为4;总共的条件操作总值为8,所以条件覆盖率为:4/8。
  (4)判定条件覆盖率:6/12 (50%)
  前面我们已经分析过了,判定条件覆盖率实际上就是判定覆盖率和条件覆盖率的组合,所以判定条件覆盖率就等与,2/4 (判定覆盖率)+ 4/8(条件覆盖率)=6/12(注意,这里的“+”代表的是组合,而不是算数相加,所以是分子分母分别相加即可)。
  (5)条件组合覆盖率:2/8 (25%)
  同样的,在条件覆盖率分析中我们已经提到过了,第一个判定中子条件的组合为T1F2;第二个判定的子条件的组合为T3T4,也就是说我们执行到了两种组合;我们在分析流程图的时候已经提到过,总的可能的条件总数为八种组合,所以说条件组合覆盖率为:2/8。
  (6)路径覆盖率:1/4 (25%)
  在流程图分析中我们已经提到,路径共有四条,而我们走到的路径为只有abe一条,所以路径覆盖率为:1/4。
  范例二:
  被测程序流程图还是上面范例一的图1。
  执行case1:A=2,B=0,X=3;
  执行case2:A=1,B=0,X=1。
  计算这两种情况下的6种覆盖率。
  (1)语句覆盖率:2/2 (100%)
  case1:第一个判定中子条件的值为T1、T2(都为真),所以我们走T这条分支,执行到X=X/A这条语句;接下来,第二个判定,它的子条件的值为T3、T4(都为真),所以我们走T这条分支,这时,语句X=X+1这条语句被执行到了。也就是说,我们把两条语句都执行到了,所以语句覆盖率位2/2。
  所以说case1这一条用例就可以到达100%的语句覆盖,我们就不用再去执行case2了。
  (2)判定覆盖率:4/4 (100%)
  case1:我们刚才在分析语句覆盖的时候,我们提到第一个判定语句走的是T分支,第二个判定语句走的也是T分支;
  case2:第一个判定语句中子条件的值为F1、T2,所以我们走F分支;第二个判定语句中子条件的值为F3、F4,所以我们依然走F分支;
  上面两个用例把我们两个判定中的4个分支都执行到了,所以判定覆盖率为4/4(100%)。
  (3)条件覆盖率:7/8(100%)
  case1:第一个判定语句中子条件的值为T1、T2,第二个判定条件中子条件的值为T3、T4;
  case2:第一个判定语句中子条件的值为F1、T2,第二个判定条件中子条件的值为F3、F4;
  这两个用例执行了七种条件,F2没有执行到,所以条件覆盖率为:7/8(100%)。
  (4)判定条件覆盖率:11/12。
  判定条件覆盖率=判定覆盖率和条件覆盖率的组合 = 4/4 + 7/8 = 11/12。
  (5)条件组合覆盖率:4/8 (50%)
  case1:第一个判定语句中子条件的组合为T1T2,第二个判定条件中子条件的组合为T3T4;
  case2:第一个判定语句中子条件的组合为F1T2,第二个判定条件中子条件的组合为F3F4;
  我们可以看出:这两个用例只执行到八种组合中的四种组合,所以条件组合覆盖率为4/8(50%)。
  (6)路径覆盖率:2/4(50%)
  case1:在这条用例中我们所执行到的路径为:ace。
  case2:在这条用例中我们所执行到的路径为:abd。
  这两条用例执行到两条路径(ace和abd),还有两条路径(abe和acd)没有执行到,所以路径覆盖率为2/4(50%)。
22/2<12
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号