当前位置: 首页 > article >正文

基础组件-流量回放(全链路流量回放预研)

一、调研
  日常测试工作中,遇到问题如下:
1、服务架构升级或者重构,需要对原有的接口做全量回归
2、对于业务逻辑复杂的场景,每个迭代版本都需要大量的时间进行回归测试
3、编写自动化用例时复杂场景造数麻烦,日常自动化维护成本高
4、构造压测模拟数据麻烦
5、线上问题,无法再测试环境中重现
6、无法对线上核心接口采样之后做一些业务校验并实时监控业务正确性
二、流量复制
  用户访问系统造成的数据传输定义为流量,那么在用户访问系统的过程中,可以把进入和流出的数据复制下来,进行保存,待后续使用
三、流量回放
  获取到复制下来的流量后,按照接收的时间顺序,将他们一条一条的传输到待测试的服务中,让测试服务产生相应的响应
四、流量回放测试场景
1、复制下来什么内容就回放什么内容,即流量回放
2、复制下来的内容进行一些预设规则的过滤,或者特殊的处理后,再进行回放,即选择性回放
3、复制下来的内容,对其进行处理从中获取必要的数据项,比如搜索词,即关键词回放
五、技术选型

技术框架语言社区协议优点缺点
Jvm-sandbox-repeaterjava 活跃,github 2.0K start,博客较多,大公司有实践http,二进制 1、开源项目,功能丰富 2、单体,依赖少,无需配置,环境配置简单 3、功能丰富,支持流量过滤功能,按倍速回放功能,回放时改写接口参数等 4、资源消耗少,且不侵入目标应用的JVM运行环境,影响小 5、提供插件机制,插件不限制语言,方便拓展
GoReplaygolang活跃 github 15k star社区版:http 商业版本:http,二进制1、开源项目,代码简单,方便定制 2、3、4、5 点同sandbox-repeater 1、需要自研配置,监控、分析平台 2、社区版只支持HTTP协议,不支持二进制协议,且核心逻辑与HTTP协议耦合了,拓展麻烦 3、只支持命令行启动,没有内置服务,不好进行集成 4、官方提供插件较少 5、不支持mock 6、生产库会产生测试数据
RDebugphp,golang、C++ 一般,github 1.4k starhttp 1、开源项目,代码简单,方便定制 2、单体,依赖少,无需配置,环境配置简单 1、只支持命令行启动,没有内置服务,集成麻烦 2、功能简单 3、配置,监控,分析平台的支持机制,需要自研 4、不支持mock 5、生产环境产生测试数据
tcpreplayC一般,github 829 starrhttp,二进制同Redebug同Redebug
tcpcopyC一般,github 4k starhttp,二进制同Redebug同Redebug
ngx_http_mirror_moduleC活跃http,二进制同Redebug 1,2,3,4,5同Redebug 6、必须依赖nginx

http://www.kler.cn/news/135794.html

相关文章:

  • 论文-分布式-拜占庭将军问题
  • 免疫微环境、免疫细胞浸润分析、免疫功能分析
  • 解决在pycharm中使用matplotlib画图问题
  • SpringBean的配置详解 --中
  • UnitTest框架
  • 图像处理01 小波变换
  • uni-app开发微信小程序 vue3写法添加pinia
  • 云桌面 node_modules 切换艰辛历程记录 rebuild失败记录
  • Positive Technologies 利用 PT Cloud Application Firewall 保护中小型企业的网络资源
  • (八)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (检索 Retrieval)
  • 实用篇-ES-RestClient查询文档
  • 使用Lychee搭建个人图片存储系统并进行远程访问设置实现公网访问本地私人图床
  • 拼图游游戏代码
  • Vatee万腾携手Wiki EXPO 2023悉尼峰会 共谱辉煌未来
  • Java code auditing
  • 力扣刷题-二叉树-完全二叉树的节点个数
  • Go 语言中的map和内存泄漏
  • 【GitLab】-HTTP 500 curl 22 The requested URL returned error: 500~SSH解决
  • 界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器
  • 立哥先进技术-常用渗透测试工具
  • Workplace Search 的演变:使用 Elasticsearch 搜索你的私人数据
  • 细说MySQL数据类型
  • 安装R和Rstudio
  • 庖丁解牛:NIO核心概念与机制详解 06 _ 连网和异步 I/O
  • uniapp如何上传文件,使用API是什么
  • 贪吃蛇代码
  • JVM的运行时数据区
  • 算法学习 day26
  • SQL零基础入门教程,贼拉详细!贼拉简单! 速通数据库期末考!(九)
  • Android 解决CameraView叠加2个以上滤镜拍照黑屏的BUG (二)