注册 / 登录

提升工程效能的利器 – “测试即服务架构”的设计与实践

分会场:  测试实践/测试工具链建设/大前端&移动端

 

案例来源 :

案例讲师

茹炳晟

前 eBay 测试基础架构(QE-Infrastructure)技术主管

毕业于上海交通大学,获硕士学位,前eBay中国研发中心测试基础架构(QE-Infrastructure)技术主管,历任惠普(HP)软件中国研发中心资深测试架构师、性能测试专家,阿尔卡特朗讯(Alcatel-Lucent)高级测试主管,思科(Cisco)中国研发中心资深测试工程师等职位,具有超过13年的软件测试开发经验和3年后端开发经验,具有丰富的测试框架设计与自动化测试经验。

曾负责建立全球大型电商网站的测试基础架构和和自动化测试方案,主持搭建持续集成测试生态体系,并负责主导无线路由产品的整体自动化测试方案、金融平台产品SDK测试框架设计、系统开发平台的白盒测试方案、DSP平台自动化测试方案、轨道交通安全软件平台测试、大规模产品链的自动化部署和多个大型电子商务网站的自动化功能测试,API测试与性能测试。

曾在国际以及国内学术期刊上发布多篇测试管理和自动化测试解决方案的论文,并担任“软件测试世界杯赛”的亚洲区评委。

扫描二维码分享案例

 

案例简述

 

目前,包括Google、Facebook和eBay等国际互联网巨头的研发团队都在推行开发人员自己做测试,也就是说不会再有专职测试团队,原本的测试团队正逐渐向工程效率团队转型,在此过程中,工程效率团队应该如何设计和构建高效的测试基础架构和支持工具链生态体系来确保全局工程效能的提升就变得尤其重要,为此我在团队内提出了“测试即服务(Test as a Service)“的架构,提倡所有测试相关的活动都以Web Service的形式对外提供统一接口,一方面可以方便开发人员的直接使用,而不需要知道里面具体的细节,让开发人员可以把有限的精力放在业务测试的逻辑实现上,另一方面可以规范化测试与CI/CD的接口。为此,我们设计并在eBay落地了以下测试服务:

1)测试执行服务 (Test Execution Service)
2)测试数据服务 (Test Data Service)
3)测试执行环境服务 (Test Bed Service)
4)测试报告服务 (Test Report Service)
5)全局测试配置服务 (Global Registry Service)
6)工程效率工具链服务(App store for Engineering Productivity Tools)

最后,我还会讲解如何基于这些测试服务来构建”大型全球电商网站的全局测试架构“。

 

案例目标

 

Google、Facebook和eBay等国际互联网巨头的研发团队都在推行开发人员自己做测试,也就是说不会再有专职测试团队,原本的测试团队正逐渐向工程效率团队转型,也就是所谓的“去QE化”。


在此过程中,我们需要考虑如何设计和构建高效的测试基础架构和支持工具链生态体系来确保开发人员可以顺利地开展测试工作,并且可以让开发人员可以把全部注意力集中在业务逻辑的测试上,而无需去关注诸如测试执行环境,测试数据之类的测试支持性工作,并由此提升全局的研发效率。

 

成功(或教训)要点

 

eBay在大量实践的基础上,提出了“测试即服务(Test as a Service)”的测试基础架构,在此全新测试基础架构的支持下,开发人员以及CI/CD流水线中测试的发起与执行将由“测试执行服务(Test Execution Service)”统一完成,所有测试的发起与执行都通过统一Web Service接口来实现,使得CI/CD流水线脚本可以和具体的测试框架解耦;


测试执行过程中的测试数据准备将由“测试数据服务 (Test Data Service)”集中完成;测试执行环境的搭建与维护将由“测试环境服务 (Test Bed Service)”负责,其中引入了容器技术,完全采用按需动态伸缩的模式,在降低测试环境硬件资源的前提下,大幅度提高了测试的并发执行能力;


最后,测试结果的分析以及失败用例的分析将由“测试结果分析服务(Test Result Analysis Service)”自动完成,将原本按天计算的工作量降低分钟级别。


在此过程中,我们还建立了类似于Apple App Store概念的Engineering Productivity Tool Store,用于集中管理大量公司级别的DevOps以及测试相关的工具链,最大程度重用了各个团队自己开发的小工具,降低了各个团队重复造轮子的浪费。

 

案例ROI分析

 

在eBay的大型票务产品线上推行“去QE化”的过程中,我们全面推行并实施了“测试即服务”的测试基础架构,由此带来了以下多方面的显著收益:


1)专职测试人员数量降低至原本数量的20%左右,在没有增加额外开发人员投入以及延缓产品交付周期的前提下,所有的测试工作都顺利由开发工程师自己完成。


2)测试执行环境的硬件资源降低至原本数量的80%的前提下,测试并发执行能力提高了将近5倍。


3)对于失败用例的分析和分类,将原本按天计算的工作量降低了分钟级别。


4)盘活了各个团队自己构建的各类小工具,使得这些小工具在公司层面可以被最大限度地重用,避免各个团队闭门造车,重复造轮子。

 

案例启示

 

为了顺利推行“去QE化”,必须要有与之相匹配的测试基础架构的支撑,使开发人员可以将测试工作的重心放在测试本身上,而无需去关心诸如测试执行环境、测试数据准备、测试发起等辅助测试的工作,从而最大限度地保证全局研发效率的提升。

 

案例在团队中的意义

 

借鉴了Google的工程实践,并且在eBay的大产品线上顺利落地,大幅度提升了研发团队的工程效能。

 

领取大会PPT

我要参会

大会全套演讲PPT

立即领取

大会即将开幕,点击抢票!

我要参会