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

本文详细探讨了白盒测试中的覆盖率概念,包括语句覆盖、判定覆盖、条件覆盖、判定条件覆盖和路径覆盖。通过实例分析,解释了不同覆盖率的计算方法和它们之间的关系,并指出100%的条件组合覆盖并不一定意味着100%的路径覆盖。此外,还分享了测试相关的学习资源。
摘要由CSDN通过智能技术生成

 

覆盖率##

一、覆盖率的概念###

覆盖率是用来度量测试完整性的一个手段,现在有越来越多的测试工具能够支持覆盖率测试,但是它们本身并不包含测试技术,只是测试技术有效性的一个度量。白盒测试中经常用到的覆盖率是逻辑覆盖率。

二、覆盖率的目的###

覆盖率对于软件测试有着非常重要的作用,通过覆盖率我们可以知道我们的测试是否充分,我们测试的弱点在哪些方面,进而指导我们设计能够增加覆盖率的测试用例,有效的提高测试质量。

一方面覆盖率技术可以指导测试用例的设计;另一方面,可以通过覆盖率来衡量白盒测试的力度。

三、逻辑覆盖率主要有以下六种:###

(1)语句覆盖;

(2)判定覆盖;

(3)条件覆盖;

(4)判定条件覆盖;

(5)条件组合覆盖;

(6)路径覆盖。

1、语句覆盖(Statement Coverage)

语句覆盖的含义是,在测试时,运行被测程序后,程序中被执行到的可执行语句的比率。

语句覆盖=(至少被执行一次的语句数量)/可执行的语句总数。

*语句覆盖是最弱的一种覆盖方式。

2、判定覆盖(Decision Coverage)

判定覆盖也叫分支覆盖(Branch Coverage),含义是:在测试时,运行被测程序后,程序中所有判断语句的取真分支和取假分支被执行到的比率。

判定覆盖=(判定结果被评价的次数)/判定结果的总数。

3、条件覆盖(Condition Coverage)

条件覆盖的含义是:在测试时,运行被测程序后,所有判断语句中每个条件的可能取值(真值和假值)出现过的比率。

条件覆盖=(条件操作数值至少被评价一次的数量)/(条件操作数值得总数)

4、判定条件覆盖(Decision Condition Coverage)

判定条件覆盖也叫分支条件覆盖(Branch Condition Coverage)它的含义是:在测试时,运行被测程序后,所有判断语
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值