jmeter单接口和多接口测试
@@@@@@@@@@@@@@@
# 路漫漫其修远
最近接触到了多接口串联,接口串联的技术会在其他帖子有说明,其核心技术点就是通过正则表达式和变量来实现接口的关联。目前为止呢笔者用到的地方还只有一个,就是关于session保持的时候。但是看到很多资料都说测试过程中经常遇到b接口需要用a接口的返回数据,但是笔者到目前都没怎么遇到过,思来想去,是笔者打开方式不对吗?于是专门找了一块流程上有前后关系的地方进行实践,以下就详细说说这次学习成果。
在本系统中有一个类似如下的业务场景:
业务场景:电商平台中,客户退货流程。客户提出退货申请-退货申请发送至商家-商家处理退货申请-客户确认退货成功
待测功能:查询该用户进行中的退货进度
难点1:商家回复处理过程在商家平台
难点2:无法从上一接口的相应信息提取有用字段,提交申请返回就一个true,连id都没有,等于接口没办法关联,但是实际又是存在业务逻辑的前后关系
针对以上场景我设计了两种测试方案:
- 方案1:单接口测试,数据写死,固定测试数据,针对性设计不同的订单数据,对基础数据要求比较高
自动化流程:1先手动生成各类型,处于各阶段的退货订单
2调用查询退货进度接口查询对应客户的退货订单,并断言与步骤1生成的数据是否一致
优点:单个工作量小,接口独立,稳定性高。
缺点:数据维护成本高,真实性差,每个接口都需要大量数据测试
- 方案2:接口关联,模拟业务流程,通过接口控制数据的传递,只需要给出初始订单数据,即可模拟出业务流程中的动态数据流。
自动化流程:1 调用新增退货申请接口,新增退货申请并发送商家
2 调用查询退货进度接口查询步骤1生成的订单,断言是否查询到步骤1生成的数据,是否处于对应进度(已提交)
3调用商家回复接口回复申请
4 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(商家已处理)
5 调用用户确认接口,确认退货成功
6 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(退货完成,订单关闭)
优点:真实性强,数据易于管理,更清晰更流程化
缺点:工作难度大,工作复杂,代码维护成本高,稳定性差
总结
方案一偏向接口功能测试,测试接口对于不同数据的处理情况。方案二偏向业务流程测试,测试不同的业务流程中数据的变化及接口的处理情况,更真实模拟实际场景
笔者做完后发现,这不就有点像单元和集成的关系嘛。最终笔者选择了方案一,因为笔者公司不止一个人,除了待测的查询进行中订单状态接口外的其他接口并不在我负责范围,所以我只需要针对我的接口进行针对性测试即可。其实选择哪种测试方式并不重要,自动化的目标旨在降低测试成本,提高测试效率,适合自己的方式,就是最好的了。
--以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正
jmeter单接口和多接口测试的更多相关文章
- 基于Jmeter的接口自动化测试实践
在去年实施了一年的三端(PC.无线M站.无线APP[Android.IOS])后,今年7月份开始,我们开始进行接口自动化的实施,目前已完成了整个框架的搭建以及接口的持续测试集成.今天做个简单的分享. ...
- Jmeter多接口测试之参数传递
接口测试包含单接口测试和多接口测试,通过组合多个接口实现一组功能的验证称为多接口测试,单接口重在单个接口多种请求组合的响应断言,多接口重在组合不同接口,实现流程的串联和验证.多接口测试涉及到接口之间参 ...
- Jmeter Http接口性能测试
Jmeter Http接口性能测试 1. 启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2. ...
- JMeter进入接口压力测试
关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...
- 【技术博客】 利用Postman和Jmeter进行接口性能测试
利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...
- GAT2.0使用文档(单接口开发)
3 开始写用例 3.1接口用例开发 1) 准备工作 l 第一步从github(https://github.com/GeneralAutomationTesting/GAT2.0 ...
- EMS电子面单接口对接使用-免费版
快递鸟电子面单接口,可一次对接15家快递公司, 无需和每一家快递公司做对接.支持快递有四通一达.顺丰.EMS.宅急送.德邦.优速等15家快递公司,对顺丰有电子面单服务需求的可以选择顺丰自有的电子面单或 ...
- 快递鸟顺丰电子面单接口API-JAVA
一.电子面单对接案例 1.接口描述 接口支持的消息接收方式:HTTP POST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;cha ...
- 基于PHP的对接电子面单接口平台案例
电子面单接口目前有三种对接方式,快递电子面单接口.菜鸟电子面单接口和快递鸟电子面单接口.这三种接口各有特点. 一.电子面单接口定义 1. 快递电子面单接口:快递公司自己开发的电子面单服务, 商家使用必 ...
随机推荐
- 从零开始用electron整个跨平台桌面应用---基础配置篇
1.安装node.npm node以及npm都需要是最新版本(版本过低有坑) 2.安装淘宝镜像cnpm(建议,下载较快) npm install -g cnpm --registry=https:// ...
- 一.前后端分离及drf实现序列化的原理
为什么要进行前后端分离 可pc.app.pad多端适应 SPA开发模式的流行--单页web应用(只有一html页面) 可实现前后端开发职责清(不分离时,前端是通过后端给的变量并渲染出来方式拿到数据! ...
- 学习 Java 网站推荐给你
推荐几个非常不错的 Java 学习网站 LearnJava 在线 这是一个非常不错的学习 Java 的在线网站,纯免费.这是一个个人项目,旨在通过简单有效的在浏览器中进行练习让你快速掌握 Java 编 ...
- sublime 搜索时忽略文件夹
如上图:添加 "folder_exclude_patterns": ["要忽略的文件夹"]
- springbean 生命周期
springbean 和java对象得区别: 1.对象:任何符合java语法规则实例化出来的对象 2.springbean: 是spring对普通对象进行了封装为BeanDefinition,bean ...
- shell进阶篇之字典和数组结合应用案例
# 现在我们用字典结合数组来实现一个简单的远程管理机 远程管理机的需求:现在需要在一个管理机上实现下列两点内容: 1.需要可以实时查看现有项目运行状态 2.远程登陆任意一台机器 备注:现有的机器如下 ...
- Set 和 Map
1. 数组去重 <script type="text/javascript"> [...new Set(array)] </script> 2. 条件语句的 ...
- include文件包含漏洞
发现allow_url_include 是on状态 既然已经直接包含了phpinfo()是文件,首先搜索了一下allow_url_include,发现是处于打开的状态. 既然 allow_url_in ...
- 数据可视化之powerBI入门(九)PowerBI数据建模:其实一点都不高深
https://zhuanlan.zhihu.com/p/64149834 数据建模并没有那么高深,你同样可以学会!这篇文章通过一个实例创建一个简单的数据建模,并引出两个重要的概念:度量值和DAX. ...
- python 并发专题(九):基础部分补充(一)进程
概念 串行:所有的任务一个一个的完成. 并发:一个cpu完成多个任务.看起来像是同时完成. 并行:多个cpu执行多个任务,真正的同时完成. 阻塞:cpu遇到IO就是阻塞. 非阻塞:没有IO,就叫非阻塞 ...