如何快速掌握阿里巴巴内部高效测试流程?
自动化测试是软件测试技术上的一大进步,我们都知道自动化测试可以给工作提效,减少重复劳动,但在实践过程中,却总是碰到各种各样的问题,导致进入自动化测试盲区。如何做好自动化测试,是很多企业迫切想要解决的问题。近日,阿里巴巴产品专家金桐从自动化的烦恼,到分层自动化单元测试、业务服务层测试和UI测试的优劣势分析,再到阿里巴巴分层自动化的实践之路,为大家提供了一套分层自动化实施解决方案。
自动化
为什么要做自动化?
自动化的烦恼

成本高
效果差
覆盖率低
及时性低

分层自动化

分层自动化的特点比较如下:
Unit(单元/底层服务):
Service(接口/集成服务):
UI(系统/页面):

除了分层方法与建议外,还有分层投入比,究竟花了多少时间做单测、多少时间作接口和UI?我们清楚知道,根据(N-1)M的劳力节约公式,不是所有项目都需要做自动化测试,主干核心、业务稳定、项目周期长和重复工作多的项目是需要做项目自动化测试的,图中展示了Google产品分层自动化投入比,它是比较完美的,当我们底层建设很完善的时候,上层建筑的确可以花费较少时间,维护成本也会相对降低。我们目前达不到,但可向这个比例去发展。
阿里巴巴分层自动化的实践
首先,分层自动化工具革命


UI自动化—AUI:

接口自动化—SAT:

单测—Amon:

不仅如此,阿里云效还从需求-开发-测试-发布整个项目流程中可工具化、平台化的手工工作,全面进行工具化、平台化的改造,如图所示。

开发环节:从拉分支开始,到自测的部署环境与单元测试,全部平台工具化。一键拉分支、一键部署、一键触发单测集成,不到喝杯咖啡的时间,即可查看环境部署结果和findbugs、PMD、Sonar等代码扫描结果。
测试环节:手工测试中有用例和缺陷两款主打产品,平台沉淀,无需再做一些文件传输,加上前面介绍的分层自动化相关测试平台与工具,在自动化测试工作上的效率提升,最终实现整体测试工作的平台与工具化。
其次,项目流程革命


图为阿里项目分层自动化持续集成完整示意图,我们多了集成自动化平台,该平台可以把分层自动化工具串联在一起,去做整个持续集成、持续交付操作,让工具具备了平台能力。不仅如此,我们还将分层自动化测试纳入到了拟发布流程中,开发同学提交环境部署后,会自动提交自动化测试,不需要测试同学介入,如果失败了才会通知测试人员排查,完全做到了CI/CD的理想效果。

项目集成可以使用,那么日常的产品回归也可以用,图为阿里产品分层自动化持续集成完整示意图,集成自动化给日常回归产品做了赋能,将分层自动化工具平台和集成自动化串联,去保证日常产品质量的回归。
- 阿里内部:大幅提高研发测试比,减少重复劳动带来的加班,更多高效工具的诞生,使用这套体系,B2B研发测试配比达到了8:1,部分产品线13:1,却全年无故障。
- 研发:单测成本降低,覆盖率可视化,自测有保障,故障降低。
- 测试:测试要求降低,重复工作减少,增加工作成就感,各种工具诞生。
- 云效客户:企业快速赋能,提高研发测试效率,快速掌握阿里内部高效测试流程。
关于云效(https://yunxiao.aliyun.com):
最后更新:2017-08-16 12:02:29