首页 > 其他分享 >【测试运维】性能测试知识笔记第1篇:性能测试分类和参数(已分享,附代码)

【测试运维】性能测试知识笔记第1篇:性能测试分类和参数(已分享,附代码)

时间:2024-01-08 15:03:34浏览次数:34  
标签:负载 场景 运维 LoadRunner 性能 并发 测试

本系列文章md笔记(已分享)主要讨论性能测试相关知识。入门阶段:认识性能测试分类-(负载测试、压力测试、并发测试、稳定性测试),常用性能测试指标-(吞吐量、并发数、响应时间、点击数...),性能测试工具选择。性能脚本:1. LoadRunner介绍,2. 脚本录制、运行、参数化,3. 关联、检查点、事务、集合点。性能场景:1. 场景分类、场景设计、场景运行策略,2. 资源监控、SLA、IP Wizard应用。性能分析:1. 摘要报告、事务图表、图表合并,2. 交叉结果、拐点分析、Web项目资源分析。

全套笔记和代码自取地址: https://gitee.com/yinuo112/Devops/tree/master/测试/性能测试/1.md

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


共 5 章,25 子模块


性能测试大纲

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

<center>性能测试基础知识</center>

目标

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

<center>什么是性能测试?</center>

目标

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

概念

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

说明:

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

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

功能测试:验证软件系统操作功能是否符合产品功能需求规格,主要焦点在功能(正向、逆向);<br></br>性能测试:验证软件系统是否满足业务需求场景,主要焦点是业务场景的满足度(时间、空间);

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

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

需求 解决方案

求职需求:

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

业务需求:

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

解决方案:

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

<center>性能测试分类及常用指标</center>

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

一、性能测试常用分类

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

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

1.1 负载测试 【重点】

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

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

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

1.2 压力测试 【重点】

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

  1. 压力测试:是逐步增加负载,使系统某些资源达到饱和甚至失效。(如:测试系统最多支持同时处理多少请求,超过此数数量系统瘫痪)<br></br>
  2. 负载测试:是逐步增加负载,确定在满足性能指标情况下,系统能承受的最大负载测试。(如:登录3秒内,最多支持多少用户同时登录;如超出此数量,可能需要5秒钟或更多时间才能登录成功)
1.3 并发测试 【重点】

概念:并发测试就是【多用户】同时访问【同一个应用】。<br></br>目的:测试应用服务器指定功能的同时访问数是否达到预期结果。

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

1.4 稳定性测试【理解】

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

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

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

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

性能测试常用指标:

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

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

从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。<br></br>从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。

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)<br></br>优点:免费、开源、小巧

3.2 LoadRunner

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

作用:模拟高并发负载测试、测试场景搭建、运行、监控及结果分析<br></br>优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表<br></br>缺点:收费

3.3 Jmeter 和 LoadRunner 的简单对比

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

LoadRunner:Web性能测试首选

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

全套笔记和代码自取地址: 请移步这里

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

3.2 LoadRunner

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

作用:模拟高并发负载测试、测试场景搭建、运行、监控及结果分析<br></br>优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表<br></br>缺点:收费

3.3 Jmeter 和 LoadRunner 的简单对比

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

LoadRunner:Web性能测试首选

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

全套笔记和代码自取地址: 请移步这里

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

标签:负载,场景,运维,LoadRunner,性能,并发,测试
From: https://blog.51cto.com/u_13578013/9144996

相关文章

  • 高性能计算在生物信息学研究中的地位
    1.背景介绍生物信息学是一门研究生物数据的科学,它涉及到生物学、计算机科学、数学、统计学等多个领域的知识和技术。随着生物科学的发展,生物信息学也在不断发展和进步,成为生物科学研究的重要一部分。高性能计算在生物信息学研究中发挥着越来越重要的作用,因为生物信息学研究中涉及的......
  • 测试Kill MMON进程对数据库的影响
    文档课题:测试KillMMON进程对数据库的影响.数据库:oracle11.2.0.41、异常模拟[oracle@racogg:~]$ps-ef|grepmmon|grep-vgreporacle1387910Jan06?00:00:11ora_mmon_orcl[oracle@racogg:~]$ps-ef|grepora_smon|grep-vgreporacle......
  • 优化业务系统运维管理:实现更智能的信息化业务系统监控与决策
        在当今高度信息化的时代,业务管理已成为企业成功的关键因素。为了更好地满足不断变化的市场需求,提高企业运营效率,我们推出了一款全新的业务管理工具——监控易。这款工具将助力企业实现更高效、更智能的业务监控与决策。一、业务系统运维列表:全面掌握业务状态    ......
  • STM32MP157D-DK1 Qt程序交叉编译与运行测试
    上篇文章介绍了STM32MP157D-DK1开发板Qt镜像的构建,通过在Ubuntu中重新编译带有Qt功能的系统来实现。本篇在上篇的基础上,继续搭建Qt的交叉编译环境,实现Qt程序在Ubuntu中编译,在STM32MP157板子中运行。1编译安装SDK在上篇编译系统镜像的基础上,继续编译和安装SDK。1.1编译SDK执行如下......
  • 【Java技术深入解析】「核心技术提升」最流行的Java模拟框架Mockito入门指南(Java单元
    官方资源官方网站http://mockito.org版本介绍还在使用Mockito1.x?看看Mockito2有哪些新功能!Mockito3没有引入任何破坏性的API变动,但现在需要Java8而不是Mockito2的Java6。Mockito4删除了过时的API。Mockito5将默认mockmaker改为mockito-inline,现在需要Ja......
  • Linux Shell数学运算与条件测试
    一、Shell数学运算1.Shell常见的算术运算符号序号算术运算符号意义1+、-、*、/、%加、减、乘、除、取余2**幂运算3++、--自增或自减4&&、||、!与、或、非5==、!=相等、不相等,==也可写成=6=、+=、-=、*=、/=、%=赋值运算符,a+=1相等于a=a+1......
  • 精进单元测试技能——Pytest断言的艺术
    本篇文章主要是阐述Pytest在断言方面的应用。让大家能够了解和掌握Pytest针对断言设计了多种功能以适应在不同测试场景上使用。了解断言的基础在Pytest中,断言是通过 assert 语句来实现的。简单的断言通常用于验证预期值和实际值是否相等,例如:deftest_addition():result=ad......
  • 常用Python自动化测试框架有哪些?优缺点对比
    随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了测试时间。而且由于这些框架被广泛使用,他们具有很好的健壮性,并且具有广泛多样的用例集和技术来轻易发现微小的缺陷。以前,测......
  • openGauss学习笔记-188 openGauss 数据库运维-常见故障定位案例-core问题定位
    openGauss学习笔记-188openGauss数据库运维-常见故障定位案例-core问题定位188.1磁盘满故障引起的core问题188.1.1问题现象TPCC运行时,注入磁盘满故障,数据库进程gaussdbcore掉,如下图所示。188.1.2原因分析数据库本身机制,在磁盘满时,Xlog日志无法进行写入,通过panic日志退......
  • 无涯教程-Redis - 性能测试
    Redis基准测试是用于通过同时运行n个命令来检查Redis性能的实用程序。Benchmarks-语法以下是Redis基准测试的基本语法。redis-benchmark[option][optionvalue]Benchmarks-示例以下示例通过调用100000命令来检查Redis。redis-benchmark-n100000PING_INLINE:1......