测试覆盖率及其特点

测试覆盖率及其特点
2018年04月30日 10:01:48 Cupupup 阅读数 1286
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.youkuaiyun.com/Cupupup/article/details/80147126
测试覆盖率的含义
测试覆盖率既不是测试的一种方法,而是衡量测试完整性的一种手段。通过测试覆盖率我们可以知道测试是否充分,还存在哪些潜在的风险和弱点,指导测试人员有目的补充增加覆盖率的测试用例。当然,也不用一味的追求100%的覆盖率,因为这不仅提高了成本,而且即便覆盖率达到了100%也仍会有未被用例设计到潜在BUG。

白盒测试覆盖率
白盒测试覆盖率一般是逻辑覆盖率,常见的逻辑覆盖率有:语句覆盖率、判定覆盖率、条件覆盖率、判定条件覆盖率、条件组合覆盖率、路径覆盖率等。

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

特点:即使语句覆盖率达到100%,仍有可能对判定或者条件有遗漏。

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

特点:即使判定覆盖率达到100%,仍有可能对条件有遗漏。

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

特点:即使条件覆盖率达到100%,仍有可能对判定有遗漏。

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

特点:即使判定条件覆盖率达到100%,仍有可能对条件组合有遗漏。

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

特点:即使条件组合覆盖率达到100%,仍有可能对路径有遗漏。

路径覆盖率
条件覆盖率=(被至少执行一次的路径数目)/(总的路径数目)

特点:即使路径覆盖率达到100%,仍有可能对条件有遗漏。

实际中,路径覆盖率常用来衡量基本路径的测试方法的结果。

基本路径测试方法
1.画出程序的程序流程图

2.将程序流程图转化成控制流图

3.通过控制流图计算复杂度

复杂度=控制流图节点+1

上图例子中,复杂度=3+1=4

4.写出基本路径

路径1:28→30→34→56 路径2:28

→30→39→42→48→56

路径3:28→30→39→42→44→56

路径4:28→30→39→53→56

灰盒测试覆盖率
函数覆盖率
函数覆盖率=(至少被执行一次的函数数量)/(系统中函数的总数)

接口覆盖率
接口覆盖率=(至少被执行一次的接口数量)/(系统中函数的接口)

黑盒测试覆盖率
需求覆盖率
需求覆盖率=(被验证的需求数量)/(需要验证的需求数量)

面向对象测试覆盖率
基于继承的上下文覆盖率
基于继承的上下文覆盖率=(累加在每个上下文内被执行到的判定结果数)/(上下文结果判定总数X上下文数)

基于状态的上下文覆盖率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值