IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 性能测试及JMETER 工具的使用 -> 正文阅读

[开发测试]性能测试及JMETER 工具的使用

性能测试
性能测试的概述
性能:百度百科定义:器物的性质与效用。

生活中:买手机,买电脑,买车 –》 性能好:快(时间短)、资源
软件的性能:软件在允许的范围内使用过程中的反应的速度(时间),消耗的资源的情况等等。
性能测试:是通过自动化测试工具模拟多种正常,峰值,以及异常的负载情况下对系统各项性能指标进行的测试。负载测试、压力测试、容量测试都属于性能测试。

负载测试:确定各种负载下系统的性能,目标是测试负载逐渐增加时各项指标的变化。

压力测试:是通过确定一个系统的瓶颈值或者不能接受的性能点,并且获取提供最大服务的测试。也叫极限测试。

容量测试:在可接受性能范围内,最大的负载情况下的测试。
为什么要做性能测试?
应用程序是否满足用户性能的需求?
应用程序在满足能够预期的用户负载的情况是否有盈余的能力?
应用程序在预期或者非预期的用户负载下,运行是否稳定?
应用程序能够确保用户在使用软件的时候有比较好的性能体验。

性能的问题根源?
多平台,超多服务器,异构系统,多应用并行,数千个网站同时工作,这个过程中特别容易出现交叉故障点。
误区:提高一些硬件配置,性能就变好了,优化了,所以不用做性能测试。
错误:只是临时解决了问题,根本问题没有解决。

影响性能的因素有哪些?
硬件环境
软件本身(算法逻辑,数据,中间件)
网络带宽
软件环境

性能的评定的标准:性能指标
响应时间:指的是从客户端发出请求开始,到接收到服务器的响应,并且看到响应的内容为止,这个时间段,称为响应时间。

 响应时间=网络传输的时间+服务器的处理时间+浏览器解析呈现的时间
     弱化网络传输时间和浏览器解析的时间:

1) 前期测试建议在局域网测试;
2) 性能测试建议一定要有独立的测试环境;(测试环境必须要进行数据初始化)。
3) 在晚上测试。
用户数:
在线数:在软件上,不一定在操作
并发数:在软件上,并且在操作。(特定的时间点或者时间段,操作不一定相同)
在线数 >=并发数

实际需求 –》测试用例

1) 测试500人 登录的性能 – 》在线数 500,并发没有要求;一个线程组实现或者多个线程实现
2) 测试500人并发登录的性能 – 》在线数500,并发数500;实际测试,建议一个线程组实现,如果想要多个线程组,要进行设置
3) 测试300人并发登录的性能,同时有200人正在注册 – 》500,并发数 500,
注册和登录在不同的线程组设置,还要进行并发设置
资源的利用率:cpu 内存 磁盘 网络

吞吐量:处理事务的总数据量
吞吐率:单位时间内处理的数量
点击量:点击数量
点击率:单位时间内点击的次数

 吞吐量、吞吐率、点击量、点击率 都是从软件的处理能力反馈性能的。

例如:软件的响应时间是1秒,所以性能很好,判断正误?
错误,太片面,其它的性能指标不清楚,比如:只有一个用户使用

软件性能是否达标:依据是用户的性能需求。
不同的角度出发,不同的系统平台,对性能的要求不一样,关注的指标也不同。

何时进行性能测试?
一般都是在功能测试的中后期进行,性能测试依赖于功能测试的。性能测试一定要独立的测试环境,并且测试环境必须进行用户数据的初始化。

性能测试的过程?
前期准备(功能稳定,组建团队)
选择合适的测试工具(loadrunner 商用型、jmeter (开源版)、自研的(loadspace))

性能测试的计划方案(需求分析,计划,策略,资源)
性能测试的实现(准备测试环境—> 设计场景 – > 编写测试用例 – > 辅助工具)
性能测试的执行(工具执行脚本 – > 记录结果)
性能调优分析 – 》 回归测试
性能测试报告
要测试的目的:本次性能测试预期要达到的性能要求
测试概要的描述:结构,人员,环境,场景等等(重点),过程简介。
测试结果和数据
测试结论
Jmeter
基于java开发的开源的测试工具,轻量级
性能测试
接口测试
支持多种协议

Jmeter 的组成
性能测试的原理:基于协议,用工具模拟实际操作(发送多个请求),并且收集测试数据,生成测试报告。

负载发生器:产生负载,产生压力,模拟用户行为
用户生成器:脚本运行的引擎
资源生成器:生成测试过程中服务器的资源数据(收集测试数据)
报表生成器:根据测试中获取的数据,生成报表,提供可视化显示方式

Jmeter 环境搭建
1、 基于java,运行的时候需要java环境,JDK,要配置环境变量(系统变量)
Java 的环境: JDK 软件开发工具包 、 jre运行环境、jvm (java的虚拟机)
Jdk配置环境变量: (系统变量,新建) JAVAHOME: C:\Program Files\Java\jdk1.8.0_111
PATH: %JAVAHOME%\bin

(系统变量,新建)CLASSPATH: .;%JAVAHOME%\lib;%JAVAHOME%\lib\tools.jar

验证:cmd 命令窗口,输入 java 或者 java –version
2、 jmeter 是免安装模式,需要进行环境变量配置(系统变量)
(系统变量,新建)JMETER_HOME: D:\apache-jmeter-5.2.1
Path:%JMETER_HOME%\bin
CLASSPATH: ;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;
验证:cmd 命令 , jmeter -v 或者 jmeter
在这里插入图片描述
3、 jmeter 启动
1) 命令启动: jmeter , 启动的是 gui 模式,供制定测试计划和调试就脚本
2) 批处理文件启动

在这里插入图片描述
汉化: optinons ?选择语言—》中文 ,退出重新登录后,又变成英文

   如果需要永久汉化,修改配置文件 jmeter.properties

在这里插入图片描述
Jmeter 常见的测试框架
测试计划:启动jmeter,就会 有一个默认的计划,这个测试计划包含了本次测试需要的所有的功能。
线程(用户):一个线程表示一个模拟用户
线程组(主线程组,核心):需要进行性能测试的内容放在其中,不能为空;
Setup 线程组:初始化(准备部分)内容,可以没有;如果有,一定是最先执行的。
Teardown 线程组:收尾的内容,可以没有

线程属性:线程数 == 》用户数

Ramp –up :虚拟用户启动的实际,即用户开始发送请求的时间
循环次数:具体的次数
永远,一定要设置持续时间,不然无法正常结束。

在这里插入图片描述
取样器:测试对象及测试内容,基于线程,即要模拟的动作,就是需要模拟的请求。一个取样器就放一个请求。Jmeter下支持多个请求可以一起发送,支持很多种协议。
取样器中:协议、协议方法、服务器的IP,测试的URL地址,端口号等等。
在这里插入图片描述
监听器:用来查看测试结果数据的,图形化显示,列表显示,常见的监听器:

     查看结果树:同时查看请求和响应的信息,绿色表示测试地址畅通,不代表测试是成功的,红色表示异常。

汇总报告:汇总请求发送的情况
图形结果:图形化展示
表格显示展示:可以查看启动时间(starttime)

请求响应页面有乱码出现,没有做编码处理,修改配置文件
在这里插入图片描述修改后
在这里插入图片描述

汇总报告和聚合报告中各项指标项说明

在这里插入图片描述
注意:平均响应时间单位是 毫秒
标准偏差:系统的离散程度,体现的是系统的稳定性,值越小,系统越稳定。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:25:31  更:2022-05-08 08:25:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 12:12:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码