AREX 在开发自测场景中应用实践
前言
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
利用 OpenNJet HA Copilot 实现高可用部署 (二)
NGINX 向云原生演进,All inOpenNJet 配置同步 上一篇文章介绍了OpenNJet如何实现高可用配置,这一篇文章介绍下高可用模式下实现集群配置同步的功能。OpenNJet有很多动态配置的模块,这些动态的配置可以利用我们HA模块实现在主备节点之间进行同步。 主节点通过动态配置接口(声明式api或者命令式api)动态更新配置,然后backup节点能够及时同步这些配置。主节点宕机,backup节点动态更新配置,再主节点重新起来后,也能够及时同步更新的配置。最终保证主备节点都能够保证彼此配置的最新同步。 测试 配置说明 下面的测试场景,均以一台主节点,一台backup节点进行测试 主节点: 192.168.40.136 broker进程配置如下 C++ #配置主节点监听端口和ip listener 1883 192.168.40.136 #配置本地socket地址,用于本地worker进程通信 listener 0 /root/bug/njet1.0/data/mosquitto.sock log_dest file logs/mosquitto.log ...
- 下一篇
开源 MQTT 图形客户端 MqttInsight 发布 v1.0.3
本次发布重点是新增了消息数量、消息负载、消息内容提取等统计图表的功能,可以灵活的从主题和消息内容中通过通配符、正则表达式、JsonPath、XPath来匹配和提取需要的内容生成相应的图表。 本次详细更新信息如下: 新增 ✨ 新增消息数量、消息负载、消息内容等统计图表 消息时间显示格式可在选项中设置 发布历史记忆(相同主题的保留最后发送的载荷) 增加消息导出为CSV格式文件 优化 🙌 退出时清除临时文件夹 优化消息导出 优化消息发布面板高亮语法支持 优化菜单,屏蔽被非鼠标左键点击执行 允许未订阅而收到的消息 变更已收藏的订阅的格式时可自动保存订阅的格式 修复 🐛 修复与Broker断开后不能重连的问题 修复通过脚本订阅的主题未出现在订阅面板的问题 修复日志标签页关闭后不再输出日志的问题 修复发布QoS>0的消息时如果Broker未回复PUBACK导致卡死的问题 修复关闭订阅后列表未及时刷新的问题 修复取色下拉面板布局错乱的问题 修复订阅列表不能及时刷新的问题 修复消息搜索栏输入搜索文本后直接点击过滤按钮不能启动搜索和过滤的问题
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- 2048小游戏-低调大师作品
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果