目标

  1. 1. 熟悉性能测试分类及概念
  2. 2. 理解性能测试常用指标

为什么要学习性能测试分类?

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

思考

  1. 性能能测试常用的分类都有那些?

一、性能测试常用分类

  1. 1. 负载测试
  2. 2. 压力测试
  3. 3. 并发测试
  4. 4. 稳定性测试
  5. 提示:性能测试分类还有其他类型比如:配置测试、容量测试等,在于前期我们先熟悉以上常用分类

1.1 负载测试 【重点】

  1. 说明:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统的性能指标情况下,系统所能够承受的
  2. 最大负载量的测试。
  3. (负载:向服务器发送请求)
  4. 提示:负载测试是通过逐步加压的方式来确定系统的处理能力、确定系统能够承受的各项阀值。例如:逐步加压,
  5. 从而得到“响应时间不超过3秒”、“服务器平均CPU利用率低于80%”等指标的阀值。
  6. * 阀值:关注的某一具体数值(比如:登录小于3秒、用户数2000、业务成功率100%)

1.2 压力测试 【重点】

  1. 说明:
  2. 通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于【失效】状态。
  3. 提示:
  4. 1. 压力测试:是逐步增加负载,使系统某些资源达到饱和甚至失效。
  5. (如:测试系统最多支持同时处理多少请求,超过此数数量系统瘫痪)
  6. 2. 负载测试:是逐步增加负载,确定在满足性能指标情况下,系统能承受的最大负载测试。
  7. (如:登录3秒内,最多支持多少用户同时登录;如超出此数量,可能需要5秒钟或更多时间才能登录成功)

1.3 并发测试 【重点】

  1. 说明:
  2. 1. 概念:并发测试就是【多用户】同时访问【同一个应用】;
  3. 2. 目的:测试应用服务器 指定功能 的同时访问数是否达到预期结果;
  4. 提示:
  5. 1. 并发测试需要配合集合点来使用
  6. 2. 集合点:我们在接口阶段已了解,这里做个简单回顾...

1.4 稳定性测试 【理解】

  1. 说明:通过给系统加载一定的业务压力(如CPU资源在70%~90%的使用率)的情况下,运行一段时间,
  2. 检查系统是否稳定。
  3. 提示:
  4. 1. 通常稳定性测试,我们测试一段时间即可;
  5. (如:24小时、3×24小时或7×24小时来模拟长时间运行)

思考

  1. 以上性能测试分类都依赖那些指标来衡量相应的数据或峰值?

什么是指标?

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

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

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

2.1 吞吐量

  1. 说明:吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。
  2. 通常情况下,吞吐量用“请求数/秒”或者“页面数/秒”来衡量。
  3. 提示:
  4. 1. 从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。
  5. 2. 从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。

2.2 并发数

  1. 说明:并发(Concurrency):它最简单的描述就是指多个同时发生的业务操作。
  2. (例如,100个用户同时单击登录页面的“登录”按钮操作。)
  3. 提示:并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。

2.3 响应时间

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

2.4 点击数

  1. 说明:点击数是衡量Web服务器处理能力的一个重要指标。它的统计是客户端向Web服务器发了多少次HTTP请求计算的。
  2. 提示:
  3. 1. 点击数不是通常一般人认为的访问一个页面就是1次点击数,点击数是该页面包含的元素
  4. (如:图片、链接、框架等)向Web服务器发出的请求数数量。
  5. 2. 通常我们也用每秒点击次数(Hits per Second)指标来衡量Web服务器的处理能力。

2.5 资源利用率

  1. 说明:是指系统各种资源的使用情况,一般用“资源的使用量/总的资源可用量×100%”形成资源利用率的数据。
  2. 提示:通常,没有特殊需求的话
  3. 1). 建议CPU不高于80%;
  4. 2). 内存不高于80%;
  5. 3). 磁盘不高于90%;

2.6 错误率

  1. 说明:错误率指系统在负载情况下,失败交易的概率。错误率=(失败交易数/交易总数)*100%。
  2. 提示:
  3. 1. 不同系统对错误率要求不同,但一般不超过千分之五;
  4. 2. 稳定性较好的系统,其错误率应该由超时引起,即为超时率。

思考

  1. 性能测试分类与常用指标以介绍完,那么性能测试需要什么工具?

三、性能常用测试工具

  1. 1. Jmeter
  2. 2. Loadrunner 【本阶段学习】
  3. 提示:性能测试工具与很多,目前最常用就是这两款,我们作为性能测试初期入门掌握这两款工具足矣;

3.1 Jmeter

  1. 说明:Apche公司使用Java平台开发的一款测试工具
  2. 作用:性能测试、接口测试、Web测试(无Gui)
  3. 优点:免费、开源、小巧

3.2 LoadRunner

  1. 说明:HP公司使用C语言开发的一款性能负载测试工具
  2. 作用:模拟高并发负载测试、测试场景搭建、运行、监控 、结果分析
  3. 优点:支持多协议、自带强大的图表功能、可根据需求合并需要的图表
  4. 缺点:收费

Jmeter and LoadRunenr

  1. 提示:
  2. 1. Jmeter 接口测试及接口性能压测首选
  3. 2. LoadRunner Web性能测试首选
  4. 说明:
  5. 1. Jmeter已学过,本阶段不在介绍
  6. 2. LoadRunner本阶段学习使用

总结

  1. 1. 性能测试分类
  2. 2. 性能常用指标