性能测试的分类

Posted fuqingwei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试的分类相关的知识,希望对你有一定的参考价值。

性能测试有哪些分类

 

- 负载测试:通过在系统上不断加压,直到性能指标达到极限。这种测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
我理解为测试系统在负荷的情况下,系统的负荷带来的的系统响应的时间,测试的是系统正常工作条件下所能承受的最大负载。
能力
- 压力测试:系统的资源使用饱和的情况下如CPU、内存,系统的正常处理会话能力,以及系统是否会出现错误。目的是检查系统处于压
力性能下的应用表现,通过模拟负载等方法是的系统的资源使用达到较高的水平。我的理解为在一定的负荷条件下,长时间连续运作给系
统性能造成的影响,测试在负荷的情况下,系统哪些地方发生问题。更多时候确定系统的稳定性
- 并发测试:通过模拟yoghurt并发访问,测试多用户同一个应用,同一个模块或者数据记录时是否会发生死锁或是其他的性能问题。这种
测试方法的主要目的是发现系统中可能隐藏并发访问时的问题。主要关注系统中存在的并发问题,例如内存泄漏、线程锁和资源争用方面
的问题。这种方法可以在开发的各个阶段使用需要相关的的测试工具的配合和支持。我理解:并发严格来说是多个用户在同一时间对同一
系统进行相同的操作,但也看到说多个用户在同一系统同一时刻进行任一操作也可叫并发。需要模拟多个用户都系统进行并发操作,已观察
系统的处理能力。
- 配置测试:通过对系统的软/硬件环境的调整,去发现不同的条件对系统的性能影响的程度,从而找到系统各项资源的最优。这种性能测试
方法的主要目的是了解各种不同的因素对系统性能的影响程度,从而判断出最值得进行的调优操作。 但是这种性能测试方法一般在对系统性
能状况有初步了解后进行,且用于性能调优和规划能力。我的理解就是在对现系统的性能有一定的了解后,使用不同的软/硬件组合去找到让系统
有最优的性能。
- 可靠性测试:在给系统加载一定业务的情况下,使系统运行一段时间,以此检测系统是否稳定。主要的目的是验证事都支持长期稳定的运行
且需要在压力下持续一定时间的运行,测试过程中需要关注系统的运行状况。也就是说这种测试的关注点是“稳定”,不需要给系统太大的的
压力,只要系统能够长期处于一个稳定的状态。我理解的是 在一定的压力下系统运行过一定的时间后去测试系统的性能是否能正常处理事件。
- 失效性测试:按老师说的理解的话就是测试当系统局部出现问题时,其他部分是否可以正常运行。

开始看的时候实在不是很分的清压力测试和负载测试之间的区别,后来去查的时候才明白,原来负载测试就是要知道系统正常处理事件时的
最大负荷,而压力测试就是去发现系统在资源负荷的情况下的问题,其实我觉得压力测试是在负载测试下衍生出来的····


###什么是并发用户

-并发用户:就是在同一时间内对测试系统进行操作的用户。当然如果严格来说的话,是在同一时间内对测试系统进行相同操作的用户,


简述理发店原理


-理发店的故事:
1. 一个理发店有三位理发师傅。

2. 每位理发师傅服务一位顾客需要一小时。

3. 顾客都很忙,从进理发店起最多只能等待三小时(等待加 + 被服务的时间)。

思考:

这里我们来理解“最佳用户数”和“最大用户数”。
-理发店原理:三位理发师服务的时间均为一小时一位,而顾客最大忍耐时间为三小时,那我们想最好生意的时候应该就是三位理发师都有客人,那最佳用户为三位,
但因为顾客可以容忍你三小时,那店里的空间要保证能够容纳九个或九个以上的顾客才不会流失掉应有的客人。我的理解为去测系统的处理
能力是一定的时间内,他的最佳用户数和最大用户数

###什么是吞吐量


-吞吐量:一性能测试过程中网络上传输的数据量的综合
-吞吐率: 单位时内网络上传的数据量
-------我在看其他的文章描述的吞吐量是指单位时间内系统处理用户的请求数,其实我觉得这跟老师说的吞吐率的概念
是相同的,我想就把吞吐率归于吞吐量的一种的吧 吞吐量指标可以反映服务器承受的压力,他能够说明系统的负载能力
可以理解说以字节数/秒方式可以表示系统的网络基础设施、服务器架构、应用服务器制约的情况,以请求数/秒的方式表
示应用服务器和应用代码制约的情况。

---吞吐量在性能测试里的作用:


-用于协助设计性能测试场景,根据估算的吞吐量数据,可以对应到测试场景的事务发生频率,事务发生次数等。测试 完成后根据实际
的吞吐量衡量性能测试场景是否达到设计目标。
-用于协助分析性能瓶颈:吞吐量的限制是性能瓶颈的一种重要表现形式,因此有针对性的对吞吐量设计测试,可以协助尽快定位到性能
瓶颈的所在位置。

补充知识:
RBI:是Empirix公司提出的快速识别系统性能瓶颈的方法。这方法基于以下结论得出:


- 1、发现80%系统的系能瓶颈都由吞吐量制约;
- 2、并发用户数和吞吐量瓶颈之间存在一定的关联;
- 3、采用吞吐量测试可以更快速定位问题。
通过不断增加并发用户数和吞吐量观察系统的性能瓶颈。然后、从网络、数据库、应用服务器和代码本身4个人环节确定系统的性能瓶颈


###什么是tps

-要说tps的话,就要了解事物的概念,事务是指用户某一步或几步操作的集合,不过我们要保证它有完整意义。比如用户一次
请求到成功的一个过程就是一个事务。而TPS是系统每秒能处理事务或交易的数量,它是衡量系统处理能力的重要指标。点击率
可以看做是TPS的一种特定情况,点击率更能体现用户端对服务器的压力。tps更能体现服务器对客户端对客户请求的处理能力。

###什么是响应时间
一次完整的响应时间分为三个过程:数据传输、系统处理时间、呈现时间

数据传输时间:这个时间由两段传输时间相加而成,一次是用户请求到达服务器的时间、另一是服务器处理完成返回结果的时间。
系统处理时间:系统得到请求对请求处理完成后并将结果返回的时间 (补充:当系统得到请求后会对请求进行处理并将结果返回。
那我进行性能测试主要就是验证系统的处理时间,因为前面的呈现时间和数据传输时间都是我们不可控制的,用户使用的电脑及浏
览器千差万别,用户的网络状况千差万别。我们唯一能控制的就是将系统的处理请求的时间缩到最短。 一般性能测试场景)
呈现时间:就是客户端接收到请求结果将结果渲染完成的时间

###简述性能测试流程


- 问清性能需求


- 新系统能力验证
- 客户有明确要求
- 找出系统的瓶颈
- 稳定性验证(这种需求需要考虑性能测试的运行时长)


- 了解系统架构


- 分析测试点
- 测试工具选型
- 测试计划
- 测试环境搭建
- 测试执行

 





























































以上是关于性能测试的分类的主要内容,如果未能解决你的问题,请参考以下文章

性能测试的分类以及性能测试的指标

这么详细的性能测试分类你爱了吗

性能测试分类

Jmeter性能测试2-性能测试常见分类

性能测试常见分类及关注指标

性能测试的分类