Zadig 平台自动化测试配置及实操教程

高效测试驱动开发,Zadig 平台自动化测试全景解读

cover.png

如何利用 Zadig 配置并运行自动化测试?如何分析测试报告?怎么度量改进自动化测试效果?Zadig 平台不仅提供坚实的测试环境支持,还涵盖了性能测试、功能测试、接口测试、UI 测试以及端到端测试等多样化的测试场景。

本文通过实战案例,深入展示在 Zadig 中实施自动化测试的全过程,旨在最大化地为业务质量保驾护航,确保测试的深度与广度。

# 配置测试

Zadig 测试主要包含自动化测试集管理、测试环境的支持、测试执行和结果分析,同时支持标准 Junit / HTML 测试报告的输出。

# 准备工作

# 配置基本信息

进入项目的测试模块,点击 新建测试,配置基本信息。

相关参数说明:

  • 测试名称:对该测试的标识,可阅读有意义即可
  • 依赖的软件包:运行测试用例时的软件应用、框架依赖,本例依赖 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(被测环境的名称) 环境变量控制不同被测对象。当集成环境增多时,可直接复用已有测试套件对其进行质量保障。

# 解锁更多测试场景

Background Image

作为一名软件工程师,我们一直给各行各业写软件提升效率,但是软件工程本身却是非常低效,为什么市面上没有一个工具可以让研发团队不这么累,还能更好、更快地满足大客户的交付需求?我们是否能够打造一个面向开发者的交付平台呢?我们开源打造 Zadig 正是去满足这个愿望。

—— Zadig 创始人 Landy