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

# 路漫漫其修远 

  最近接触到了多接口串联,接口串联的技术会在其他帖子有说明,其核心技术点就是通过正则表达式和变量来实现接口的关联。目前为止呢笔者用到的地方还只有一个,就是关于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. socket 建立网络连接,client && server

    client代码: package socket; import java.io.IOException; import java.net.Socket; /** * 客户端_聊天室 * * @aut ...

  2. 在 XUnit 中使用依赖注入

    在 XUnit 中使用依赖注入 Intro 之前写过一篇 xunit 的依赖注入相关的文章,但是实际使用起来不是那么方便 今天介绍一个基于xunit和微软依赖注入框架的"真正"的依 ...

  3. docker 运行镜像

    docker run -e "环境变量=值“ --nam 别名 -v /etc/localtime:/etc/localtime:ro [时区保持跟宿主机器一致]-d -p 21021:80 ...

  4. CentOS7下普通账号通过systemctl管理服务需要输入root密码问题

    问题描述: 使用普通账号test通过systemctl启动系统服务提示需要输入root密码: 解决方案: 根据上面提示得知权限由polkit进行管理,对应的是org.freedesktop.syste ...

  5. 二、web自动化快速使用

      1.启动浏览器 from selenium import webdriver # 启动谷歌浏览器,依赖:先安装好chromedriver.exe驱动 # 方式1.当chrome.driver放在p ...

  6. C++中vector和堆的常用使用方法&例题:数据流中的中位数

    vector常用函数: (1)a.size();//返回a中元素的个数: (2)a.push_back(5);//在a的最后一个向量后插入一个元素,其值为5 (3)a[i]; //返回a的第i个元素, ...

  7. Fetch.AI 首席技术官Toby Simpson参与AMA活动

    感谢7月11日在YouTube上参与 Fetch.AI AMA的所有人.我们收到了大量的问题,遗憾的是我们没有时间回答其中的多数问题.如果你错过了现场AMA,你可以在下面观看全部内容: 在本文中,我们 ...

  8. python处理json总结

    一.首先,了解下什么是JSON? JSON:JavaScript Object Notation [JavaScript 对象表示法] JSON 是一种轻量级的数据交换格式,完全独立于任何程序语言的文 ...

  9. 问题:IE11下window.history.go(-1)返回404

    解决方法: 在后面添加return false,如: onclick="javascript:window.history.go(-1);return false" 这个问题在IE ...

  10. 3个月不发工资,拖延转正?2天跳槽软件测试成功,9.5k他不香吗!

    今天聊到的小哥哥很悲催又很神奇,身处武汉的他,正好赶上了疫情,不仅长达3个月没有发工资,拖延转正,还要降薪,三重打击,实名悲催. 不破不立,试用期80%再打8折,怎么跳槽工资都得比这高,果然,仅仅两天 ...