ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jmeter基础学习

2021-07-18 15:06:05  阅读:235  来源: 互联网

标签:请求 基础 接口 学习 并发 线程 测试 jmeter


jmeter是什么

  1. 多线程框架-支持多并发操作
  2. 用于多服务器模拟负载
  3. 支持web,数据库,ftp服务器系统的性能测试
  4. 开源,纯java,可二次定制化开发

jmeter请求类型

  • jdbc
  • webservice
  • http

jmeter使用场景

  • 接口测试
  • 接口性能测试
  • 负载测试
  • 压力,稳定性测试

怎么用jmeter

1:需要java环境(安装jdk,设置环境变量)
2:下载jmeter
(http://jmeter.apache.org/download_jmeter.cgi)

常用端口号

  • http:80
  • FTP: 21
  • ssh:22
  • mysql:3306
  • oracle:1521
  • sqlserver:1433
  • https:443
  • telnet:23

测试工作涉及到的知识面

  1. 掌握一门编程语言
  2. 掌握计算 机原理+操作系统知识
  3. 良好的网络基础
  4. 掌握数据库知识
  5. 中间件(tomcat apache)
  6. 抓包工具
  7. 性能测试工具

性能测试指标概念

指标:能反应出一些问题的一些特征表现

指标描述
响应时间请求到做出相应的时间 ,对于web系统,接受的时间为2(好)/5(勉强能接受)/8(不能接受的时间)
并发用户数用户的概念(系统用户数,在线用户数,并发用户数【同事访问系统】,并发分为:严格并发(同一个请求同事并发和广义并发(不一定同一个请求
吞吐量
系统性能计数器如:cpu,内存,磁盘使用率,网络等
思考时间

并发用户数-计算

在确定并发用户数之前,先了解业务和常用场景(eg:访问网站首页,登录功能,核心业务功能,个人中心)

平均用户数计算:C=n(平均每天访问用户数)*l(使用时间)/T(考察时间长度(一天或一天))

或在不熟悉系统情况下,算大概值:系统用户数量*(5%-20%)

接口测试

原理

属于功能测试,测试流程如下:

  1. 测试接口文档(可以利用抓包工具)
    地址,返回格式,请求方式,请求参数(名称,含义,是否必填,值),请求头,返回实例
  2. 编写测试案例
  3. 执行测试

实现接口测试

1:代码
2:工具(postman,filter)

常用接口

web接口

webService(soupui)
可以做,比较复杂,请求报文和返回报文都是xml格式)

http接口

协议时超文本传输协议,传输方法有post和get

https借口

每一年需要付费,并非是应用层的一种新协议

应用程序接口

数据库接口

jmeter操作接口测试步骤

  • 创建测试计划
  • 创建线程组
  • 创建http请求
  • 参数填入
  • 断言(根据设置的值判断是否接口成功)
  • 增加查看结果树(查看接口访问的请求以及返回信息是否正确)或添加聚合报告(显示具体访问某个接口的一些详细信息,如:耗时,异常,百分比等信息)
  • 运行

jmeter参数化方式

  • csv数据控件(${变量名},如果没有定义,则会被当做普通的字符串)
  • 用户自定义变量
  • 函数助手(_Random)
  • 用户参数

jmeter服务器监控技术

监控原理:

关注cpu,io,网络,内存等变化的监控

操作步骤 (下载插件地址:https://jmeter-plugins.org/downloads/old/)

1:服务器端的操作
将ServerAgent-xxx.jar上传到被测服务器上,解压后,进入目录
Windows:双击serverAgent.bat启动
Linux:双击serverAgent.sh启动
默认使用4444端口。
2:本机的操作
离线安装插件:
jmeterPlugins-Standard.jar
jmeterPlugins-extras.jar
放到jmeter安装包的lib/ext没有路中(放进去后,记得重启jmeter)
3:jmeter的操作
线程组-监听-性能-性能度量收集器

常用断言

响应断言 :
(根据文本判断是否成功)
断言持续时间:
(判断请求道响应的时间是否符合设定)
大小断言 size Assertion:
(判断响应的字节大小)
监听器

  1. 查看结果树
  2. 聚合报告
    记录这一次被执行测试的总请求书,错误率,用户响应时间等信息
  3. 用表格查看结果
  4. 图形结果
  5. 断言结果(断言结果的总结)

jemeter常用的配置原件

1:http请求默认值
2:http请求头管理器
3:http Cookie管理器
4:http cache管理器(缓存,为了更真实的模拟用户的真实行为)

jmeter集合点(添加-同步定时器,及并发)

集合点简介
让各个线程(用户)步调一致,对系统进行加压,达到模拟真实并发访问的效果
创建集合点操作
对需要测试并发的请求添加同步定时器(注意作用域,不要放在线程组下面,造成对整个线程做了并发)
参数设置:
**1:Number of Simulated Users to Group by **

  1. 每集和够多少个模拟用户后发送一次测试请求
  2. 如果设置为0,等同于设置为线程组的线程数
  3. 确保设置的值不大于它所在的线程组包含的用户数(线程数)

2:Timeout in millisesonda–所有用户的集合超时(以毫秒为单位)
设置为0,将一直等待线程数达到Number of Simulated Users to Group by 才释放
设置为大于0,等待时间大于设置时间,没有达到设置的线程数值,就释放,继续做后面的业务

jmeter关联技术

关联概述
获取返回的值保存起来提供后面的请求使用
正则表达式
():括起来的部分就是要提取的
.:匹配任何字符串
+:一次或多次
?:找到第一个匹配项后停止
正则表达式提取器
添加后置处理器-正常表达式提取器
实战操作
${id}获取值

jmeter导出测试报告

1:严重jmeter是否可以正常用
2:设置环境变量

  • jmeter_home=jmeter的安装目录
  • path变量后面追加%jmeter_home%\bin

cmd指令导出测试报告

jmeter -n -t test.jmt(脚本的绝对路径) -1 reslut.jtl(自定义的名称) -e -o c:\tmp\result_report(测试报告的绝对路径)

编写测试报告

1:测试基本信息
测试目的,术语定义,参考资料等
2:测试环境描述
服务器软、硬件环境、网络环境、测试工具,测试人员
3:测试案例执行分析
详细描述乜咯测试案例的执行情况,以及对应的测试结构分析
4:测试结果综合分析及建议
对本次性能测试综合分析,并给出测试结论和改进建议

标签:请求,基础,接口,学习,并发,线程,测试,jmeter
来源: https://blog.csdn.net/weixin_37962206/article/details/118877135

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有