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

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

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

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

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


共 5 章,25 子模块

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

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


性能测试大纲

序号 阶段 概述
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性能测试首选

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

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

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

3.2 LoadRunner

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

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

3.3 Jmeter 和 LoadRunner 的简单对比

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

LoadRunner:Web性能测试首选

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

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

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

你可能感兴趣的:(测试,python笔记,运维,笔记,数据库)