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


逻辑覆盖率:语句覆盖<条件覆盖<判定覆盖<条件-判定覆盖<组合覆盖<路径覆盖

语句覆盖

基本思想:设计用例,使程序中的每个可执行语句至少执行一次。
每个可执行语句:每个语句,那么下图中执行为:1->2->3->4
在这里插入图片描述

  • 优点:可以很直观的从源代码获得用例,无需细分每条判定表达式
  • 缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件是无法测试的,如在多分支的逻辑运算中无法全面考虑。语句覆盖是最弱的逻辑覆盖

判定覆盖

基本思想:设计用例,使得程序中的每一个判断取真分支和取假分支至少经历一次,即判断真假值均曾被满足
在这里插入图片描述
重点是判定针对于真假判断),覆盖条件:

条件1:T,条件3:F
条件1:F,条件3:T

或者

条件1:T,条件3:T
条件1:F,条件3:F

  • 优点:判定覆盖比语句覆盖具有更强的测试能力。同时判定覆盖与具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例
  • 缺点:往往大部分的测试用例是由多个逻辑条件组合的,若仅仅判断其整个的最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径,判定覆盖仍是很弱的逻辑覆盖

条件覆盖

基本思想:设计用例,使每个判断中的每个条件的可能取值至少满足一次
在这里插入图片描述
重点是判断语句的条件针对条件语句

判断表达式1:
设条件 a>0 为真 记T1
			假 记F1
条件 b>0   为真 记T2
			假 记F2 
			
判断表达式3:
设条件 a>1 为真 记T3
			假 记F3
条件 c>1   为真 记T4
			假 记F4		

覆盖条件:

T1,F2,T3,F4
F1,T2,F3,T4

我们用条件覆盖的思想就是覆盖T1,T2,T3,T4,F1,F2,F3,F4

  • 优点:增加了对条件判断情况的测试,增加了测试路径
  • 缺点:条件覆盖不一定包含判定覆盖,例如,上面的测试用例中就不包含判断1的T分支,判断3的F分支。条件覆盖只能保证每个条件语句取值至少有一次为真,而不考虑所有的判定结果

条件–判定覆盖

基本思想:设计用例,使判定条件中的所有可能(条件成立、不成立)至少执行一次取值,同时,所有判断的可能结果(取真,取假),至少执行一次
在这里插入图片描述
覆盖条件用例:

T1,T2,T3,T4
F1,F2,F3,F4

要满足:T1,T2,T3,T4,F1,F2,F3,F4

  • 优点:能同时考虑到判定,条件两种覆盖
  • 缺点:未考虑条件的组合情况

组合覆盖

基本思路:设计用例,使所有可能的条件取值组合至少执行一次
在这里插入图片描述
重点:所有条件取值的组合

编号覆盖条件取值
1T1,T2
2T1,F2
3F1,T2
4F1,F2
5T3,T4
6T3,F4
7F3,T4
8F3,F4
覆盖条件覆盖组合
T1,T2 , T3 , T41,5
T1,F2 , T3 , F42,6
F1,T2 , F3 , T43,7
F1,F2 , F3 , F44,8
  • 优点:组合覆盖满足了判定覆盖、条件覆盖、和判定、条件覆盖准则。
  • 缺点:线性的增加了测试用例的数量

路径覆盖

基本思想:设计测试用例,来覆盖程序中的所有可能执行的路径
在这里插入图片描述
继上面的的条件取值表格

覆盖路径覆盖组合
1-2-41,5
1-2-51,8
1-3-44,7
1-3-54,8
  • 优点:这种测试方法可以对程序进行彻底的测试,比前面五种的测试要广
  • 缺点:需要设计大量的,复杂的测试用例,使得工作量呈指数增长,不见得能把所有的条件组合都覆盖
  • 172
    点赞
  • 816
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值