【满满干货】聚合接口—自动化工具㊣

背景

在介绍接口自动化之前先给大家分享一下我所理解的“业务中台”的概念:业务中台是将企业的核心能力以数字化形式沉淀为各种服务中心,其目的是“提供企业能够快速,低成本创新的能力”。

例如公司内部的业务a、业务b同时有订单、登录等功能,可以将这部分功能抽离剥出,形成一个公共的能力,供不同的业务使用。在订单或登录功能出现变更时,可直接更新中台服务即可,业务侧在非必要情况下无需同步更新。

基于业务中台的概念下,就很经常出现一个情况,中台提供的接口实际是正常的,但是业务侧在聚合使用时,可能出现由于业务侧自身的部分接口异常,导致用户使用该功能出现异常。

除了上述反馈的问题现象外,,做UI自动化明显会与业务侧产生大面积的耦合,所以我们可以通过接口自动化来完成后端服务的功能巡检。

接口自动化

单接口自动化

很多公司都有单接口自动化,主要用于确保接口可调用成功,确保后端服务的接口不能报错,无法真实的模拟业务侧用户的实际操作行为,可能存在因为某个接口异常从而导致用户无法使用某个功能。

聚合接口自动化

聚合接口自动化的目的在于,模拟用户真实操作行为,提前梳理沉淀该功能涉及的全部接口,包含业务侧接口、业务中台接口以及接口之间的依赖关系,通过将用户行为涉及到的接口全部聚合在一起完成的自动化巡检,提前发现由于后端服务异常导致用户功能使用异常的场景。

当然如果业务侧有做UI自动化巡检,那我们接口巡检的时机可与业务侧错开来,提高巡检的频率,提早发现问题。

这边给大家简单分享下是如何做聚合接口自动化巡检的。

高效智能接口场景自动巡检方案

梳理某个功能涉及到的所有接口

以流程图的形式梳理某个功能所涉及到的所有接口,以及接口之间的依赖关系,以“订单功能”为例,梳理普通客户下单的前置操作和后置操作相关的接口依赖,其中:

1.前置操作包括:用户登录成功、获取商品列表、打开指定商品详情等。

2.后置操作包括:用户创建订单后发起订单支付、支付成功等。

下图为普通用户创建订单涉及到的基础接口依赖关系(仅供参考):

根据图中涉及到的接口,获取到对应的接口文档,选择自己熟悉的自动化框架,完成业务场景接口自动化脚本。

根据图中涉及到的接口,获取到对应的接口文档,选择自己熟悉的自动化框架,完成业务场景接口自动化脚本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531263.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

企业网盘私有化部署和本地私有化部署的区别

在当今数据量激增的背景下,企业如何高效、安全地管理和传输大量数据成为了一个关键问题。企业网盘作为一种解决方案,其部署方式直接影响到数据的安全性、工作效率的提升以及运营成本的控制。私有化部署与本地化部署是两种主流的企业网盘部署策略&#xf…

C语言_文件操作

文件基础 什么是文件 文件是在计算机中以实现某种功能、或某个软件的部分功能为目的而定义的一个单位。磁盘上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分的)。 程序文件 …

【MATLAB源码-第33期】matlab基于遗传算法的多层编码柔性作业车间调度问题仿真

操作环境: MATLAB 2022a 1、算法描述 1. 遗传算法: 遗传算法是一种基于自然选择和遗传遗传学的优化算法。它模拟了生物进化的过程,通过对问题解的编码(通常以染色体或基因型的形式)、交叉、变异等操作来生成新的解。…

Coze 识别用户意图

文章目录 Coze 识别用户意图 Coze 识别用户意图 本文将通过 LLM 节点、Condition 节点和插件节点构建一个用于识别用户意图的工作流。 效果示例 本文构建的示例工作流概览如下。 在该工作流中: 使用 LLM 节点将用户输入数据分为 1(天气)、…

Flume实时读取目录文件到HDFS案例

【尚硅谷】大数据技术之Flume教程从入门到实战_哔哩哔哩_bilibili 目录 flume简介 flume案例 1、监控端口数据官方案例 2、实时读取目录文件到HDFS案例 flume简介 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系…

【UE Niagara】烟雾特效

效果 步骤 1. 创建一个材质,这里命名为“M_Smoke” 设置混合模式为半透明,着色模型为无光照 连接如下节点 其中纹理采样节点所使用的纹理为引擎自带的“T_SmokeSubUV_8x8” 2. 新建一个Niagara发射器,模板使用“Empty”,这里命名…

MLeaksFinder报错

1.报错:FBClassStrongLayout.mm 文件:layoutCache[currentClass] ivars; 解决:替换为layoutCache[(id)currentClass] ivars; 2.编译正常但运行时出现crash indirect_symbol_bindings[i] cur->rebinding FBRetainCycleDetector iOS15 …

亚马逊运营必看!如何运用自养号测评获得买家评论转销量?

作为亚马逊卖家,相信大家对亚马逊的产品星级评分 (Rating) 都不陌生,这几颗亮眼的星星,不仅可以让你的Listing脱颖而出,获得足够多、足够高的产品评分,也是促使消费者下单的重要因素之一。 那么,亚马逊运营…

DepthFormer论文详解

摘要 本文旨在解决有监督单目深度估计的问题,我们从一项细致的试点研究开始,以证明远程相关性对于准确的深度估计至关重要。我们建议使用Transformer以有效地注意力机制对这种全局上下文进行建模。我们还采用一个额外的卷积分支来保留局部信息&#xff0…

NPU编译MultiScaleDeformableAttention

NPU对pytorch,想将检测模型在NPU上训练,存在编译MultiScaleDeformableAttention的需求。 然而,原dino模型https://github.com/IDEA-Research/DINO/tree/main/models/dino/ops/src 仅包含CPU版本和GPU版本: 是不是就真的无法解决…

2024/4/5—力扣—在排序数组中查找元素的第一个和最后一个位置

代码实现: 思路:二分法 方法一:分别查找左右侧边界 /*** Note: The returned array must be malloced, assume caller calls free().*/ int GetTargetFirstPosition(int *nums, int numsSize, int target) {int l 0, r numsSize - 1;while …

【北京迅为】《iTOP-3588开发板开发板系统编程手册》第3章 标准IO

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

蓝桥杯复习笔记

文章目录 gridflexhtml表格合并单元格 表单表单元素input类型 select h5文件上传拖拽apiweb Storage css块元素和行内元素转换positionfloat溢出显示隐藏外边距过渡和动画动画变形选择器属性选择伪类选择器 css3边框圆角边框阴影渐变text-overflow与word-wrap jsdom操作documen…

STL容器之unordered_set类

文章目录 STL容器之unordered_set类1、unordered系列关联式容器2、unordered_set2.1、unordered_set介绍2.2、unordered_set的使用2.2.1、unordered_set的常见构造2.2.2、unordered_set的迭代器2.2.3、unordered_set的容量2.2.4、unordered_set的增删查2.2.5、unordered_set的桶…

C++--this指针

this 指针是一个隐含于每一个成员函数中的特殊指针。它是指向一个正操作该成员函数的对象。当对一个对象调用成员函数时,编译程序先将对象的地址赋予this指针,然后调用成员函数。每次成员函数存取数据成员时,C编译器将根据 this 指针所指向的…

由于找不到msvcp100.dll,无法继续执行代码要如何处理?正确的msvcp100.dll修复

由于找不到msvcp100.dll,无法继续执行代码要如何处理?其实要处理这种dll文件丢失的问题,还是比较简单的,只要我们了解清楚这个msvcp100.dll文件,那么就可以快速的解决,好了,废话不多说,我们一起…

证件照小于30kb怎么弄?这个工具三步搞定

当我们需要将照片上传到各种平台时,常常会遇到图片文件大小限制的问题。无论是社交媒体平台还是工作需求,如果照片文件过大,系统会提示上传失败或无法上传。想要解决的这个问题,可以选择将图片压缩指定大小,比如图片压…

git操作码云(gitee)创建仓库到上传到远程仓库

想必有的小伙伴在为上传到码云远程仓库而感到烦恼吧!本篇为大家详细讲解实现过程,跟着我的步伐一步一步来。 我就当大家已经注册好了码云 一、在码云上需要的操作 接下来我们需要使用到 git 了 二、git 上的操作 到了咋们的git了,开整 首…

代码浅析Point-LIO

0. 简介 对于最近出来的Point-LIO(鲁棒高带宽激光惯性里程计),本人还是非常该兴趣的,为此花了一些时间重点分析了Point-LIO的代码,并研究了它相较于Fast-LIO2的区别 1. laserMapping.cpp 第一部分就是实现对激光雷达视场角的图像分割。首先…

Python学习从0到1 day24 第二阶段 SQL ① SQL基础语法

还是会再见的 —— 24.4.10 MySQL基础及常用操作博主已整理在了两个专栏中,具体查看博主两个专栏的文章 ① Mysql数据库 ② 深入学习MySQL数据库 DDL —— 数据库管理 DDL —— 数据表管理 DML 数据操作语言 数据插入 INSERT 数据删除 DELETE 数据更新 UPDATE 注意…