@@@@@@@@@@@@@@@

# 路漫漫其修远 

  最近接触到了多接口串联,接口串联的技术会在其他帖子有说明,其核心技术点就是通过正则表达式和变量来实现接口的关联。目前为止呢笔者用到的地方还只有一个,就是关于session保持的时候。但是看到很多资料都说测试过程中经常遇到b接口需要用a接口的返回数据,但是笔者到目前都没怎么遇到过,思来想去,是笔者打开方式不对吗?于是专门找了一块流程上有前后关系的地方进行实践,以下就详细说说这次学习成果。

在本系统中有一个类似如下的业务场景:

业务场景:电商平台中,客户退货流程。客户提出退货申请-退货申请发送至商家-商家处理退货申请-客户确认退货成功
待测功能:查询该用户进行中的退货进度

难点1:商家回复处理过程在商家平台
难点2:无法从上一接口的相应信息提取有用字段,提交申请返回就一个true,连id都没有,等于接口没办法关联,但是实际又是存在业务逻辑的前后关系

针对以上场景我设计了两种测试方案:

  • 方案1:单接口测试,数据写死,固定测试数据,针对性设计不同的订单数据,对基础数据要求比较高

  自动化流程:1先手动生成各类型,处于各阶段的退货订单
        2调用查询退货进度接口查询对应客户的退货订单,并断言与步骤1生成的数据是否一致

  优点:单个工作量小,接口独立,稳定性高。
  缺点:数据维护成本高,真实性差,每个接口都需要大量数据测试

  • 方案2:接口关联,模拟业务流程,通过接口控制数据的传递,只需要给出初始订单数据,即可模拟出业务流程中的动态数据流。

  自动化流程:1 调用新增退货申请接口,新增退货申请并发送商家
        2 调用查询退货进度接口查询步骤1生成的订单,断言是否查询到步骤1生成的数据,是否处于对应进度(已提交)
        3调用商家回复接口回复申请
        4 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(商家已处理)
        5 调用用户确认接口,确认退货成功
        6 调用查询退货进度接口查询步骤1生成的订单,断言订单是否正确(退货完成,订单关闭)

  优点:真实性强,数据易于管理,更清晰更流程化
  缺点:工作难度大,工作复杂,代码维护成本高,稳定性差

总结

方案一偏向接口功能测试,测试接口对于不同数据的处理情况。方案二偏向业务流程测试,测试不同的业务流程中数据的变化及接口的处理情况,更真实模拟实际场景

笔者做完后发现,这不就有点像单元和集成的关系嘛。最终笔者选择了方案一,因为笔者公司不止一个人,除了待测的查询进行中订单状态接口外的其他接口并不在我负责范围,所以我只需要针对我的接口进行针对性测试即可。其实选择哪种测试方式并不重要,自动化的目标旨在降低测试成本,提高测试效率,适合自己的方式,就是最好的了。

--以上内容均为笔者原创,转载请注明出处,如有不当欢迎指正

jmeter单接口和多接口测试的更多相关文章

  1. 基于Jmeter的接口自动化测试实践

    在去年实施了一年的三端(PC.无线M站.无线APP[Android.IOS])后,今年7月份开始,我们开始进行接口自动化的实施,目前已完成了整个框架的搭建以及接口的持续测试集成.今天做个简单的分享. ...

  2. Jmeter多接口测试之参数传递

    接口测试包含单接口测试和多接口测试,通过组合多个接口实现一组功能的验证称为多接口测试,单接口重在单个接口多种请求组合的响应断言,多接口重在组合不同接口,实现流程的串联和验证.多接口测试涉及到接口之间参 ...

  3. Jmeter Http接口性能测试

    Jmeter Http接口性能测试 1.      启动Jmeter Jmeter下载解压即可使用,Jmeter启动,点击D:\ProgramFiles\jmeter\apache-jmeter-2. ...

  4. JMeter进入接口压力测试

    关键字: Jmeter.单接口.压力测试.插件监听.服务器端 摘要: 使用Jmeter对单个接口进行压力测试:监听并发量对接口响应时间.服务器资源占量.Jmeter本身只能获取到Tomcat的状态,所 ...

  5. 【技术博客】 利用Postman和Jmeter进行接口性能测试

    利用Postman和Jmeter进行接口性能测试 作者:ZBW 版本:v1.1 在Phylab的开发过程中,对于生成报告接口的性能考量十分重要.原有的Latex接口虽然生成的报告美观,但编译Latex ...

  6. GAT2.0使用文档(单接口开发)

    3   开始写用例 3.1接口用例开发 1)         准备工作 l  第一步从github(https://github.com/GeneralAutomationTesting/GAT2.0 ...

  7. EMS电子面单接口对接使用-免费版

    快递鸟电子面单接口,可一次对接15家快递公司, 无需和每一家快递公司做对接.支持快递有四通一达.顺丰.EMS.宅急送.德邦.优速等15家快递公司,对顺丰有电子面单服务需求的可以选择顺丰自有的电子面单或 ...

  8. 快递鸟顺丰电子面单接口API-JAVA

    一.电子面单对接案例 1.接口描述 接口支持的消息接收方式:HTTP POST 请求方法的编码格式(utf-8):"application/x-www-form-urlencoded;cha ...

  9. 基于PHP的对接电子面单接口平台案例

    电子面单接口目前有三种对接方式,快递电子面单接口.菜鸟电子面单接口和快递鸟电子面单接口.这三种接口各有特点. 一.电子面单接口定义 1. 快递电子面单接口:快递公司自己开发的电子面单服务, 商家使用必 ...

随机推荐

  1. Jquery的一些方法

    $.trim(str);说明:去掉字符串首尾空格.

  2. python读取文件路径

    不同系统对文件路径的分割符不同: 在Windows系统下的分隔符是:\ (反斜杠). 在Linux系统下的分隔符是:/(斜杠). 绝对路径和相对路径 绝对路径就是文件的真正存在的路径,是指从硬盘的根目 ...

  3. ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors

    ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors 问题描述: 警告日志出现报错: Sun Jun 21 00:00 ...

  4. Java贪吃蛇小游戏

    贪吃蛇 思路 首先构思游戏布局,计算合理的坐标系. 绘制静态数据(广告.初始小蛇.提示信息.棋盘) 添加键盘监听事件,改变游戏状态以及小蛇运动方向 添加定时器,让小蛇在一段时间内移动一定的距离 随机产 ...

  5. 洛谷 P4042 [AHOI2014/JSOI2014]骑士游戏

    题意 有\(n\)个怪物,可以消耗\(k\)的代价消灭一个怪物或者消耗\(s\)的代价将它变成另外一个或多个新的怪物,求消灭怪物$的最小代价 思路 \(DP\)+最短路 这几天做的第一道自己能\(yy ...

  6. WPF中国地图

    实现鼠标移动到某个地区显示Popup弹框 1,地图 <Grid Margin="0,0,0,0" Grid.Row="1"> <Path St ...

  7. day52 html进阶

    目录 一.分组与嵌套 二.伪类选择器 三.伪元素选择器 四.选择器优先级 五.css属性相关 1 字体属性 2 文字属性 3 背景图片 4 边框 5 display属性 6 盒子模型 7 浮动 一.分 ...

  8. mysql解压缩版安装和卸载

    所有的cmd命令都是在管理员模式下输入 官方下载网址:https://dev.mysql.com/downloads/mysql/ 安装mysql mysqld install //安装mysql:卸 ...

  9. JVM 专题十八:垃圾回收(二)垃圾回收相关算法

    1. 标记阶段 1.1 引用计数算法 1.1.1 对象存活判断 在堆里存放着几乎所有的Java对象实例,在GC执行垃圾回收之前,首先需要区分出内存中哪些是存活对象,哪些是已经死亡的对象.只有被标记为己 ...

  10. Mysql基础(五):多表查询、pymysql模块

    目录 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 2. 连表查询 3. 子查询 4. pymysql模块 数据库04 /多表查询.pymysql模块 1. 笛卡尔积 将两表所有的数据一 ...