10分钟学会Jmeter接口测试

这篇具有很好参考价值的文章主要介绍了10分钟学会Jmeter接口测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一提到接口测试,通常大家会有这样的疑问:前端测试不是已经覆盖到各种业务逻辑了吗?为什么还要做接口测试,接口测试和前端测试是不是重复了?对于这个问题,可以从下面几个方面来解释:

什么是接口测试?

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
为什么要做接口测试?

现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求,需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

如今系统越来越复杂,传统的靠前端测试已经大大降低了效率,而且现在我们都推崇测试前移,希望测试能更早的介入测试,那接口测试就是一种及早介入的方式。例如传统测试,你是不是得等前后端都完成你才能进行测试,才能进行自动化代码编写。 而如果是接口测试,只需要前后端定义好接口,那这时自动化就可以介入编写接口自动化测试代码,手工测试只需要后端代码完成就可以介入测试后端逻辑而不用等待前端工作完成。

接口测试实战案例分享

一、测试需求描述

1、 本次测试的接口为http服务端接口

2、 这里我们举例2个保存数据的接口,因为这两个接口有关联性,比较有代表性;

保存信用卡账户信息接口:

jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
保存信用卡账单接口:
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
注:这个保存逻辑在接口开发设计文档中可能没有写或写的不详细,这时要与开发接口人员或产品人员多多沟通去熟悉接口逻辑

二、使用工具测试

为什么选择Jmeter进行http接口测试?

在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。

但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具,Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。

它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。

下面我就简单的介绍下使用Jmeter进行接口测试的方法。

如何使用Jmeter进行接口测试?

1、首先邮件添加一个线程组,这里我们重命名InterfaceTest
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
2、在线程组上添加一个Http默认请求,并配置服务器的IP地址和传输编码
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
在线程组中添加一个HTTP请求,这里我们重命名“增加 信用卡账户信息接口 ”
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
配置接口请求信息,这配置示例如下:
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
在保存信用卡账单接口请求,示例如下:
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
注:由于Jmeter请求线程组内的请求时从第一个开始执行,所以我们将需要最先执行的请求放在前面

6、在线程组上添加监听器,察看结果树和聚合报告

jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
点击启动,运行结束后查看,结果树和聚合报告
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
8、去数据库中核对数据

9、大批量数据制造

思路:

1、可参数化的参数,保存信用卡账户信息接口( clientNo,cardNo ),保存信用卡账单接口( clientNo,cardNo, billMonth,paymentDate)

2、两个接口的依赖关系,保存信用卡账单接口( clientNo,cardNo)要和信用卡账户信息接口( clientNo,cardNo )的两个相同,也就是说这两个要用一个参数,且还不能重复。

根据上面两个接口的特点,( clientNo,cardNo) 我们选取使用计数器,每循环一次计数器加1,那么我们将线程组设置循环执行1万次; billMonth,paymentDate,这两个日期我们是使用随机函数${__Random(1,9,)},将月份参数化;

在线程组上创建计数器,配置如下:
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
4、引用计数器和随机函数

信用卡账户接口传入参数

args={

“clientNo”:“${add}434343556”,

“alias”: “**信用卡2”,

“cardName”: “长城*****卡2”,

“cardNo”: “${add}25622356788251”,

}

账单接口传入参数

args={

“clientNo”:“${add}434343556”,

“accountName”: “测试”,

“billDate”: “08”,

“billMonth”: “20150${__Random(1,9,)}”,

“cardNo”: “${add}25622356788251”,

“currentPayment”: “欠款459.80”,

“paymentDate”: “2015-0${__Random(1,9,)}-25 09:00:00”,

}

5、设置线程组循环测试,点击运行
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
三、性能测试

简单的性能测试

性能分析:

  • 测试结论:

  • 当前测试环境下,TPS峰值为317.6次/秒。根据业务预期的客户日常访问量50次每分钟,按照每客户访问一次调用全部13个接口计算,则业务预期为50*13=650次/分=10.83次/秒。测试结果表明系统的业务处理能力符合业务预期。

  • 由响应时间来看,保存XXXX这个接口的响应时间明显较慢,在50线程并发的时候,90%响应时间为7.7秒,而75线程并发的时候则达到了24秒,建议进行优化。

  • 由点击率,响应时间,TPS统计图可知,整个稳定性测试期间,系统反应很稳定。

  • 详细测试结果:

  1. 负载测试

场景运行测试时间:10分钟

总体测试结果
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
2. 稳定性测试

场景运行时间:1小时
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
测试环境数据量如下:
jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师
总结:

根据上面的几个步骤,得到测试结果,分析系统存在的瓶颈,然后采用各种方法提出解决方案或优化建议,最后对本次性能测试进行一个完整的总结,这样,一次性能测试就完成了。

在整个过程中,费时较长一般是在测试数据准备和测试执行、监控调优阶段。

最后吐槽一句:性能测试水太深,想潜水的做好准备,别稀里糊涂扎进来,太刺激。。

学习安排上

如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

jmeter 压测十分钟,jmeter,测试工具,软件测试,程序员,测试工程师

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片进群即可自行领取文章来源地址https://www.toymoban.com/news/detail-767944.html

到了这里,关于10分钟学会Jmeter接口测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JMeter 5.6多个http接口进行压测

    目录 1.安装下载 2.启动JMeter 2.1新建线程组 2.2新建HTTP信息头管理器 2.3新建用户定义的变量 2.4新建临界部分控制器 2.4.1新建【创建流程实例】HTTP请求 2.4.1.1新建响应断言 2.4.2新建【查询待办任务1】HTTP请求 2.4.2.1新建响应断言 2.4.2.2新建JSON提取器 2.4.3新建【流程初审】HTTP请求

    2024年02月09日
    浏览(33)
  • 教程:使用Jmeter对带token的接口进行压测

    最近在研究并发,用到了Jmeter对接口进行压力测试,记录下使用过程 一. 配置/bin下的Jmeter.properties,打开以下两项配置,一个是默认的编码,一个是默认的语言 二. 打开jmeter.bat运行,新建线程组,在线程组下新建以下内容 1. CSV数据文件设置(右键添加,在配置元件目录中)

    2023年04月09日
    浏览(53)
  • 用JMeter对HTTP接口进行压测(一)压测脚本的书写、调试思路

    Mac OS下使用Homebrew安装 安装完毕之后,确保jmeter和groovy没问题 直接启动JMeter 查看groovy版本 在JMeter中使用脚本语言有BeanShell和Groovy,因为Groovy和Java更相近,所以选择Groovy。虽然以前没接触过Groovy,但是靠着IDE和官方文档、Google上手还算顺利。 因为是需要 对整条业务流程进行

    2024年02月07日
    浏览(32)
  • jmeter+nmon+crontab简单的执行接口定时压测

    临时接到任务要对系统的接口进行压测,上面的要求就是:压测,并发2000 在不熟悉系统的情况下,按目前的需求,需要做的步骤: 需要有接口脚本 需要能监控系统性能 需要能定时执行脚本 针对第一点:接口脚本 需要观察系统接口的情况: 系统使用swagger文档编辑接口,这

    2024年02月10日
    浏览(34)
  • jmeter -获取cookie管理器中的cookie值用于压测接口

    背景: 由于任务的原因,需要针对某个接口进行压测。但是压测这个接口时,需要获取用户的身份信息。如果先通过登录再进行压测的话,没有办法给出针对这个接口的压测数据。所以需要想办法直接将用户的身份信息(cookie+token)提前拿到,直接赋给压测的接口。 token可以

    2024年02月08日
    浏览(79)
  • Jmeter 压测接口返回大量数据时吞吐量上不去问题记录

            近期需要对外部提供一个批量查询接口,接口逻辑并不复杂,只是返回的数据有点多。分页查询,最大查询100个单子,分页单页最大值没有限制,那么,极端情况下,就是一次查询100个单子,每个单子 6 种节点,每一个节点可以保存最大 10 张图片地址信息,单次

    2024年02月02日
    浏览(30)
  • 【性能测试】分布式压测之locust和Jmeter的使用

    受限于单台机器的配置问题,我们在单台机器上达不到一个很高的压测并发数,那这个时候就需要 引入分布式压测 分布式压测原理: 一般通过局域网把不同测试计算机链接到一起,达到测试共享、分散操作、集中管理的目的。 选择一台作为调度机(MASTER),其他机器作为执

    2024年02月19日
    浏览(34)
  • 每天十分钟学会Spark

    Spark是什么 Spark是一种基于内存的快速、通用、可拓展的大数据分析计算引擎。 Spark官网:http://spark.apache.org/ Spark的特点 1、快速   一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是Hadoop MapReduce运行速度的100多倍,在磁盘上的运行速度是Hadoop MapRedu

    2024年03月18日
    浏览(44)
  • jmeter工具测试和压测websocket协议【杭州多测师_王sir】

    一、安装JDK配置好环境变量,安装好jmeter 二、下载WebSocketSampler发送请求用的 ,地址:https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spm=a2c4g.11186623.2.15.363f211bH03KeI 下载解压后的jar包放到D:JMeterapache-jmeter-3.3libext目录下 三、如果需要在jmeter中安装那么就需要下载jmeter的插件

    2024年02月13日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包