性能测试常见分类及关注指标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试常见分类及关注指标相关的知识,希望对你有一定的参考价值。
参考技术A 性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。特点:
1、这种方法的主要目的是验证系统是否有系统宣称具有的能力。
2、这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。
3、这种方法要求在已经确定的环境下运行。
也就是说,这种方法是对系统性能已经有了解的前提,并对需求有明确的目标,并在已经确定的环境下进行的。
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。
特点:
1、这种性能测试方法的主要目的是找到系统处理能力的极限。
2、这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。
3、这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用。
也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出“我的要求”或系统崩溃。
负载测试方法是对系统或设备进行增加压力并测量其性能指标的过程。执行负载测试以在正常和峰值负载条件下找出系统的行为。有助于指定应用程序的极限操作量以及任何瓶颈,以便隔离导致降级的组件。换一种说法,麻烦制造者。
压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误
特点:
1、这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。
2、这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。
3、这种性能测试方法一般用于测试系统的稳定性。
也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。
当系统上的负载超出标准使用模式,以检查异常极端或最高负载下的系统反应时,这就是压力测试。负荷通常如此之大以至于错误条件是预期的结果,但是当活动不再是负荷测试并且变成压力测试时,不存在明确的边界。
并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。
特点:
1、这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。
2、这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。
3、这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持。
也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压。
其主要目的是发现系统中可能隐藏的并发访问时的问题。例如内存泄漏、线程死锁、资源争用等。
配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。
特点:
1、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
2、这种性能测试方法一般在对系统性能状况有初步了解后进行。
3、这种性能测试方法一般用于性能调优和规划能力。
也就是说,这种测试关注点是“微调”,通过对软硬件的不段调整,找出这他们的最佳状态,使系统达到一个最强的状态。
基准测试是通过科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的可对比的测试;可测量、可重复、可对比是基准测试的三大准则(取自百度百科)
其主要目的是为对某项性能指标(或业务指标)与某一基线指标相对比的测试过程(可对比)
在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
特点:
1、这种性能测试方法的主要目的是验证是否支持长期稳定的运行。
2、这种性能测试方法需要在压力下持续一段时间的运行。(2~3天)
3、测试过程中需要关注系统的运行状况。
可靠性测试是为了评估产品在规定的寿命期间内、在预期的使用、运输或储存等所有环境下、保持功能可靠性而运动的活动,是将产品暴漏在自然或人工的条件下经受其作用,以评价产品在实际应用、运输的环境条件下的性能,并分析研究环境因素的影响程度以及其工作机制。。。。
其实可靠性测试的概念大致概念就是通过给系统加载一定的业务压力(例如资源在70%~90%的使用率),让应用持续运行一段时间,测试系统在这种条件下能否稳定运行。
也就是说,这种测试的关注点是“稳定”,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。
稳定性测试是就测试系统长期稳定运行的能力,在系统的运行过程中,对系统进行施压,观察系统的各项性能指标,以及服务器指标。
其主要目的在与系统长期处于压力下的运行能力(或者正常业务压力下);在测试过程中尽量延长测试时间,增大压力来提高测试的可靠性。
容量测试:(Capacity Testing)
容量测试,顾名思义,大致概念偏向于负载测试(百度百科巴拉巴拉,不再粘贴)
扩展性测试:(Extensibility Testing)
通常说的水平伸展(也是高并发系统中的一个重要因素),何谓水平伸展,在保证系统性能的情况下,可以通过增加机器来释放系统压力,谓之水平伸展。
失效恢复测试是针对有冗余备份和负载均衡的系统设计的。该测试方法可以用来检验如果系统局部发生故障,用户是否能够继续使用系统,以及如果这种情况发生,用户将收到多大程度的影响。
特点:
(1)主要目的在于验证在局部故障情况下、系统能否继续使用;一般的关键业务系统都会采用热备份或负载均衡的方式来实现。这种业务系统一般要求如果有一台或者几台服务器发生故障,应用系统仍然能够正常执行业务。测试时可以模拟服务器故障,观察恢复技术是否能够发挥作用。
(2)这种性能测试方法还需要指出,当问题发生后系统能够支持多少用户访问的概念或者采取某种应急措施的方案。
(3)一般来说,只有对系统持续运行指标有明确要求的系统才需要进行这种类型的测试。不是所有的系统都需要进行该测试的。
浪涌测试是中模拟加压的场景测试,固定的线程数量在不同的时间内持续运行相同的时间。
例如:
10个线程在10s启动,持续运行10s,10s停止。
10个线程在20s启动,持续运行10s,10s停止。
10个线程在30s启动,持续运行10s,10s停止。
接口性能测试方案 白皮书 V1.0
性能常关注指标
软件测试常见性能指标都有哪些,并简述其定义
包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试
1、负载测试
负载测试,一种性能测试指数据在超负荷环境中运行,程序是否能够承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
2、强度测试
强度测试,一种性能测试,他在系统资源特别低的情况下软件系统运行情况。这类测试往往可以书写系统要求的软硬件水平要求。
实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。
3、数据库容量测试
数据库容量测试指通过存储过程往数据库表中插入一定数量的数据,看看相关页面是否能够及时显示数据。数据库容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。
4、基准测试
基准测试与已知现有的系统进行比较,主要检验是否与类似的产品具有竞争性的一种测试。
5、竞争测试
软件竞争使用各种资源(数据纪录,内存等),与其他相关系统对资源的争夺能力。
扩展资料
软件测试原则:对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。
因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。
参考资料来源:百度百科-软件测试
参考资料来源:百度百科-软件测试类型
参考技术A性能测试指标一般可以划分为:业务指标和系统资源指标两大部分,对于一般用户而言,对于系统性能的要求主要是业务指标,而系统性能指标是系统性能的一个反应,它可以帮助分析系统性能瓶颈,优化系统或去发现一些隐形问题。
对业务指标的要求主要有:请求响应时间,最大并发量等等。
对系统资源的指标,如:资源使用率是指在系统负载运行期间,数据库服务器,应用服务器,web服务器的cpu,内存,硬盘,外置存储,网络带宽的使用率,低于20%的使用率为资源使用稳定,60%-80%的使用率表示资源使用饱和,超过80%的使用率的资源使用率必须尽快进行资源调整和优化。
参考技术B 性能测试指标一事务( Transaction ) TPS
在web性能测试中,一个事务表示一个“从用户->web Server->DB->web
server->用户”的过程,一般的响应时间都是针对事务而言的。
响应时间( Response Time )
响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的
响应结束,这个过程所耗费的时间。在某些工具中,响应时间通常会称为
“TTLB”,即“time to last byte”,意思是从发起一个请求开始,到客户端收
到最后一个字节的响应所耗费的时间。响应时间的单位一般为“秒”或者“毫
秒”。一个公式可以表示:响应时间= 网络响应时间 + 应用程序响应时间 。
点击率(客户端Hit Rate)
Hit rate: 是指每秒发送的HTTP请求的数量,点击率越大对server造成的压力就越大
性能测试指标二
吞吐量(任一秒上从服务器获得的数据量Thoughput)
吞吐量是指单位时间内处理的客户端请求 数量。通常情况下,吞吐量用请求数、秒或者页面数/秒来衡量。从业务角度看,吞吐量也可以用访问人数/天 或者页面访问量/天来衡量。
并发用户
并发数是指同时进行请求的客户的数量,并发数用于模拟用户的真实负载情况(并发情况是对系统最大的考验),并发数≠ 同时使用系统的用户数。
同一时刻
对服务器的负载
(注意:全部用户、在线用户、并发用户三者之间的区别)
资源利用率(内存、CPU、网络、I/O的利用率等 Resource utilization)
资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU(s),内存,
网络带宽等。资源利用率通常以占用最大值的百分比n%来衡量。
不同视角的性能
用户时间
影响时间(最关心的指标)
2/5/8原则:过长时间的等待会让客户烦躁不安
系统稳定性(吧对如阿健的信心留住)
HTTP500:数据库崩溃、应用服务器崩溃
HTTP404:服务器无法回应 参考技术C
软件测试重点性能测试指标主要有以下几个:
1. 响应时间;响应时间一般包含网络时间 + 应用程序处理时间。用户发送一个请求到用户接收到服务器返回的响应数据,这就是响应时间。一般在3-5秒钟以内表示性能是良好的。
2. 吞吐量;指单位时间内系统处理用户的请求数,一定程度上说明系统的负载能力。
3. 并发量;一定时间内,最大的同时在线用户数。一般通过网站性能测试工具模拟虚拟用户执行。
4. 资源利用率;网站重点测试指标之一就是资源利用率,分析系统运行时CPU占用率和磁盘占用率等,这也是之后工作中改善网站性能的重要依据。
来源:卓码软件测评
以上是关于性能测试常见分类及关注指标的主要内容,如果未能解决你的问题,请参考以下文章