阿里巴巴如何进行测试提效 | 阿里巴巴DevOps实践指南

本文介绍了阿里巴巴如何通过分布式测试和精准测试提升测试速度,以及如何利用测试覆盖率和增量覆盖率提升测试有效性。分布式测试通过并发执行用例缩短验证时间,精准测试通过关联业务方法减少无效执行。此外,通过收集覆盖率数据,分析增量覆盖率,以确保测试充分性和发布成功率。这些方法在阿里巴巴内部已显著提升测试效率。
摘要由CSDN通过智能技术生成

在这里插入图片描述
编者按:本文源自阿里云云效团队出品的《阿里巴巴DevOps实践指南》,扫描上方二维码或前往:https://developer.aliyun.com/topic/devops,下载完整版电子书,了解阿里十年DevOps实践经验。

在任何业务发展的过程中都会不可避免的面临服务的膨胀,应用复杂度的增加,可持续测试的难度不断增加。一方面,用例集会不断的膨胀,一次 CI 验证要数十分钟,用例的维护成本越来越高,开发效率开始降低。另一方面,我们花了精力写了很多自动化用例,希望能够提高投入产出比,也就是测试的有效性。

提升测试速度

分布式测试

分布式测试的核心思想是通过增加计算资源,并发的对 case 进行执行,并在执行后对测试产生的结构化结果进行解析合并,进而提升单次测试的执行速度。

整个测试的执行过程可以划分为以下三个阶段:

  • 测试用例解析与分发
  • 分组用例的执行
  • 分组测试结果合并
    在这里插入图片描述
    以阿里云某云产品核心团队的某工程为例,该工程拥有 1 万多个单元测试用例,在没有采用分布式测试方案之前,一次 CI 的验证时长超过 4 小时,导致问题发现、修复时长拉长,影响了日常的迭代速度。该团队后采取了分布式测试的方式进行,平均的执行时长被优化到了半小时以内。

分布式测试的本质就是用执行资源的堆叠,去换取更快的执行速度。理论上我们把每一个测试用例拆分到一个容器内执行,可以获得极致的反馈速度。但是并不是所有场景下都适合采用分布式测试,例如用例之间存在依赖,这些用例不能无差别的分布在不同的执行分组。

精准测试

分布式测试很大程度上解决了测试执行的速度问题。但是如果在任何情况下都无差别的执行全量的用例,会存在一些问题:

  • 对计算资源的浪费

  • 引入了大量的无效执行

  • <
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值