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

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

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

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


性能测试大纲

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

性能测试基础知识

目标

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

什么是性能测试?

目标

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

概念

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

说明:

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

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

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

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

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

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

需求 解决方案

求职需求:

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

业务需求:

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

解决方案:

python 负载测试-根据客户实际应用场景模拟测试应用软件、服务器是否满足需求;如果不满足,则定位问题,进行调整直到满足需求; 分别使用 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性能测试首选

性能测试基础知识

目标

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

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

性能测试流程

流程

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

1 性能测试需求分析

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

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

2 性能测试计划

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

3 性能测试用例

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

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

4 测试脚本编写

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

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

5 测试场景设计

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

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

6 测试场景运行

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

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

7 场景运行监控

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

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

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

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

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

8 运行结果分析

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

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

9 系统性能调优

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

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

注意事项:

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

10 性能测试报告总结

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

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

性能测试工具-LoadRunner

学习目标

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

LoadRunner介绍

一、LoadRunner简介

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

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

二、LoadRunner组成【非常重要】

组成:

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

提示:

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

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

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

需求:

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

实施:

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

LoadRunner的执行原理:【重点】

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】三大特性之继承

1 继承的概念及定义 1.1 继承的概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展、增加功能,这样产生新的类,称派生类(或子类)。而被继承的…

【NR 定位】3GPP NR Positioning 5G定位标准解读(九)-增强的小区ID定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

云服务器python版本冲突解决(awd平台搭建)

文章目录 yum和apt-getdockerpython环境问题 大家在使用python时,难免会使用他人的代码,自己是python3,而别人的是python2.我们直接运行会报错(比如print函数括号的问题)。但是去修改代码又很麻烦。这里给大家推荐conda。我以我搭建awd平台为…

toB开发范式

前言 B端开发,也被称为后台开发或者企业级开发,是针对企业或者组织的业务需求进行的软件开发。在 B 端开发中,我们通常关注的是系统的功能性、稳定性、可扩展性以及安全性,从面向过程编程 -> 面向对象编程 组合式编程 以下是…

【谈一谈】并发_Synchronized

Synchronized 又到周末了,最近的话(有点子小日子不好过,哈哈哈!~)但是,我还是报之以歌哈哈哈 本次写关于并发_Synchronized的优化以及底层实现原理 说说心里话~其实是非常的累,原因应该怎么说呢?我发现自己在如今的这家公司,我处于一种活多钱少以及关键现在给的或自己不想干,因…

新版Android Studio火烈鸟 在新建项目工程时 无法选java的语言模板解决方法

前言 最近下载最新版androidstudio时 发现不能勾选java语言模板了 如果快速点击下一步 新建项目 默认是kotlin语言模板 这可能和google主推kt语言有关 勾选1 如图所示 如果勾选 No Activity 这个模板 是可以选java语言模板的 但是里面没有默认的Activity 勾选2 和以前的用法…

关于安卓ZXing条码识别(一)引入源码

背景 从0-1引入安卓zxing,实现条码识别 环境 win10 as4 jdk8 引入 首先,官方网站,就是源码。链接 选择你要引入的分支,这里博主选择的是最近更新的分支,如下图: 上图中,1和2都需要引入&am…

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答传输层安全(TLS)

车载诊断协议DoIP系列 —— 诊断报文和诊断报文应答&传输层安全(TLS) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 本就是小人物,输了就是输了,不要在意别人怎…

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书

2021年江苏省职业院校技能大赛高职组 “信息安全管理与评估”赛项任务书 一、赛项时间:二、赛项信息三、竞赛内容:第一阶段任务书(300分)任务1:网络平台搭建(60分)任务2:网络安全设备…

23 经典卷积神经网络 LeNet【李沐动手学深度学习v2课程笔记】 (备注:提到如何把代码从CPU改到在GPU上使用)

目录 1. LeNet 2. 实现代码 3. 模型训练 4. 小结 本节将介绍LeNet,它是最早发布的卷积神经网络之一,因其在计算机视觉任务中的高效性能而受到广泛关注。 这个模型是由AT&T贝尔实验室的研究员Yann LeCun在1989年提出的(并以其命名&…

第十九天-分布式爬虫scrapy-redis

1.scrapy-redis介绍 1.scrapy框架程 2.分布式爬虫将多个主机组合起乱来,完成一个爬虫任务,快速高效的提高爬虫效率 3.scrapy-redis框架, 优点:1.加快项目的运行速度2.单节点不稳定不影响整个系统的稳定性 3.断点续爬 缺点&…

基于C++和Qt Creator实现的仿制网易云音乐播放器

目录 总体介绍开发环境技术介绍项目目录项目介绍特殊说明Gitee地址 总体介绍 仿照网易云播放器界面实现,目的在于锻炼C编程能力,熟练掌握Qt Creator各种组件的使用及样式设置、界面布局、QtPlugin技术、QXml读写XML文件方法、Qss文件的编写及使用等。 …

【笔记】全国大学生GIS应用技能大赛练习总结

该总结笔记为小组成员在练习完毕了历届题目后自我总结的结果,如有不足之处可以在评论区提出,排版较乱往谅解 绘制带空洞的面要素: 法一: 1、矢量化整个区域。2、矢量化空洞区域。3、将矢量化空洞区域进行合并(编辑器…

【MySql学习之路】window环境下MySql安装和安装过程中出现的问题

environment:windows software:mysql 本文主要分享mysql关系型数据库在干净的环境下,第一次安装以及在安装过程中出现的常见问题和解决方法。目前官网给出的安装包有两种格式,一个是msi格式,一个是zip格式的。很多人下了zip格式的解压发现没有setup.exe,面对一堆文件无从…

HTTPS如何保证数据传输的安全性 以及CA签发证书验签

暴力输出: 越看会越深入,睡前难以想通,后深入研究。得之。 有问题 请留言。 ----------追求内心的富足与平和。日行一善。 亓苏姑娘

面试经典150题【61-70】

文章目录 面试经典150题【61-70】61.旋转链表86.分隔链表104. 二叉树的最大深度100.相同的树226.翻转二叉树101.对称二叉树105.从前序与中序遍历序列构造二叉树106.从后序和中序遍历序列构造二叉树117.填充每个节点的下一个右侧节点指针II114.二叉树展开为链表 面试经典150题【…

【软考】图的遍历

目录 1. 概念2. 深度优先搜索2.1 说明2.2 步骤 3. 深度优先搜索例子3.1 无向图3.2 代码示例3.3 结果示例3.4 过程 4. 广度优先搜索4.1 说明4.2 步骤 5. 广度优先搜索例子5.1 无向图5.2 代码示例5.3 结果示例5.4 过程5.5 例题5.5.1 题目1 1. 概念 1.图的遍历是指从某个顶点出发…

Day32-计算机基础2

Day32-计算机基础2 1. 什么是网络拓扑(Network Topology)?2. 网络拓扑3种经典模型2.1 网络拓扑结构-总线型2.2 网络拓扑结构-环形2.3 星型:2.4 网络拓扑结构总结 3.OSI网络模型概念*****3.1 OSI的概念:open system interconnect 开放系统互连…

第五十三天| 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

Leetcode 1143.最长公共子序列 题目链接:1143 最长公共子序列 题干:给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&…

CentOS7部署SonarQube 9.9.4 LTS

文章目录 下载地址前置条件安装sonarqube创建用户解压修改sonar.properties配置文件 启动sonarqube开启防火墙端口启动报错访问SonarQube安装汉化包 安装sonar-scanner 下载地址 社区稳定版本 版本依赖关系 Prerequisites and overview (sonarsource.com) 前置条件 JDK11安…