前言
AREX是一款重新定义自动化测试的回归测试平台。它基于 Java Agent 的代码注入能力,实现流量录制回放技术,捕获线上真实用户流量和数据,在开发测试等验证环境回放,比对差异,明确代码变更影响面,实现全自动化回归测试。
AREX 运行模式与使用场景
AREX 运行的两种模式
AREX 除了可以为测试人员提供回归测试的便利,还可以助力开发人员在新功能开发后进行本地自测,快速发现代码问题并立即修复,有效缩短开发周期,提高开发效率。
- Standalone 模式: 针对于开发人员,下载 Arex-Cli 并在本地运行,可在提测前使用此模式进行接口业务代码变更后的快速自测。
- AREX 完整运行模式: 针对于测试人员,在测试环境安装完整的 AREX 服务, 并在开发环境下载 AREX Agent JAR 包,被测试应用配置 Agent 并运行。
常见使用场景
1. Debug 和定位验证
根据指定的 AREX 测试用例,将 AREX 回放地址指向本地,即在本地运行回放测试,用于开发人员对特殊场景进行调试和验证。
同时,这种方法也可以用于解决生产环境中的问题,便于开发人员定位验证问题并快速解决。
2. 开发测试左移
利用 AREX 流量录制回放的能力,开发人员可以在本地进行快速代码验证,不用等到正式提测后才开展测试工作。
使用 Standalone 模式 Debug 和定位验证
AREX Standalone 模式指的是 AREX 在本地环境中独立运行,无需构建存储服务或其他服务组件。
使用 Standalone 模式的优势包括:
- 独立性:可以在没有服务组件的情况下运行,这使得它更加独立和灵活。
- 安全性:不需要依赖服务组件,因此它可以更好地保护系统免受潜在的安全威胁。
- 性能:可以更好地利用系统资源,因为它不需要与其他服务组件共享系统资源。
- 易于部署:不需要依赖其他服务组件,因此可以更容易地部署和安装。
Mac/Linux 环境安装
执行如下命令安装 AREX Agent 与 Standalone 应用:
AREX_AGENT_MAJOR_VERSION=1.0.1 bash -c "$(curl https://raw.githubusercontent.com/arextest/deployments/dev/shell/arex.standlone.install.sh)"
执行完成后,如下图所示,代表最新版本的可执行文件已成功下载并安装:
Windows 环境安装
从 release 页面上的 Assets 目录中下载 arex-standalon-all.zip
文件,并解压。
双击运行解压后的 arex-standalon-all
文件夹中的 arex-cli.bat
脚本文件执行脚本 。
开发人员使用 Standalone 进行本地回归测试
脚本启动成功后,根据命令行中列出的 Java 进程,输入被测应用对应的数字:
这里我们选择了 3 号进程,成功启动 Agent 后,将列出当前支持的命令:
-
ls – 列出录制的数据 [option: -o/–operation] 操作名称,如果录制了多个接口,可以指定接口来查看录制的情况,并在浏览器中显示结果
-
replay – 回放录制的数据并查看差异 [option: -n/–num] 回放次数,默认为最近的 10 次
-
watch – 查看回放结果和差异
-
debug – 对特定的用例进行本地调试 [option: -r/–recordId] 录制 ID,必填选项。
命令行操作
查看录制列表
执行 ls 命令,显示本地应用中录制的 4 个接口,以及每个接口被录制的次数。
ls -o/–operation
执行 ls -o 3 命令来查看第 3 个接口 /biz/getOrderInfo
的录制数据。
结果将在浏览器中显示,这个页面将列出该接口下的所有录制数据和类型:
点击符号 + 或 Detail 按钮以查看具体的录制信息:
replay
执行 replay 命令开始回放,回放成功后,将在浏览器中跳转结果:
展开以查看差异详情:
开发测试左移
测试左移是指由开发人员在开发阶段就进行测试,目的是更早地发现和解决问题。
利用 AREX 流量录制回放的能力,开发人员可以在本地进行快速代码验证,不用等到正式提测后才开展测试工作。
测试左移流程
- 生产应用安装 AREX 后,开始录制海量真实线上请求作为测试用例。
- 开发在本地开发完所有需求后,在单元测试完成后,启动代码改动后的被测应用(需要搭载 AREX Agent)
- 用生产流量对本地代码进行验证测试
- 自测完成并全部通过后,可以完成自测并提交代码。
AREX 测试左移的回放实践
下载 AREX Agent 并安装配置
bash -c "$(curl https://raw.githubusercontent.com/arextest/deployments/dev/shell/arex.agent.download.sh)
按照提示配置:
AREX 回放测试
在浏览器中打开 AREX 前端页面,开始进行回放测试,回放完成后,根据测试报告进行检查和修改。
结果报告范例如下图:
完成所有问题修改后,Merge 代码到主分支,以上就是测试左移的全部流程。
总结
有了 AREX 加持,减少了自测的成本,提高了自测效率。提前检查修改的正确性,并确保计划外的接口没有受到代码变更的影响,让冒烟测试升级到自动化完整回归测试,有效提高提测质量。
AREX 文档:https://arextest.com/zh-Hans/docs/intro/
AREX 官网:https://arextest.com/
AREX GitHub:https://github.com/arextest
AREX 官方 QQ 交流群:656108079