覆盖率概念

 我来答
舒适还明净的海鸥i
2022-06-11 · TA获得超过1.7万个赞
知道小有建树答主
回答量:380
采纳率:0%
帮助的人:69.6万
展开全部
一、覆盖率的概念

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

二、覆盖率的目的

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

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

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

(1)语句覆盖;

(2)判定覆盖;

(3)条件覆盖;

(4)判定条件覆盖;

(5)条件组合覆盖;

(6)路径覆盖。

1、语句覆盖(Statement Coverage)

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

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

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

2、判定覆盖(Decision Coverage)

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

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

3、条件覆盖(Condition Coverage)

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

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

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

判定条件覆盖也叫分支条件覆盖(Branch Condition Coverage)它的含义是:在测试时,运行被测程序后,所有判断语句中每个条件的所有可能值(为真为假)和每个判断本身的判定结果(为真为假)出现的比率。

判定条件覆盖=(条件操作数值或判定结果至少被评价一次的数量)/(条件操作数值总数+判定结果总数)

*判定条件覆盖率实际上就是判定覆盖率和条件覆盖率的组合。

5、条件组合覆盖(Condition combination coverage)

条件组合覆盖的含义是,在测试时,运行被测程序后,所有语句中子条件所有可能的取值结果组合出现过的比率。

条件组合覆盖=(至少被执行到一次的条件组合)/总的可能的条件组合数

*条件组合覆盖是除路径覆盖以外,最强的一种覆盖方式。

6、路径覆盖(Path Coverage)

路径覆盖的含义是:在测试时,运行被测程序后,程序中所有可能的路径被执行过的比率。

路径覆盖=(至少被执行到一次的路径数)/总的路径数。

四、总结五种逻辑覆盖率。

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

2、条件组合覆盖是除路径覆盖以外,最强的一种覆盖方式。

3、百分百的条件组合覆盖一定包含:百分百的语句覆盖、百分百的判定覆盖、百分百的条件覆盖以及百分百的判定条件覆盖;但不辩竖敏一定包含百分百的路径覆盖。

4、百分百的判定覆盖(分支覆盖)一定包含:百分百的语句携枝覆盖。

5、百分百的条件覆盖不一定包含:百分纤告百的语句覆盖。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式