性能测试1-性能测试基础理论知识

一、性能测试概述

  • 性能测试时确定或者有效验证了系统或者应用软件在测试环境下的速度、可伸缩性以及(或者)稳定性等各种特性;
  • 性能是指足以满足项目或者产品的性能目标的响应时间、吞吐量以及资源利用率等。

二、性能测试分类

1、负载测试:

  • 侧重于确定当前测试中的系统或者应用软件在工作负载条件下,或者在实际运行阶段加载预期的容量时,系统或者应用软件所具备的相关性能特性;
  • 通过逐步正加大系统负载,测试系统性能的变化,并最终确定在满足性能指标下,系统所能承受的最大负载量
  • 负载测试是通过逐步加压的方式,来确定系统的处理能力,确定系统能够承受的各项阀值

2、压力测试:

  • 确定当系统或者应用软件在某些超过实际运行阶段所预期的条件下时所具备的性能特性;
  • 通过逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载条件下系统性能处于失效状态,并获得系统能提供的最大的服务基本
  • 压力测试是逐步增加负载,使系统某些资源达到饱和甚至失效的测试;
  • 压力测试的目的是发现在什么条件下系统性能变的不可接受,并通过对应用程序事假越来越大的负载,知道发现应用程序性能下降的拐点;
  • 设计这些测试却行那哪些条件下应用软件会产生问题,产生什么样的问题,以及哪些征兆会警示潜在问题的发生。

3、容量测试:

  • 在满足性能目标的前提下,系统能够最大处理的最大会话能力,确定系统可处理同时在线的最大用户数;
  • 容量测试确定了服务器的极限失效点,同时监控在各种不同负载和流量模式水平下的性能结果

4、配置测试:

  • 通过对被测试软件的软硬件配置的测试,找到系统各项资源的最优分配原则(每次调优只动一个指标);

5、并发测试:

  • 测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在思索或者其他性能问题,几乎所有的性能测试都会涉及到一些并发测试

6、可靠性测试(持久性测试):

  • 通过给系统加载一定的业务压力的情况下,运行一段时间,检查系统是否稳定;
  • 通常可以测试出系统是否有内存泄露的问题。

7、稳定性测试:

  • 在复杂多变的环境下,系统所能够提供的总可靠性、健壮性、功能和数据完整性、有效性以及响应的连续性;

三、性能测试应用场景
1、能力验证;
2、缺陷发现;性能测试1-性能测试基础理论知识_第1张图片
3、规划能力;
4、性能调优;
5、性能基准比较;
性能测试1-性能测试基础理论知识_第2张图片

四、性能测试常用指标

1、并发数:

  • 并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能(可对服务器产生压力);
  • 在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求;
  • 系统用户数:系统注册的总用户数据。

2、响应时间:

  • 定义:用户发送一个请求到用户接收到服务器的响应数据这段时间就是响应时间;
  • 响应时间的计算:
    响应时间=网络传输(请求)时间+服务器处理(一层或多层)时间+网络传输(响应)时间+页面前端解析渲染时间
    性能测试1-性能测试基础理论知识_第3张图片

3、吞吐量:

定义:单位时间内系统处理的客户端请求的数量
计算单位:一般用请求数/秒作为吞吐量的单位从业务角度来说也可使用访问人数/天或页面访问量/天作为单位
计算方法:Throughput=(number of requests)/(total time)
性能测试1-性能测试基础理论知识_第4张图片

  • 吞吐量逐渐达到饱和;
  • 意味着系统的一种或多种资源利用达到的极限;
  • 通常可以利用拐点来进行性能测试分析和定位。

4、资源利用率:

  • 定义:指得失对不同系统资源的使用程度,通常以专用最大值得百分比来衡量。
  • 常用服务器资源指标:CPU、内存(临时保存)、磁盘IO(永久保存)、网络(带宽)、TPS(每秒通过事务数)、思考时间(用户每个操作后的暂停时间)、每秒点击数(每秒用户向web服务器提交的HTTP请求数,并非鼠标的一次单击操作,因为一次单击操作中,客户端可能向服务器发送多个HTTP请求)、PV(访问一个URL,产生一个PV(Page View,页面访问量,每日每个网站的总PV量是形容一个网站规模的重要指标))、UV(作为一个独立的用户,访问站点的所有页面均算作一个UV(Unique Visitor,用户访问))

你可能感兴趣的:(性能测试1-性能测试基础理论知识)