代码覆盖率在敏捷式软件开发过程中的实践流量

01

前言

代码测试覆盖率是一种度量,它描述了对程序源代码的测试程度,是白盒测试的一种手段,能够直观暴露测试用例无法覆盖到的代码块。作为提升代码质量的利器,爱奇艺开发团队和QA团队在如何接入、使用等方面做了一些探索性的尝试与实践。

目前代码覆盖率大多停留在整体层面,没有细化到更小的粒度。在协同开发过程中,如果能精细到需求粒度级别覆盖率,关联到具体的负责人,将能有效提高测试效率和精度。

本文将从代码覆盖率接入和使用的角度,叙述了如何结合代码管理、项目管理等DevOps工具进行精细化代码覆盖率统计以帮助提高代码质量。

  02

背景

互联网公司软件开发模式多为敏捷式或者迭代式开发模型,弥补了传统开发模式的一些弱点,具有更高的成功率和开发效率,能够先尽快地将产品投向市场,再通过用户的广泛参与,不断修改优化产品,实现产品的快速迭代,更好地适应用户市场变化。

不过随着项目的迭代,功能场景变多,代码工程会愈加庞大复杂,代码质量也因此至关重要。如何在开发测试周期提升代码质量,代码测试覆盖率作为一个可以衡量代码质量的标准,如何接入使用覆盖率数据,是一个值得深入探索实践的方向。

  • 定义

> 代码覆盖(英语:Codecoverage)是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。

  • 代码覆盖率的意义

1. 完善测试用例:从代码覆盖率报告可以明确,哪些代码是执行过的,哪些代码是没有执行过的。对于没有执行过的代码,测试人员需要思考下是代码逻辑设计问题还是测试用例问题。如果是代码逻辑问题,那么需要与开发人员和产品人员沟通,达成需求的一致性理解。如果是测试用例问题,那么需要补足缺失的测试场景,尽可能保证所有重要的场景都覆盖到了,避免未测试的代码上线造成服务故障。

2. 提升代码质量:开发人员从覆盖率报告可以获得代码的执行流程走向,帮助理解代码逻辑。分析生产环境的代码覆盖率报告,还可以区分出真实的用户请求执行覆盖情况,区分“有用/无用”代码,有利于优化简化代码逻辑。

3. 代码质量标准:代码覆盖率是一个确切的数值,将模糊定义的代码质量用精准的数据来量化,是白盒测试和代码质量的衡量指标。

从代码覆盖率报告可以明确,哪些代码是执行过的,哪些代码是没有执行过的,从未执行过的代码可以推算出测试用例是否充足,帮助测试人员理清代码逻辑和完善测试用例。代码测试覆盖率作为一项衡量代码质量的重要标准,可以在测试阶段发现隐藏问题,将隐性问题消灭在萌芽状态,减少线上问题发生。

  •  现状

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值