jmeter课堂笔记

本文由用户“时刻微笑happy”分享发布 更新时间:2021-12-18 12:43:35 举报文档

以下为《jmeter课堂笔记》的无排版文字预览,完整格式请下载

下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

学习目标:

性能测试概念和指标

掌握jmeter的概念和环境部署

了解jmeter的界面和组成

理解jmeter的元素

能够使用jmeter进行性能测试

性能测试

概念

性能测试是一种在给定的工作负载下软件的响应时间、吞吐量、可靠性、互操作性等,同时也是衡量软件是否支持更大用户群的重要手段。

为什么要进行性能测试

确保应用程序是否能够响应更多的用户需求

确保应用程序能否处理预期的用户负载并且有盈余的能力

确保应用程序能否处理业务所需要的事务数量

在预期和非预期情况下,应用程序是否稳定

确保用户在真正使用软件时有良好的用户体验

性能测试关注的指标

响应时间

用户数:在线数,并发数

资源利用率(CPU,内存,网络,磁盘等)

吞吐量:软件处理的数据量

吞吐率:软件单位时间内处理的数据的数据量

点击量:向服务器发送的总请求数

点击率:单位时间内向服务器发送的请求数

性能测试的过程和关键活动

前期准备(需求分析(分析所测的功能,分析并发量,软硬件环境(操作系统,软件版本,硬件版本。。。))),选择工具(LR/jmeter)

性能测试的计划和方案(编写用例,计划,策略。。。)

性能测试的实施(准备环境,(被测环境,压测服务器,),测试场景,辅助工具)

编写脚本(录制,编写修改)

性能测试的执行(执行脚本,记录结果)

性能测试的分析与调优

性能测试报告(性能测试的目的,性能测试的概述,性能测试的结果,性能测试结论)

关键活动

定义测试环境

制定测试标准

规划并设计性能测试用例

分析瓶颈并给出调优方案

硬件:CPU,内存,磁盘

网络设备:防火墙,动态负载均衡,交换机设备

操作系统:物理内存不足,虚拟内存设置不合理等

应用程序:架构不合理,程序设计有问题

应用软件:数据库,应用服务器等

5.性能测试注意事项

(1)性能测试一般是在功能测试的中后期进行

(2)性能测试要借助工具完成

(3)提高硬件配置就可以提高性能,这是错误的。

(4)性能测试完全独立于功能测试,这也是错误的。性能测试依赖于功能测试。

二、jmeter的概述

1.jmeter是什么

简介:Apache Jmeter 是Apache组织开发的一款开源的软件,是一个典型的100%纯java开发的应用程序。

jmeter可以在不同的平台(windows,linux,macos)进行性能测试

主要是用于软件程序的功能复杂测试以及度量软件的性能,还可以用于别的测试,比如:接口测试

Jmeter是一款轻量化的性能测试工具,是图形化。免安装,易某某

jmeter版本

开源免费的:https://jmeter.apache.org

建议大家使用5.0以上版本

三、部署jmeter

1.环境要求:安装jdk

检查jdk是否安装成功:命令行运行:Java -version

Javac

2.安装jdk,直接点击下一步

3.配置环境变量 参考《jdk安装配置手册》

4.安装jmeter

Jmeter是免安装的,直接打开文件包,解压文件,找到bin目录,找到jmeter.bat双击,能启动则说明成功。

jmeter的文件简介

bin目录

jmeter.log日志文件

jmeter.bat:windows下的启动文件

jmeter.sh:linux下的启动文件

jmeter.properties:系统的配置文件

jmeter-server.bat:windows分布式测试时需要的服务器配置

jmeter-server:linux下分布式测试时需要的服务器配置

Docs:帮助文件,官方文档,主要用于二次开发。

Extras:扩展的插件目录,主要是jmeter和其他应用需要的文档

Lib:所用到的插件,里面全是jar包,jmeter会自动的在JMETER_HOME/Lib和ext目录下寻找需要的类。

Licenses:证书目录

printable_docs:用户使用手册

五、jmeter的界面和组成

1.界面分三个部分:功能区、试图区、内容区

(1)功能区:上方是菜单栏,下方是工具栏,菜单栏展示jmeter提供的功能,工具栏就是常见功能的快捷方式

(2)视图区:

是以树状结构显示jmeter的元素,其中testplan(测试计划)是树的根节点,每一个节点都是一个jmeter的元素,在试图区可以添加,删除,拖动元素

(3)

内容区:***一个jmeter元素,相应的内容就会在内容区显示出来,在内容区可以对内容进行设置和查看

2.jmeter的组成

1.负载发生器:用于产生负载,多线程多进程模拟用户的行为

2.用户运行器:脚本运行引擎,用户运行器附件在吸纳城或者进程上,根本脚本模拟用户的行为

3.资源生成器:生成测试中的服务器,负载机的资源生成器

4.报表生成器:根据测试中生成的数据生成报表,提供可视化的数据显示方式

六.Jmeter的元素

Jmeter的元素分为四大类

测试计划(Testplan)

唯一的,所有的元素都位于其下。

一个完整的测试计划应该包含:一个或者多个线程组,逻辑控制器,取样器。监听器,定时器,断言,配置元素。

2.线程组:ThreadGroup

setUp线程组:可以用来执行预测试操作,执行测试之前的初始化操作

tearDown线程组:用于执行测试后的动作,结束之后的收尾工作。

线程组:ThreadGroup

线程数:要模拟的用户数(模拟多少用户,就修改线程组的线程数为多少)

Ramp-up period时间:表示多长时间把上面的线程数均匀的启动完。如果你的线程数是10,ramp-up时间是5s,表示5秒内均匀的启动10个用户,也就是每隔0.5s启动一个用户。

循环次数:表示一个线程组要跑多少次

调度器:设置运行起止时间和持续时间,

注意:使用调度器循环次数必须选择永远,否则循环次数可能不够,执行会停止。

线程组右键,有9个选项,9个选项分为两种:组件和控制器

组件:

有6个:

配置原件

定时器

前置处理器

后置处理器

断言

监听器

控制器

有三个控制器

取样器

逻辑控制器

测试片段

jmeter的运行

案例

案例一

项目名称:ecshop

被测网站:http://localhost/ecshop

指标:响应时间和错误率

场景:线程数10个,ramp-up时间10s

循环次数:5

测试步骤:

建立测试计划

在测试计划上右键新建线程组

在线程组上右键,添加取样器,http request()

监听器(查看结果树,聚合报告)

运行脚本

查看结果

案例二

使用jmeter调度器针对http请求进行性能测试。

查看结果:

各参数意义:

Lable:每个jmeter元素都有一个name属性,这里显示的就是name属性值

#samples:这个表示这次测试中一共发出了多少个请求,如果模拟的10个用户(线程数设置的是10),循环次数是5,那么这里显示的就是50

Average:平均响应时间。默认情况下是单个请求的平均响应时间(单位ms毫秒)

Median:中位数,就是50%的用户的响应时间

90%~99%line:90--99%的用户的响应时间

Min:最小响应时间

Maximum:最大响应时间

Error%:本次测试中出现的错误率。错误的请求数量/请求的总数

Throughput:吞吐量,默认情况下就是每秒完成的请求数。

Received Kb/s:每秒从服务器接收的数据量

Sent Kb/s:每秒从客户端发送的请求的数量

badboy的使用

badboy录制脚本

地址栏直接输入url地址,点击右边绿色箭头。

优点:录制过程非常简单,生成的脚本也很简单

缺点:只是http和https协议,内置的浏览器内核兼容性不足,有时候会导致无法录制。

badboy和jmeter结合使用

录制的脚本保存为.jmx格式,file-->export to jmeter保存为jmeter格式

在jmeter中打开脚本



jmeter中断言的使用



响应文本和响应代码。

jmeter的参数化

1.Jmeter中参数化有4种方式

CSV Data Set Config (CSV数据控件)

适用于参数取值范围比较大的时候,该方法具有很大的灵活性。

函数助手

__CSVRead:参数化功能相比 CSV Data Set Config 较弱

User Defined Variables(用户定义的变量):一般用于测试计划中不需要随请求迭代的参数设置

User Variables(用户参数):适用于参数取值范围很小的时候使用。

2.参数化的使用

(1)CSV Data Set Config (CSV数据控件)

点击线程组添加配置元件-->CSV Data Set Config



Filename:文件名,保存参数化数据的文件。

File encoding:UTF-8,文件编码格式

Variables Names:对应的参数文件每列的变量名。(类似于excel文件的文件头,起到标示的作用),有几个参数就写几个参数,每个参数之间用分隔符分开(,)

(2)函数助手







User Parameters(用户参数)

线程组-->右键--->添加前置处理器-->用户参数



User Defined Variables(用户定义的变量):一般用于测试计划中不需要随请求迭代的参数设置。

线程组右键-->添加配置元件(config element)-->User Defined Variables

3.jmeter传json格式数据

1.添加http请求头



2.填写参数 body data



jmeter多接口参数的传递



Json串[ ]表示对象组成的数组,{ }表示对象

对象里面包含多个 属性:属性值,属性值:可以是值,可以是数组,可以是对象

Jmeter中使用json提取器提取响应数据中的值。



JSON Extractor各个参数:

Names of created variables:接收值的变量名,多个变量使用分号(;)分隔

Json path expressinons:Json path表达式,用分号(;)分隔

Match no:0:随机,n:取第n个值。-1:匹配所有

Default value:缺省值。

Json path :$表示响应的根对象,取对象或者对象的属性值用点(.),取数组里的对象用[ ],数组索引是从0开始。

比如:响应是

{“test”:”123”},取test的值 $.test

如果响应类似{“属性”:[{“sx”:1}]}如果取sx的值:$.属性[0].sx

请点击下方选择您需要的文档下载。

  1. 小学落实《国家学生体质健康标准》测试方案
  2. 性能测试报告-模板V1.0
  3. 小学体测、复核制度
  4. Web安全技术第1课
  5. 系统测试报告
  6. 二年级数学专项测试
  7. 销售经理说明
  8. 市普通话水平等级测试工作安排的通知
  9. 【MAC版】灯光工厂安装文字教程
  10. 关于新任科级领导干部参加廉政测试的通知
  11. DNS欺骗实现网页重定向 【理论知识】
  12. 软件测试理论基础复习-

以上为《jmeter课堂笔记》的无排版文字预览,完整格式请下载

下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。

图片预览