简介: 对于现代软件研发来说,持续、快速、高质量、低风险地交付需求特性,是业务对研发的主要诉求。而要做到这一点,除了要有良好的架构设计、卓越的工程能力,快速可靠的测试反馈也是其非常重要的一环,达到这一点,需要依靠测试自动化。 作为面向企业开发者的DevOps平台,云效提供了丰富的能力,帮助大家在DevOps流程中落地测试自动化实践。
对于现代软件研发来说,持续、快速、高质量、低风险地交付需求特性,是业务对研发的主要诉求。而要做到这一点,除了要有良好的架构设计、卓越的工程能力,快速可靠的测试反馈也是其非常重要的一环,达到这一点,需要依靠测试自动化。
作为面向企业开发者的DevOps平台,云效提供了丰富的能力,帮助大家在DevOps流程中落地测试自动化实践。
简单来说,企业自建测试自动化体系,分为三种形式:
形式一:基于开源测试自动化工具
很多企业自建测试自动化,都是从选择一个开源测试自动化工具开始的。一个开源测试自动化工具,往往包含以下几部分(以RobotFramework为例):
- 测试执行工具,如robot
- 测试用例,如.robot文件
- 测试结果和报告,如执行完生成的log.html和report.html
- 测试能力库,用来完成特定的测试,如SeleniumLibrary
对于一个测试自动化体系,往往还需要加上:
- 调度和执行平台
- 结果分析与统计报表
- 测试结果通知能力
基于云效,整个的架构是这样的。
- 测试自动化用例存储在云效代码平台的git仓库中
- 用于执行测试自动化的测试步骤,基于云效的自定义step能力创建
- 触发和串联代码、构建和自动化测试的云效流水线
- 通知机制(钉钉消息)
- 针对质量情况的数据报表,可以直接显示在流水线测试结果中,也可以将数据发送给自建的数据报表服务展示
以RobotFramework框架为例,在云效上接入开源测试自动化工具有以下几步。
1. 选择或编写对应开源测试自动化工具的flow step
云效没有内置开源测试自动化组件,但是基于其提供flow cli工具,企业可以很容易地定制符合自己要求的测试自动化组件。如何通过flow cli实现并发布一个flow step,可以参考云效学院flow cli相关内容。
这里,仅以RobotFramework为例,对其关键部分做一下说明。
首先通过flow step i