首页 > 其他分享 >【性能测试】性能测试各知识第1篇:性能测试大纲【附代码文档】

【性能测试】性能测试各知识第1篇:性能测试大纲【附代码文档】

时间:2024-03-10 17:22:41浏览次数:35  
标签:负载 场景 LoadRunner 性能 系统 文档 测试

性能测试完整教程(附代码资料)主要内容讲述:性能测试大纲。。。。。。。。。。。。。。

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~


性能测试大纲

序号 阶段 概述
01 入门 1. 认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试)2. 常用性能测试指标-(吞吐量、并发数、响应时间、点击数...)3. 性能测试工具选择
02 性能脚本 1. LoadRunner介绍2. 脚本录制、运行、参数化3. 关联、检查点、事务、集合点
03 性能场景 1. 场景分类、场景设计、场景运行策略2. 资源监控、SLA、IP Wizard应用
04 性能分析 1. 摘要报告、事务图表、图表合并2. 交叉结果、拐点分析、Web项目资源分析

性能测试基础知识

目标

理解什么是性能测试
掌握性能测试的基础分类
熟悉性能测试的常用指标

什么是性能测试?

目标

了解为什么学习性能测试
掌握什么是性能测试
了解性能测试的焦点

概念

性能测试是模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的测试。

说明:

峰值:客户指定指标数值或场景需求数值,如:CPU使用率80%以内、登录3秒、内存空间40%等等
负载:用户(一个或多个)向服务器发送请求,负载测试我们1.2节会讲解

性能测试与功能测试(焦点)

功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向);

性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足度(时间、空间);

说明: 时间:软件的响应时间... 空间:服务器的磁盘读写数率、CPU 使用率、内存空闲率...

功能测试和性能测试是相辅相成的,对于一款优秀的软件产品来讲,它们是测试工作中不可或缺的两个重要环节。

需求 解决方案

求职需求:

面试:会性能测试吗?
招聘信息:要求会使用性能测试工具LoadRunner、Jmeter

业务需求:

登录不得超过3秒钟
开发一款 Web 电商网站,使用 Java 还是 PHP 呢?
OA 办公系统-我们公司20000左右员工需要使用此系统。

解决方案:

负载测试-根据客户实际应用场景模拟测试应用软件、服务器是否满足需求;如果不满足,则定位问题,进行调整直到满足需求;
分别使用 Java 和 PHP 写个 Demo,搭建相同的应用场景进行性能测试,找出最优符合应用场景的开发语言;
根据二八定律统计出单位时间内(秒)最高请求数。

性能测试分类及常用指标

性能测试是个综合的概述,性能测试指的是测试一种分类或多种分类,任何一具体分类,都是性能测试

一、性能测试常用分类

  1. 负载测试
  2. 压力测试
  3. 并发测试
  4. 稳定性测试

性能测试分类还有其他类型比如:配置测试、容量测试等,前期我们先熟悉以上常用分类

1.1 负载测试 【重点】

通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的最大负载量的测试。(负载:向服务器发送请求)

负载测试是通过逐步加压的方式来确定系统的处理能力、确定系统能够承受的各项阀值。 例如:逐步加压,从而得到“响应时间不超过3秒”、“服务器CPU平均利用率低于80%”等指标的阀值。

*阀值:关注的某一具体数值(比如:登录小于3秒、用户数2000、业务成功率100%)

1.2 压力测试 【重点】

通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于【失效】状态。

  1. 压力测试:是逐步增加负载,使系统某些资源达到饱和甚至失效。(如:测试系统最多支持同时处理多少请求,超过此数数量系统瘫痪)

  2. 负载测试:是逐步增加负载,确定在满足性能指标情况下,系统能承受的最大负载测试。(如:登录3秒内,最多支持多少用户同时登录;如超出此数量,可能需要5秒钟或更多时间才能登录成功)

1.3 并发测试 【重点】

概念:并发测试就是【多用户】同时访问【同一个应用】。

目的:测试应用服务器指定功能的同时访问数是否达到预期结果。

*并发测试需要配合集合点来使用(集合点:我们在接口阶段已了解)

1.4 稳定性测试【理解】

通过给系统加载一定的业务压力(如:CPU资源在70%~90%的使用率)的情况下,运行一段时间,检查系统是否稳定。

*通常稳定性测试,我们测试一段时间即可;(如:24小时、3×24小时或7×24小时来模拟长时间运行)

二、性能测试常用指标【重要】

一些经过运算得出的结果,用来衡量某种操作性能的统称;比如:错误率0.5%

性能测试常用指标:

  1. 吞吐量
  2. 并发数
  3. 响应时间
  4. 点击数
  5. 资源利用率
  6. 错误率

2.1 吞吐量

吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。 通常情况下,吞吐量用“请求数/秒”或者“页面数/分钟”来衡量。

从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。

从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。

2.2 并发数

并发(Concurrency):它最简单的描述就是指多个同时发生的业务操作。(例如,100个用户同时单击登录页面的“登录”按钮操作。)

并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。

2.3 响应时间

响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回结果整个过程所耗费的时间

2.4 点击数

点击数是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次HTTP请求计算的。

  1. 点击数不是通常一般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素(如:图片、链接、框架等)向Web服务器发出的请求数数量。
  2. 通常我们也用每秒点击次数(Hits per Second)指标来衡量Web服务器的处理能力。

2.5 资源利用率

是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据。

通常,没有特殊需求的话:

  1. 建议CPU使用率不高于80%(±5);
  2. 内存使用率不高于80%;
  3. 磁盘读写时间比不高于90%。

2.6 错误率

错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。

  1. 不同系统对错误率要求不同,但一般不超过千分之五;
  2. 稳定性较好的系统,其错误率应该由超时引起,即为超时率。

三、性能常用测试工具

  1. Jmeter
  2. LoadRunner【本阶段学习】

性能测试的工具有很多,目前最常用就是这两款,我们作为性能测试初期入门掌握这两款工具足矣!

3.1 Jmeter

Apache 公司使用 Java 平台开发的一款测试工具

作用:性能测试、接口测试、Web测试(无GUI,GUI:graphical user interface)

优点:免费、开源、小巧

3.2 LoadRunner

HP公司使用C语言开发的一款性能负载测试工具

作用:模拟高并发负载测试、测试场景搭建、运行、监控及结果分析

优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表

缺点:收费

3.3 Jmeter 和 LoadRunner 的简单对比

Jmeter:接口测试及接口性能压测首选

LoadRunner:Web性能测试首选

性能测试基础知识

目标

理解什么是性能测试
掌握性能测试的基础分类
熟悉性能测试的常用指标

LoadRunner 11安装

一、安装步骤

  1. 解压 - Software_HP_LoadRunner_11.00_T7177_15013.iso
  2. 启动安装程序 - setup.exe(提示:权限-鼠标右键->以管理员身份运行);
  3. 根据安装提示进行配置并点击下一步操作,直到安装完成;
  4. 修改注册许可证

注意:

1). LoadRunner版本与操作系统的对应关系:

① LoadRunner 11版本推荐使用64位Windows 7旗舰版系统;

② LoadRunner 12版本推荐使用64位Windows 10专业版或教育版系统;

2). 自动安装LoadRunner必要的依赖文件时,如遇要求重启电脑,则重启后再进行安装即可;

3). 最好新建文件夹(如:C:\HP\LoadRunner)并且避免安装路径中有中文和空格;

(原因:如果默认安装路径,则有可能导致LR自带的机票网站会出现登录异常;)

二、安装图解

2.1 解压Software_HP_LoadRunner_11.00_T7177_15013.iso后文件

loadrunner

鼠标右键->以管理员身份运行:setup.exe

2.2 点击安装选项

loadrunner

点击:LoadRunner 完整安装程序

2.3 确定安装loadrunner依赖程序

loadrunner

点击:确定

2.4 异常【重要】

loadrunner

处理办法:重启电脑

2.5 开始安装LoadRunner

loadrunner

点击:下一步

2.6 许可协议

loadrunner

点击:我同意、下一步

2.7 客户信息

loadrunner

处理:默认或根据需求填写 点击:下一步

2.8 选择安装文件夹【重要】

loadrunner

处理:新建指定文件夹(避免中文及空格、避免默认路径) 点击:下一步

2.9 确认安装

loadrunner

点击:下一步

2.10 安装中

loadrunner

处理:耐心等待

2.11 安装完成

loadrunner

点击:完成

2.12 查看-安装完成文件

loadrunner

点击:开始菜单-HP LoadRunner

3. 注册许可证-使用图

3.1 修改前

loadrunner

说明:使用用户类型:临时

3.2 修改后

loadrunner

说明:使用用户类型:永久

3.3 操作步骤

lf_file.rar文件下载

  1. 下载lf_file.rar文件,

  2. 将 lm70.dll、mlr5lprg.dll 两个文件复制并替换到LR11安装目录下的bin文件夹下

  3. 运行 lr删除注册表.exe 文件

  4. 输入注册信息(New License,以下注册码任选其一即可)

    1). Global-100的注册码:AEACFSJI-YJKJKJJKEJIJD-BCLBR

    2). Web-10000的注册码:AEABEXFR-YTIEKEKJJMFKEKEKWBRAUNQJU-KBYGB

    3). 最高支持6.5w个并发的注册码:AEACFSJI-YJKJKJJKEJIJD-BCLBR

1) lf_file.rar文件

loadrunner

2) 复制替换 lm70.dll、mlr5lprg.dll(位置:lr安装目录下bin目录)

loadrunner

3) 运行 lr删除注册表.exe 文件

loadrunner

4) 输入注册信息(New License)

启动注册窗口

loadrunner

loadrunner

loadrunner

性能测试流程

流程

1. 性能测试需求分析
2. 性能测试计划
3. 性能测试用例
4. 测试脚本编写
5. 测试场景设计
6. 测试场景运行
7. 场景运行监控
8. 运行结果分析
9. 系统性能调优
10. 性能测试报告总结

1 性能测试需求分析

需求分析就是把真正需求搞清楚

例如:
    1). 公司需要对所有的功能都进行性能测试;
    2). 用户登录响应时间小于3秒钟;
    3). 系统支持20万用户并发访问;

2 性能测试计划

1). 性能测试计划是对性能测试过程描述的重要过程;
2). 在对需求文档经过认真分析后,作为性能测试管理人员,需要编写的第一份文档就是性能测试计划;
3). 性能测试计划中,需要阐述产品、项目的背景,将前期的需要测试性能需求明确,并落实到文档中。

3 性能测试用例

性能测试需求最终要体现在性能测试用例设计中,性能测试用例应结合用户应用系统的场景,设计出相应的性能测试用例,用例应能覆盖到测试需求。

提示:
    1). 明确哪些功能业务量较大;
    2). 明确系统预期的用户规模、并发用户数、在线用户数;
    3). 明确系统业务的处理能力要求,如:TPS、响应时间、系统资源利用率等;
    TPS :(Transaction per second)事务数/秒
    4). 详细的操作步骤及场景的搭建模式

4 测试脚本编写

性能测试用例编写完成以后,接下来就需要结合用例的需要,进行测试脚本的编写工作。

注意:
    1). 协议的正确选用;
    2). 脚本保证其正确性,去除冗余代码;
    3). 注重编码的规范和代码的编写质量。

5 测试场景设计

测试场景设计的一个重要原则就是依据测试用例,把测试用例设计的场景展现出来。

提示:
    1). 虚拟用户数量及启动虚拟用户方式
    2). 场景的相关设置(如:集合点)
    3). 脚本是否存在依赖关系(登录与注册)

6 测试场景运行

测试场景运行是关系到测试结果是否准确的一个重要过程。

注意:
    1). 负载的测试机是否能够运行设定的虚拟用户数;
    2). 有没有“预热”的过程;
    3). 有没有模拟用户的真实环境;
    4). 性能用例运行次数是否过少。

7 场景运行监控

场景运行监控,可以在场景运行时决定要监控那些数据,便于后期分析性能测试结果。

1). 应用性能测试工具的重要目的就是可以提取到本次测试关心的数据指标内容;

2). 性能测试工具利用应用服务器取得在负载过程中相关计数器的性能指标。

(计数器:计算、统计性能指标的工具)

注意:尽量搜集与系统测试目标相关信息,无关内容不必进行监控。

8 运行结果分析

性能测试执行过程中,性能测试工具搜集相关性能测试数据,待执行完成后,这些数据会存储到数据表或者 其他文件中,为了定位系统性能问题,我们需要系统分析这些性能测试结果。

提示:
    1). 一般使用“拐点分析”方法,利用性能计数器曲线图上的拐点进行分析的方法。
    (基本思想就是性能产生瓶颈的主要原因就是因为某个资源的使用达到了极限,此时表现为随着压力的增大,
    系统性能却出现急剧下降,就产生了“拐点”现象。)

9 系统性能调优

性能测试分析人员经过对结果的分析以后,有可能提出系统存在性能瓶颈。

提示:
    1). 调优人员(开发人员、数据库管理员、系统管理员、网络管理员、性能测试分析人员)相关人员对系统进行调整;
    2). 验证-性能测试人员继续进行第二轮、第三轮...的测试,与以前的测试结果进行对比,从而确定经过调整以后的
    系统性能是否有提升。

注意事项:

系统调优由易到难的先后顺序如下:
    1. 硬件问题;
    2. 网络问题;
    3. 应用服务器、数据库等配置问题;
    4. 源代码、数据库脚本问题;
    5. 系统架构问题。

10 性能测试报告总结

性能测试总结要包含以下内容:

1). 性能测试需求覆盖情况,性能测试过程中出现的问题,如何去分析、调优、解决的;
2). 测试人员、进度控制与实际执行偏差和性能测试过程中遇到各类风险是如何控制的;
3). 经过该项目性能测试后,有那些经验和教训等内容。

性能测试工具-LoadRunner

学习目标

1. 理解基于VuGen的脚本录制
2. 掌握参数化的使用方法
3. 掌握关联的使用方法
4. 掌握检查点的使用方法
5. 掌握事务的使用方法
6. 掌握集合点的应用

LoadRunner介绍

一、LoadRunner简介

LoadRunner是一种工业级标准的性能负载测试工具;可以模拟上千万用户实施测试,并在测试时可实时检测应用服务器及服务器硬件的各种数据,来查找和确认存在的性能瓶颈;

支持多种协议,如:Web(HTTP/HTML)、Windows Sockets、FTP、ODBC、MS SQL Server等协议

二、LoadRunner组成【非常重要】

组成:

1. Virtual User Generator(VuGen)
2. Controller 
3. Analysis

提示:

1. VuGen:脚本生成器-脚本录制、编辑
2. Controller:控制器-设计场景、运行、监控
3. Analysis:测试结果分析

三、 理解LoadRunner的三大工具(扩展)

为了更好的理解LoadRunner性能测试三大工具作用,我们先回顾下不使用测试工具时,如果进行性能测试...

需求:

软件系统支持100人同时登录

实施:

1. 找100个员工及100台电脑,每个员工注册账号OK,环境OK,输入账号、密码完成...鼠标放到登录按钮上;
2. 领导拿个大喇叭,高喊:1...2...3
3. 相关人员统计平均登录时间及登录前、登陆后的服务器CPU、内存等使用情况

LoadRunner的执行原理:【重点】

1. VuGen:相当于打开登录页面、输入账号、输入密码、点击登录
2. Controller:手拿大喇叭的领导...
3. Analysis:相当与各个统计数据的相关人员

未完待续, 同学们请等待下一期

全套笔记资料代码移步: 前往gitee仓库查看

感兴趣的小伙伴可以自取哦,欢迎大家点赞转发~

标签:负载,场景,LoadRunner,性能,系统,文档,测试
From: https://www.cnblogs.com/yinuo112/p/18064427

相关文章

  • 学java13javaDoc生成文档
    找到类的地址,进入类所在文件夹,在导航栏中最前面添加“CMD(空格)”后回车javadoc-encodingUTF-8-charsetUTF-8文件名.java通过idea生成:tools/生成javadoc/第一步:选择生成JavaDoc文档的范围,我只对一个源文件生成Doc,所以选择文件。第二步:输出目录最好新建一个文件......
  • springboot3开发文档
    版本号jdk17springboot3mysql8.0mavenidea自带springboot依赖注入pom.xml命名规范:官方提供的场景:命名为:spring-boot-starter-*第三方提供场景:命名为:*-spring-boot-starter父工程坐标对各种常用依赖的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就......
  • 【Django开发】0到1美多商城项目md教程第1篇:欢迎来到美多商城!【附代码文档】
    本系列文章md笔记(已分享)主要讨论django商城项目相关知识。项目利用Django框架开发一套前后端不分离的商城项目(4.0版本)含代码和文档。功能包括前后端不分离,方便SEO。采用Django+Jinja2模板引擎+Vue.js实现前后端逻辑,Nginx服务器(反向代理)Nginx服务器(静态首页、商品详情页、uwsg......
  • 基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
    1.算法运行效果图预览RTL图:   仿真图:   导入到matlab显示效果如下:   2.算法运行软件版本matlab2022a vivado2019.2 3.算法理论概述      在计算机视觉领域,基于肤色模型和中值滤波的手部检测方法是一种常见的初步定位策略。该方法主要分为......
  • App自动化测试之元素定位及常用方法
    1.元素定位appium元素定位方式跟selenium是一样的通过appium客户端启动服务器自动连接手机之后,进入对应的被测app以及界面app有不同的界面和不同的功能app的界面主要是以元素构成需要对界面功能进入自动化测试就一定要定位该界面元素执行对应的操作方法对手机app的界面进......
  • 【Python使用】python高级进阶知识md总结第2篇:HTTP 请求报文,HTTP响应报文【附代码文
    python高级进阶全知识知识笔记总结完整教程(附代码资料)主要内容讲述:操作系统,虚拟机软件,Ubuntu操作系统,Linux内核及发行版,查看目录命令,切换目录命令,绝对路径和相对路径,创建、删除文件及目录命令,复制、移动文件及目录命令,终端命令格式的组成,查看命令帮助。HTTP请求报文,HTTP响应报文......
  • 初三奥赛模拟测试1
    前言比赛链接总分:\(107pts\)\(T1~79pts:\)坐标\(DP\),赛时感觉打的是正解,但是打假了。\(T2~28pts:\)理解错题了,以为是帮他调程序了,于是给人家调\(TLE\)了。\(T3~0pts,T4~0pts:\)没啥好说的,不会。官方题解T1回文点击查看题面部分分:部分分没什......
  • vue3开发文档
    技术要求TypeScriptVue31、用Vue+Vue-Router做一个展示网站。网站按页面划分模块,每个页面按section(部分)再划分模块。培养自己的模块化思想。2、用Vue+Vue-Router+Axios做一个带请求的网站。把请求结果放在页面上展示出来。锻炼请求接口的能力,了解前后端分离思想。3、用Vue+Vu......
  • 性能测试计划包含哪些内容?
    一测试背景首先阐述本次性能测试背景,即被测系统类型,面向哪些用户,具备什么特点,为什么进行性能测试,预期的一些指标等等   比如:为了保证“双十一”大促期间,系统能稳定运行且保障业务的高可用,进行性能测试核心:评估系统性能、分析性能变化趋势,定位系统瓶颈风险,协......
  • 压力测试瓶颈分析
    在这里要强调一下,性能测试不是用Jemter和Loadrunner等工具,模拟几个用户跑个场景,再导出个测试报告,然后出去跟人家说我会压力测试。这是丢人的,人家都笑话你。    完整的压测流程:业务场景->性能指标->测试策略->性能脚本->分析系统->问题定位->性能报告。话题跑偏了,言归正传,今天......