走出回归测试困境,爱奇艺精准测试体系建设

8月7日下午,爱奇艺技术产品团队举办了第17期“i技术会”,本次技术会的主题是“智能化、精准化测试前沿探索”,本次沙龙与TesterHome社区联合举办。

其中,来自爱奇艺的技术专家苏慧为大家带来了“爱奇艺精准测试体系”建设的分享,讲述了爱奇艺精准测试实践过程中,为了走出回归测试困境、实现精细化测试能力建设进行的一系列技术攻坚,例如采用自研代码覆盖率工具,改变原生代码覆盖率工具实现方式,支持服务端多人并行测试以及微服务调用链串联,最终实现回归测试质量与效率双向提升。

福利!!! 关注公众号,在后台回复关键词“测试”,就可以获得本次i技术会嘉宾分享PPT和录播视频。

以下为“爱奇艺精准测试体系建设”干货分享,根据【i技术会】演讲整理而成。

01

为什么要做精准测试?

精准测试是为了解决回归测试的质量和效率问题。

在具体的业务中,产品功能的迭代、缺陷修复等等是极为常见的需求场景,但这些看似微小且常见的改动都有可能会对产品庞大的历史功能产生影响,所以需要通过回归测试进行质量保障。

回归测试在多个场景都可能会被引入,除上文提到的两种外,测试完成之后需求发生变更、合并代码上线阶段、客户端封版之前的集成测试阶段等等都会涉及。

而在回归测试的过程中,首先会遇到测试范围如何选取的问题。

如果每次都对全量用例进行回归,随着项目的快速迭代,用例库中的用例数量也会不断攀升,回归成本也将居高不下;如果不做全量回归,就需要人工判断回归范围,而这往往依赖于测试同学和研发同学的沟通、测试同学的经验积累或部分同学的代码走读。这些方法都较为主观,往往不够准确,容易出现质量风险。根据爱奇艺历史数据,由历史功能影响引入的问题比重达到了50%。

所以精准测试就是要解决传统回归测试的问题,通过技术的手段让回归测试变得精准,提升其质量和效率。其基本方法为,在用例执行过程中,通过代码覆盖率工具记录用例与代码的映射关系,保存在知识库中。当代码发生变动时,可以通过查询知识库,准确找到本次变更的代码影响了哪些测试用例,有针对性地进行回归。这样就能够达到提高测试效率,同时减小质量风险的目标。

02

爱奇艺精准测试体系建设

爱奇艺精准测试体系主要有以下三个特点:

(1)从使用场景上看,支持客户端和服务端多端使用,支持手工和自动化测试场景,和爱奇艺内部的多个平台联动,打通了整体使用流程;

(2)从实现层面看,可以准确捕获单个用例的代码覆盖。服务端能做到系统级串联,客户端则能实现多组件整合;

(3)从精准度方面看,已实现用例和代码分支或代码块级别的关联。

下图是爱奇艺精准测试体系整体架构图,中间的红色部分是核心的精准测试服务,负责建立用例和代码映射关系知识库并根据GIT提交记录计算测试范围及影响范围。

在采集用例执行代码的过程中,不同的终端需要用到的代码覆盖率工具也会不同。目前,爱奇艺精准测试体系已经能够支持安卓端、iOS客户端以及服务端。

在与外围平台的集成上,服务端可以和环境平台结合,通过环境平台实现代码覆盖率工具的安装;客户端则可以和构建平台做集成。

因为爱奇艺当前大部分使用场景为手工测试,因此我们也将其和公司内部用例管理平台进行了打通,配合使用。

03

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值