前言

AREX 是一款重新定义自动化测试的回归测试平台。它基于 Java Agent 的代码注入能力,实现流量录制回放技术,捕获线上真实用户流量和数据,在开发测试等验证环境回放,比对差异,明确代码变更影响面,实现全自动化回归测试。

AREX 运行模式与使用场景

AREX 运行的两种模式

AREX 除了可以为测试人员提供回归测试的便利,还可以助力开发人员在新功能开发后进行本地自测,快速发现代码问题并立即修复,有效缩短开发周期,提高开发效率。

常见使用场景

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 命令,显示本地应用中录制的 4 个接口,以及每个接口被录制的次数。

ls -o/--operation

执行 ls -o 3 命令来查看第 3 个接口 /biz/getOrderInfo 的录制数据。

结果将在浏览器中显示,这个页面将列出该接口下的所有录制数据和类型:

点击符号 + 或 Detail 按钮以查看具体的录制信息:

replay

执行 replay 命令开始回放,回放成功后,将在浏览器中跳转结果:

展开以查看差异详情:

开发测试左移

测试左移是指由开发人员在开发阶段就进行测试,目的是更早地发现和解决问题。

利用 AREX 流量录制回放的能力,开发人员可以在本地进行快速代码验证,不用等到正式提测后才开展测试工作。

测试左移流程

  1. 生产应用安装 AREX 后,开始录制海量真实线上请求作为测试用例。
  2. 开发在本地开发完所有需求后,在单元测试完成后,启动代码改动后的被测应用(需要搭载 AREX Agent)
  3. 用生产流量对本地代码进行验证测试
  4. 自测完成并全部通过后,可以完成自测并提交代码。

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


↙↙↙阅读原文可查看相关链接,并与作者交流