如何利用 Zadig 配置并运行自动化测试?如何分析测试报告?怎么度量改进自动化测试效果?Zadig 平台不仅提供坚实的测试环境支持,还涵盖了性能测试、功能测试、接口测试、UI 测试以及端到端测试等多样化的测试场景。
本文通过实战案例,深入展示在 Zadig 中实施自动化测试的全过程,旨在最大化地为业务质量保驾护航,确保测试的深度与广度。
# 配置测试
Zadig 测试主要包含自动化测试集管理、测试环境的支持、测试执行和结果分析,同时支持标准 Junit / HTML 测试报告的输出。
# 准备工作
- 本例中的自动化测试源码 fork 自测试用例 (opens new window),用于自动验证 KodeRover 官网(https://www.koderover.com (opens new window))及文档站(https://docs.koderover.com (opens new window))访问无异常
- 用例源码使用 Go 语言实现,测试框架选用 ginkgo + gomega
# 配置基本信息
进入项目的测试模块,点击 新建测试
,配置基本信息。
相关参数说明:
- 测试名称:对该测试的标识,可阅读有意义即可
- 依赖的软件包:运行测试用例时的软件应用、框架依赖,本例依赖 go1.16.13
- 代码信息:测试用例所在的代码仓库,根据集成的代码源实际情况填写。
# 配置自动化测试脚本
#!/bin/bash
set -ex
export GOPROXY=https://goproxy.cn,direct
cd zadig/examples/test-demo/test
ginkgo -v --junit-report=out.xml # 运行测试用例并产出 Junit xml 格式的测试报告
# 设置测试报告输出
- 此例中为生成的报告位置: $WORKSPACE/zadig/examples/test-demo/test ,在相应位置填写即可,若路径下有多个 Junit xml 文件,Zadig 会自动分析合并汇总后输出测试报告结果。
# 运行测试
- 执行自动化测试。
在测试任务执行时,可查看执行日志。
# 查看测试报告
- 待测试任务运行完毕,点击测试结果中的链接可查看测试报告。可概览测试用例的运行结果和耗时,不同结果用例的比例,对失败/错误的用例进行过滤分析,查看失败信息以辅助定位分析等。
# 分析测试效能
- 质量中心提供了整个系统的测试集看板,可全局预览所有项目的测试用例总数量、执行次数、平均执行时间、通过率等指标,一览无余。
在数据视图 - 效能洞察中,可对指定项目中测试的趋势、健康度、平均测试时长以及周测试收益进行查看分析,做到有的放矢。
# 解锁更多姿势
关于自动化测试在 Zadig 中更多的使用姿势,为业务质量保障提供更多价值。
# 对更新的服务进行实时测试验证
将测试和开发过程的工作流关联起来,实际场景中可以并行开发代码、并行部署后自动化验证测试。
# 质量保证前置到研发环节:对每一次代码变更做保障
将测试和工作流关联后,开启工作流的触发器功能。提交代码变更后,会自动触发工作流执行,部署更新服务并执行自动化测试,降低测试开发工程师的介入成本。在代码变更(eg:PullRequest / MergeRequest)下可看到工作流的执行情况,将这段代码变更的质量反馈到变更阶段,尽早暴露质量风险。
# IM 通知:让测试价值产生于无形之中
为工作流配置通知功能,和 IM 系统(飞书/企业微信/钉钉)对接。工作流运行完毕后即将运行结果/测试报告等详细信息发送至 IM 系统。和触发器结合起来使用,研发工程师提交代码变更后,便可在 IM 中便捷地获得自动化测试结果,及时反馈质量风险,让研发工程师专注在创造业务价值上。

# 基于一套测试套件对不同的环境做验证
巧妙利用自定义变量,可复用一套测试套件对多套集成环境进行测试验证。对上述源码做简单的改造(https://github.com/koderover/zadig/blob/main/examples/test-demo/test-multi-envs/multi_env_test.go (opens new window)),利用自定义变量 ENV_NAME(被测环境的名称) 环境变量控制不同被测对象。当集成环境增多时,可直接复用已有测试套件对其进行质量保障。
# 解锁更多测试场景
如果内置的软件包/测试框架无法满足测试需求,可以在系统设置中添加新的软件包应用或者添加自定义镜像来支持更多测试场景/测试框架。