如何保障研发质量不踩坑?阿里技术专家教你几招

简介: 面对自动化测试成本高、测试不稳定、测试无法严控发布质量等常见研发过程中的测试问题时,企业如何避免?如何保障研发质量?阿里巴巴研发效能事业部-研发协同平台高级技术专家李帅(花名焦霸),通过阿里巴巴实践经验总结,为大家支招,并提供详细可落地的解决方案。
导读:面对自动化测试成本高、测试不稳定、测试无法严控发布质量等常见研发过程中的测试问题时,企业如何避免?如何保障研发质量?阿里巴巴研发效能事业部-研发协同平台高级技术专家李帅(花名焦霸),通过阿里巴巴实践经验总结,为大家支招,并提供详细可落地的解决方案。


研发过程中常见的测试问题

自动化测试成本高

在持续集成持续交付这样的过程中,自动化测试往往是非常重要的一环,但是在互联网高速迭代的研发模式下,往往没有时间和精力去投入,开发的时间都不够,更别说测试了。即使开始有自动化测试,后期也很难有毅力继续去维护。

积累的问题太多

自动化测试开始的晚,往往是在应用稳定了之后,我们才有精力去投入到自动化测试,这样造成的局面是积累的历史问题一大堆。对于测试用例失败还会去解决,但对于覆盖率低,代码不规范等等这样的问题,通常都是无力修复和解决的,但这些问题又和研发质量息息相关。

测试不稳定

这是一个老大难的问题了。测试环境不稳定,通常会导致测试本身不稳定,测试失败无法复现,因为它可能是由多种原因导致的。通常会有很多非代码原因的失败频现,这样会干扰我们整个测试执行过程。那整个的研发团队呢,就会对自动化测试丧失信心,通常他们发现一个测试失败了,结果不是因为代码原因,他们就会很沮丧。另外,多人共享一套测试环境,调试是非常不方便的。

测试无法严控发布质量

测试和发布,在一些初创团队,或者使用开源系统搭建起来的系统里面,往往只有两套或者多套系统,那么存在的问题是测试和发布通常是不能自动关联的,要么能关联,但是无法管控,这都是常见的问题。


阿里巴巴实践经验和解决方案

面对上述问题,阿里巴巴是如何解决的呢?经过这些年的积累,阿里巴巴总结了一些实践经验和解决方法,在这里分享给大家。

用例录制

面对自动化成本高的问题,阿里目前是通过用例录制的方式解决。首先,通过录制能够去降低开发成本;其次,录制一定是用例级别录制,这样可以降低测试的维护成本。另外,要包含多维度录制手段,包括WebUI录制,移动端录制,流量录制等,通过录制的方式解决自动化测试时用例撰写成本高的问题。

基线测试

面对积累的问题太多,在阿里内部,我们提出一个测试理念叫做基线测试,什么是基线测试呢?实际上它是把目前线上的版本视为基线,每次发布过程都基于当前的基线进行测试,发布成功之后会更新这个基线。那如何进行这个基线测试呢?首先我们会取基线和发布版本diff为增量,基于这个增量,进行增量代码扫描,增量测试覆盖率,增量的测试用例的测试,所有的数据产生的问题、缺陷数据等等都是以增量部分进行的,这样有利于我们整个质量管控推进。

我们首先要求团队,新的代码不能存在问题,比如覆盖率一定要达标,代码扫描不能有问题,我们用例部分的缺陷是优先修复的,这样有利于保证新的部分是经过验证的。同时在新的部分比较稳定的情况下,我们可以将旧的问题先搁置起来,有精力有时间的情况下再去修复。

云测试

面对测试不稳定这个问题的时候,在阿里内部已经打造了一套云测试系统。它包含了测试引擎,以及背后的资源调度。通常是使用ECS或者Docker为每次测试运行,提供一套唯一的测试环境,这样的好处是整个测试过程都是有动态隔离的环境去执行的,保证了测试的稳定性。另外,我们测试执行完之后,往往有一些调试的需求,这时候我们就会保留几个小时用于调试。

流程管控

第四个问题是测试无法严控发布质量。在阿里内部有一套一站式的研发协同平台,从需求、代码、发布、测试、度量全链路打通,自然而然所有环节都是管控在一起的,云效就是以这套系统打造的。同时,我们在发布环节,就通过发布流水线和测试服务这两个功能,严控质量红线。

860349d5addafbad7894d4ef62f2f42a70ba86db

云效体验


最近云效公有云上线三个功能,一个是 测试服务,包含了单元测试、接口测试和安全扫描这三个测试服务;第二个是 测试集合,是跟流水线紧密结合的功能;第三个是 测试报表功能,测试报表会把我们以往的测试记录都记录下来,大家可以经过一些搜索条件进行简单的搜索筛选。

32d3ce5f655b4b207b0ceeab266ad2dbc9626e18


作者介绍:李帅(花名焦霸):阿里巴巴研发效能事业部-研发协同平台高级技术专家。2010年入职阿里巴巴,一直从事自动化测试工具、研发协同平台相关产品开发和架构设计工作,目前负责阿里巴巴研发协同平台测试域及效能度量域相关工作。

讲师PPT下载:点击 下载
本文来源 云效(ali_yunxiao)微信号


相关文章
|
7月前
|
数据管理
速来测试|你所在企业的数智化升级到位了吗?
速来测试|你所在企业的数智化升级到位了吗?
|
数据采集 数据挖掘 BI
数据研发“新人”如何快速落地?
本文将以“如何快速落地”、“快速适应新环境”为出发点,探讨数据研发“新人”如何快速了解公司业务、领域模型和业务系统,然后快速高效的推进相关工作,赢得合作伙伴的信任和支持。
41022 36
《阿里云总监课第五期第六节:研发挑战 - 研发过程中挑战》电子版地址
阿里云总监课第五期第六节:研发挑战 - 研发过程中挑战
74 0
《阿里云总监课第五期第六节:研发挑战 - 研发过程中挑战》电子版地址
|
测试技术 数据库
阿里研究员:测试稳定性三板斧,我怎么用?
如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。今天,阿里研究员郑子颖来说说测试稳定性的三板斧。据说,阿里同学们都非常认同这三板斧,看完文章感觉很多做的事情有了理论基础。
2738 0
|
运维 Cloud Native 架构师
抢先报名丨2021云上架构与运维峰会12月10日线上开启,五大精彩看点不容错过
本次峰会,希望通过分享云上架构与运维的最佳实践,促进业内DevOps与IaC理念的落地,帮助企业“用好云管好云”,释放云的技术红利。
抢先报名丨2021云上架构与运维峰会12月10日线上开启,五大精彩看点不容错过
|
小程序 数据库 数据安全/隐私保护
经验总结 | 独立开发者如何打造自己的产品?
经验总结 | 独立开发者如何打造自己的产品?
766 0
经验总结 | 独立开发者如何打造自己的产品?
|
监控 安全 Cloud Native
阿里产品专家:高情商的技术人,如何做沟通?
不愿沟通是固执,不会沟通是傻瓜,不敢沟通是奴隶。——德拉蒙德
阿里产品专家:高情商的技术人,如何做沟通?
|
存储 SQL 关系型数据库
加入阿里技术团队三年,哪些习惯让我在工作上持续受益?
2017年研究生毕业,我加入阿里巴巴数据库技术团队,从事分布式数据库研发,如今算来已经有三年时间了,在这期间,我深度参与了双十一背后的数据库PolarDB-X从设计到实现的全过程。在这三年的时间里,于我而言,最大的收获来自两方面:
3904 0
加入阿里技术团队三年,哪些习惯让我在工作上持续受益?
|
测试技术 数据可视化
给研发工程师的代码质量利器 | SOFAChannel#5 直播整理
本文根据 SOFAChannel#5 直播分享整理,主题:给研发工程师的代码质量利器 —— 自动化测试框架 SOFAActs。
939 0
|
自然语言处理 程序员 项目管理
41岁阿里工程师:35岁转管理,真的是必经之路吗?
墨玦,阿里巴巴 iDST 高级技术专家。博士毕业于北京邮电大学,计算机应用专业,目前主要从事语音技术工程化方面的研发。回顾在阿里的三年时光,他感慨良多,写下了这篇总结,与大家共勉。
7621 0