白盒测试的逻辑覆盖

符号说明:

  ^ 代表逻辑运算符 && 或者 || 
   
  T 代表 True F 代表 False 
   
  A / B 代表条件表达式 

 

六种逻辑覆盖的强弱关系:

在外面很多的教程都认为这六种逻辑覆盖从弱到强的排列顺序是:

语句覆盖->判定覆盖->条件覆盖->判定-条件覆盖->条件组合覆盖->路径覆盖

但经过上面的分析,它们之间的关系实际上可以用下图表示

语句覆盖

每条语句至少执行一次。

 测试用例条件: A ^ B = T 

判定覆盖(分支覆盖)

分支执行一致

 测试用例条件: 

       A ^ B = T 
       A ^ B = F 

条件覆盖

 

每个条件取到各种可能的值

 测试用例条件: 

       A=T     A=F 
       B=T     B=F

 

判定/条件覆盖

判定覆盖、条件覆盖

 测试用例条件: 

       A ^ B = T    A ^ B = F 
       A=T     A=F 
       B=T     B=F

 

条件组合

每个判断语句中条件结果的所有可能组合至少出现一次

 测试用例条件: 

       A= T    B= T  
       A= T    B= F  
       A= F    B= T  
       A= F    B= F  

路径覆盖

覆盖程序中所有可能的执行路径

优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。

实例:

https://blog.csdn.net/hanjing_1995/article/details/52444162

https://www.cnblogs.com/shuhaoz/p/4419193.html


  

(1)语句覆盖

使程序中的每个可执行语句都能执行一次的测试用例

测试用例条件: A ^ B = T 
语句覆盖

(2)判定覆盖(分支覆盖)

  对于判断语句,在设计用例的时候,要设计判断语句结果为True和False的两种情况 
   
测试用例条件: 
       A ^ B = T 
       A ^ B = F 
       判定覆盖 
   

(3)条件覆盖

  设计用例时针对判断语句里面每个条件表达式true 和 false各取值一次,不考判断语句的计算结果

测试用例条件: 
       A=T     A=F 
       B=T     B=F 
       条件覆盖

(4)判定条件覆盖(分支条件覆盖)

  设计测试用例时,使得判断语句中每个条件表达式的所有可能结果至少出现一次,每个判断语句本身所有可能结果也至少出现一次。

测试用例条件: 
       A ^ B = T    A ^ B = F 
       A=T     A=F 
       B=T     B=F 
分支条件覆盖

(5)条件组合覆盖

设计测试用例时,使得每个判断语句中条件结果的所有可能组合至少出现一次

测试用例条件: 
       A= T    B= T  
       A= T    B= F  
       A= F    B= T  
       A= F    B= F  
条件组合覆盖

(6)路径覆盖

设计测试用例时,覆盖程序中所有可能的执行路径

优点:这种覆盖方法可以对程序进行彻底的测试用例覆盖,比前面讲的五种方法覆盖度都要高。

缺点:于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),那么需要设计大量、复杂的测试用例,使得工作量呈指数级增长。路径覆盖虽然是一种比较强的覆盖,但未必考虑判断语句中条件表达式结果的组合,并不能代替条件覆盖和条件组合覆盖。

这传奇你卸载算我输!爆率9.8,0元爆神装,灵活回收!贪玩游戏 · 顶新

 
陈小春哭诉:北京市辖区土豪怒砸2亿请他代言这款0充值传奇!真经典!贪玩游戏 · 顶新

白盒测试中的六种覆盖方法

03-27
白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视。本文档讲解了白盒测试中的六种覆盖方法,
下载

白盒测试---六种覆盖方法 - write6的专栏 - CSDN博客

9-14

白盒测试的6种覆盖方法 - 上善若水,水善利万物而不争。 - CSDN博客

6-25

别再玩假传奇了!这款传奇爆率9.8,你找到充值入口算我输!贪玩游戏 · 顶新

白盒测试中的六种覆盖方法及案例分析 - Dancinglikelink - CSDN博客

6-22

白盒测试中逻辑覆盖六种方法 - hellofeiya的专栏 - CSDN博客

7-6

白盒测试的几种覆盖方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖详解

阅读数 1万+

文章转自:http://www.51testing.com/html/44/n-3713444.html白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度。一说到覆盖,大家都感觉非常熟悉,但是常...博文来自: LOVEYSUXIN的专栏

zgege关注
zgege

 

131篇文章

排名:千里之外

 

write6关注
write6

 

65篇文章

排名:千里之外

 

猎摘互联网软件测试业界技术文章专用博客关注
猎摘互联网软件测试业界技术文章专用博客

 

212篇文章

排名:8000+

 

iteye_19603关注
iteye_19603

 

0篇文章

排名:千里之外

 

软件测试-白盒测试(六种覆盖准则) - weixin_40975029的..._CSDN博客

5-9

白盒测试中的六种覆盖方法案例分析 - weixin_34273479的博客 - ...

5-31

软件测试-白盒测试(六种覆盖准则) - zgege的博客 - CSDN博客

7-9

白盒测试的6种覆盖方法 - thewebcode - CSDN博客

4-19

白盒测试中的几种覆盖方法 - weixin_34279246的博客 - CSDN博客

6-24

白盒测试(分别以判定覆盖、条件覆盖、条件组合覆盖设计测试用例)

03-26
本次实验主要是用逻辑覆盖法和基路径测试法对程序进行测试验证,运行程序测试之前按照老师课上讲的思路先将各种测试方法的测试用例以及预期结果写了下来,然后对其进行上机测试,得出真实结果与预期结果进行对比。个
下载
陈小春哭诉:北京市辖区土豪怒砸2亿请他代言这款0充值传奇!真经典!贪玩游戏 · 顶新

什么是白盒测试,什么是黑盒测试,有几种测试得方法

11-25

同上论坛

条件覆盖、语句覆盖和路径覆盖

09-22

Int IsLeap(int year) { if(year%4 ==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } els论坛

这变态传奇你卸载算我输!爆率9.8,不花一分钱,刀刀爆橙装!贪玩游戏 · 顶新
这变态传奇你卸载算我输!爆率9.8,不花一分钱,刀刀爆橙装!贪玩游戏 · 顶新

语句覆盖、条件覆盖(分支覆盖)、判定覆盖、条件-判定覆盖、组合覆盖、路径覆盖 的区别

阅读数 1万+

文章转自:https://blog.csdn.net/virus2014/article/details/51217026 1语句覆盖使所有的判断语句都能执行一次的条件案例,例如有两个if语句,那么就...博文来自: Agony的博客

如果你连一毛钱都不想充,那就玩这款游戏,开局0元VIP龙腾传世 · 顶新
如果你连一毛钱都不想充,那就玩这款游戏,开局0元VIP龙腾传世 · 顶新

白盒测试用例设计方法-语句覆盖

阅读数 6087

白盒测试用例设计方法-语句覆盖法博文来自: 光明矢的专栏

原创
1
粉丝
52
喜欢
26
评论
9
等级:
 
访问:
 
21万+
积分:
 
2435
排名:
 
2万+
勋章:
原文地址:https://www.cnblogs.com/keaihaizi/p/11523683.html