性能测试你还不会做?看看这篇文章你就懂了!

性能测试的概述

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

生活中:买手机,买电脑,买车 –》 性能好:快(时间短)、资源

软件的性能:软件在允许的范围内使用过程中的反应的速度(时间),消耗的资源的情况等等。

性能测试:是通过自动化测试工具模拟多种正常,峰值,以及异常的负载情况下对系统各项性能指标进行的测试。负载测试、压力测试、容量测试都属于性能测试。

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

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

容量测试:在可接受性能范围内,最大的负载情况下的测试。

为什么要做性能测试?

  • 应用程序是否满足用户性能的需求?
  • 应用程序在满足能够预期的用户负载的情况是否有盈余的能力?
  • 应用程序在预期或者非预期的用户负载下,运行是否稳定?
  • 应用程序能够确保用户在使用软件的时候有比较好的性能体验。

性能的问题根源?

多平台,超多服务器,异构系统,多应用并行,数千个网站同时工作,这个过程中特别容易出现交叉故障点。

误区:提高一些硬件配置,性能就变好了,优化了,所以不用做性能测试。

错误:只是临时解决了问题,根本问题没有解决。

影响性能的因素有哪些?

硬件环境

软件本身(算法逻辑,数据,中间件)

网络带宽

软件环境

性能的评定的标准:性能指标

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

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

弱化网络传输时间和浏览器解析的时间:

前期测试建议在局域网测试;

性能测试建议一定要有独立的测试环境;(测试环境必须要进行数据初始化)。

在晚上测试。

用户数:

在线数:在软件上,不一定在操作

并发数:在软件上,并且在操作。(特定的时间点或者时间段,操作不一定相同)

在线数 >=并发数

实际需求 –》测试用例

测试500人 登录的性能 – 》在线数 500,并发没有要求;一个线程组实现或者多个线程实现

测试500人并发登录的性能 – 》在线数500,并发数500;实际测试,建议一个线程组实现,如果想要多个线程组,要进行设置

测试300人并发登录的性能,同时有200人正在注册 – 》500,并发数 500,

注册和登录在不同的线程组设置,还要进行并发设置

资源的利用率:cpu 内存 磁盘 网络

吞吐量:处理事务的总数据量

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

点击量:点击数量

点击率:单位时间内点击的次数

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

例如:软件的响应时间是1秒,所以性能很好,判断正误?

错误,太片面,其它的性能指标不清楚,比如:只有一个用户使用

软件性能是否达标:依据是用户的性能需求。

不同的角度出发,不同的系统平台,对性能的要求不一样,关注的指标也不同。

如何时进行性能测试?

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

性能测试的过程?

前期准备(功能稳定,组建团队)

选择合适的测试工具(loadrunner 商用型、jmeter (开源版)、自研的(loadspace))

性能测试的计划方案(需求分析,计划,策略,资源)

性能测试的实现(准备测试环境—> 设计场景 – > 编写测试用例 – > 辅助工具)

性能测试的执行(工具执行脚本 – > 记录结果)

性能调优分析 – 》 回归测试

性能测试报告

要测试的目的:本次性能测试预期要达到的性能要求

测试概要的描述:结构,人员,环境,场景等等(重点),过程简介。

测试结果和数据

测试结论

Jmeter

基于java开发的开源的测试工具,轻量级

性能测试

接口测试

支持多种协议

Jmeter 的组成

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

负载发生器:产生负载,产生压力,模拟用户行为

用户生成器:脚本运行的引擎

资源生成器:生成测试过程中服务器的资源数据(收集测试数据)

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

Jmeter 环境搭建

基于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

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

jmeter 启动

命令启动: jmeter , 启动的是 gui 模式,供制定测试计划和调试就脚本

批处理文件启动

汉化: optinons à选择语言—》中文 ,退出重新登录后,又变成英文

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

Jmeter 常见的测试框架

测试计划:启动jmeter,就会 有一个默认的计划,这个测试计划包含了本次测试需要的所有的功能。

线程(用户):一个线程表示一个模拟用户

线程组(主线程组,核心):需要进行性能测试的内容放在其中,不能为空;

Setup 线程组:初始化(准备部分)内容,可以没有;如果有,一定是最先执行的。

Teardown 线程组:收尾的内容,可以没有

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

Ramp –up :虚拟用户启动的实际,即用户开始发送请求的时间

循环次数:具体的次数

永远,一定要设置持续时间,不然无法正常结束。

取样器:测试对象及测试内容,基于线程,即要模拟的动作,就是需要模拟的请求。一个取样器就放一个请求。Jmeter下支持多个请求可以一起发送,支持很多种协议。

取样器中:协议、协议方法、服务器的IP,测试的URL地址,端口号等等。

监听器:用来查看测试结果数据的,图形化显示,列表显示,常见的监听器:

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

汇总报告:汇总请求发送的情况

图形结果:图形化展示

表格显示展示:可以查看启动时间(starttime)

请求响应页面有乱码出现,没有做编码处理,修改配置文件

修改后

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

注意:平均响应时间单位是 毫秒

标准偏差:系统的离散程度,体现的是系统的稳定性,值越小,系统越稳定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信运营神器:从群发到批量添加,让你的微信营销更轻松

在这个数字化时代,微信已经成为了我们生活中不可或缺的一部分。对于许多企业和个人来说,微信营销也是非常重要的一部分。但是,微信营销并不是一件容易的事情,需要花费大量的时间和精力。为了解决这个问题,今天我们将向…

易涝积水点监测,内涝积水监测仪安装

城市内涝对人们来讲会有很多影响,比如出行需要绕远路或者家中涌入污水导致淤泥堆积,这还有可能让屋内的家具受到破坏,既影响正常生活也造成了经济损失。在街道上还可能对交通、通讯、电力等基础设施造成严重威胁。因此政府如果能实时监测路面…

2024消费行业数字化增长,从“盲人摸象”到“按图索骥”

自2015年“互联网”兴起以来,消费行业就面临着消费者、市场和数字化技术的碎片化挑战。在数字中台的推动下,消费企业开始“一路向C”,将各种企业资源平台化,期望用后端数字化推动前端的增长。而2023年大模型和生成式AI&#xff0c…

如何截留快手行业意向用户:10个合规方法大揭秘

先来看实操成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 一、引言 随着互联网的发展,快手已成为一个巨大的流量池,吸引了无数用户。其中,不乏许多行业的意向用户。如何截留这些意向用户,成…

想考教师编制专业不对口怎么办?

很多人在想要步入教师行业时,会遇到一个问题:专业不对口。这种情况可能会让你感到困惑和沮丧,但不要气馁,因为有很多方法可以让你实现自己的梦想。 可以通过提高自己的教育水平和能力来弥补专业不对口的缺陷。你可以通过参加教师资…

荧光量子效率是LED灯的重要性能指标之一

荧光量子效率积分球可以提供准确的荧光量子效率测试结果。荧光量子效率是LED灯的重要性能指标之一,它反映了LED灯在特定波长激发下发出的荧光光的强度。通过荧光量子效率积分球测试,可以获得准确的荧光量子效率值,从而对LED灯的性能进行评估和…

Linux--初识和基本的指令(2)

目录 前言 1. 指令 1.1 cd其它携带指令 1.2 ls其它携带指令 1.3 which指令 1.4 alias指令 1.5 mkdir其他携带指令 1.7 yum -y install 安装指令 1.8 stat指令 1.9解决指令失控状态 1.10 rmdir&&rm指令 1.11 man指令 1.12 cp指令 1.13 mv指令 1.14 nano…

手持式无线通信频谱分析仪 MS2713E

MS2713E 手持式无线通信频谱分析仪 安立手持式无线通信频谱分析仪 MS2713E 旨在处理最恶劣的现场条件,使您能够监控、定位、识别和分析各种蜂窝、2G/3G/4G、陆地移动无线电、Wi-Fi 和广播信号。多功能 Spectrum Master 在定位和识别宽频率范围内的信号时&#xff0…

内测分发平台的合作生态和生态效应如何

大家好,我是咕噜-凯撒,随着移动互联网和智能设备的快速发展,越来越多的开发者和企业开始关注产品的质量和体验。而内测分发平台则成为了一种重要的工具,能够帮助他们更好地测试、优化和推广产品。在此过程中,内测分发平…

mongo DB -- aggregate分组查询后字段展示

一、分组查询 在mongoDB中可以使用aggregate中的$group操作对集合中的文档进行分组,但是查询后的数据不显示其他字段,只显示分组字段 aggregate进行分组示例 db.collection.aggregate([{$group: {_id: "$field"}},]) 查询后显示 展开只显示两个字段 二、显示所有字段…

【Sorted Set】Redis常用数据类型: ZSet [使用手册]

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 目录 ⑤Redis Zset 操作命令汇总1. zadd 添加或…