怎样才能保证单元测试效果

本文探讨了如何确保单元测试的有效性,重点在于白盒覆盖率,包括语句覆盖、条件覆盖、分支覆盖等。同时强调了仅依赖覆盖率不足以保证测试效果,需要结合黑盒测试、人工检查及自动化测试来发现代码缺失和用例不足。提倡通过工具自动创建用例以捕获边界和非法输入导致的极端错误。
摘要由CSDN通过智能技术生成

  1、衡量测试效果的基本指标:白盒覆盖

  衡量测试效果的基本指标是白盒覆盖率,即统计测试对代码逻辑单位的覆盖状况。代码的逻辑单位主要有:语句(块),条件、判定、分支、路径。常用的白盒覆盖有六种:语句覆盖、条件覆盖、分支覆盖、判定条件覆盖、修正判定条件覆盖、和路径覆盖。每种覆盖都有它的局限性,因此,实践中要多种覆盖组合应用。

  除MC/DC外,其他覆盖率的计算公式很简单:

  覆盖率 = 已覆盖逻辑单位数 / 全部逻辑单位数 * 100%,如:

  语句覆盖率 = 已覆盖语句块数 / 全部语句块数 * 100%;

  C/DC = (已覆盖判定数 + 已覆盖条件数) / (全部判定书 + 全部条件数) * 100%,这里的判定数和条件数是指条件和判定计算结果,即判定值和条件值。

  修正判定条件覆盖,即MC/DC是欧美航空标准。MC/DC主要用于检测判定内的条件之间的关系是否正确,对逻辑操作符&&和||是相当敏感的,但是并不检查从函数入口到出口的代码组合的覆盖,缺陷还是相当明显的。路径覆盖检查入口到出口的各种代码组合的覆盖,显然,MC/DC和路径覆盖的组合,才是最强的覆盖指标。

  

  ​

  统计覆盖率的一般方法是插装,即在被测代码中插入监视代码,监视执行状况。监视代码必须不影响被监视代码本身的功能逻辑。

  工具可以将覆盖状况清晰标示出来,语句覆盖、条件覆盖、M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多测师111

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值