性能测试的分类以及性能测试的指标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试的分类以及性能测试的指标相关的知识,希望对你有一定的参考价值。
参考技术A 狭义:单用户测试广义:建立基准线,当系统软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
1.概念:通过逐步增加系统负载,确定在满足性能指标的情况下,找出系统所能承受最大负载的测试。
作用:系统最大负载量达到用户要求时,系统才能正式上线。
注意:①通过负载测试,可以确定系统的最大负载量和极限负载量
②系统对外宣称的最大负载量
③负载测试的时间一般为1-2小时
1.概念:在服务器稳定运行(用户正常业务负载下)的情况进行长时间测试(1天-一周等),并最终保证服务器能满足线上业务需求。
2.系统在用户需求的业务负载下运行达到规定的时间时,系统才能正式上线使用。
1.概念:在强负载下的测试,查看系统在峰值下是否功能隐患、系统是否具有良好的容错能力和可恢复的能力。
2.测试场景:高负载下的长时间稳定性压力测试 (如:B-C区间内进行24/3*24小时长时间测试)极限负载下的破坏性压力测试(如:C-D区间内进行测试)
1.概念:在极短时间内,发送多个请求,来验证服务器对并发的处理能力。
2.应用场景:特定的活动场景:抢红包、秒杀、抢购等。
3.与负载测试对比:
负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
1.指从客户端发起请求开始,到客户端接收到结果的总时间
2.包括:服务器处理时间 + 网络传输时间
某一时刻同时向服务器发送请求的用户数
1.概念:单位时间内处理客户端的请求数量,直接体现软件系统的承载能力。
2.吞吐量单位分类
QPS:每秒查询数,即控制度服务器每秒处理的指定请求数量。
TPS(Transaction Per Second)每秒事务数,即控制服务器每秒处理事务请求的数量。
如:支付请求事务=查询用户余额请求+校验支付安全请求+发送支付请求
每秒处理查询用户余额15请求,每秒处理校验支付安全15个请求,每秒处理发送支付15个请求
支付tsp为15
所有的页面元素(如:图片、链接、框架等)的请求总数 量
注意:点击数是请求数,不是页面上的一次点击
指系统在负载情况下,失败业务的概率
注意:
①.错误率是性能指标,是高负载下的失败业务的概率
②.随机bug是功能bug,先解决随机bug才能进行性能测试
1.概念:系统各种资源的使用情况,率=资源使用量/总资源可用量x100%
常见资源指标:
CPU使用率:不高于75%-85%
内存大小使用率:不高于80%
磁盘IO(速率):不高于90%
网路(速率):不高于80%
什么是性能测试?性能测试目的?性能测试的主要分类以及性能测试的常用指标?
性能测试的必备条件:
1.要是直接能连接到服务器的网络。不要使用跳板机、堡垒机或者VPN等网络连接方式,同时保证内外网分开。
因为我们要测试的是服务器的性能,这些东西会导致性能测试的结果受到很大的网络延迟影响,导致性能测试结果不准确。
2.保证独立环境。性能测试不能和功能测试共用一个环境。
保证功能测试和性能测试互不影响!
比如功能测试人员在测试某个功能,你在做性能测试的时候导致服务器出现问题。最后影响到功能测试人员的测试结果。
3.性能测试环境的服务器配置要与生产环境的服务器配置保持一致。
否则性能测试环境下测试出的指标值拿到生产环境下没有说服力。
4.保证被测的服务器不能是集群。
如果被测服务器是集群,那么我们在做测试的时候,不能保证压力分到了哪台服务器。
所以要保证是对一个服务器进行性能测试,而不是集群。
一、什么是性能测试?
通过自动化的测试工具模拟出多种正常场景、异常场景以及峰值负载场景条件下,对软件系统的各项性能指标进行的测试!
举例:12306抢票、秒杀活动、双十一全天等。
二、性能测试的目的?
验证软件系统是否可以达到用户提出的性能指标,同时发现软件系统中的性能瓶颈,从而优化软件系统。
一般来讲会先进行理论上的性能测试,比如:要求一个接口每分钟处理100条请求。
还有就是根据分析业务场景来开展性能测试。比如:500个用户正在浏览商品,300个用户正在参与秒杀,200个用户正在付款的情况下,此时软件系统的性能指标是否达到预期要求。这类混合场景的性能测试。
三、性能测试主要分哪几类?
1.负载测试:模拟实际软件系统所承受的负载条件,通过不断加载或者其他加载方式来找出性能指标变化的拐点。
以检验系统的行为和特性,以发现系统可能存在的性能问题,以预估出系统的大概的一个性能指标(并发数)。
关键词:不断加载(逐步加压)
2.压力测试:模拟一定负载条件下长时间的运行,软件系统是否能够正常、稳定的运行,系统的各项性能指标是否处在预期的范围之内。同时也可以测试系统是否具有良好的容错能力和恢复能力。
压力测试还分为:高负载下长时间的稳定性压力测试 和 极限负载情况下可能导致系统崩溃的破坏性测试
也可以称之为“稳定性测试”。
通过负载测试得出的性能指标(并发数)作为压力测试的负载条件。
关键词:大压力 + 长时间 (最小以小时为单位)
3.容量测试:确定系统的最大承受量。例如:系统的最大用户量,最大存储量、最大的处理数据量。
四、性能测试的指标?
1.响应时间(Response Time):t1+t2+t3+t4
time1:客户端——服务器(发送请求)
time2:服务器处理时间
time3:数据库处理时间
time4:服务器——客户端(返回数据)
2.并发\\并发数\\并发用户数( Concurrent users):一定时间内向服务器发送的请求用户数
a.同一时间在做相同事情的并发(单接口性能测试)
b.同一时间在做不同事情的并发(混合业务场景测试)
所以说,一般先做 单接口的性能测试,然后再做 单业务性能测试,最后做 混合业务场景的性能测试。
3.TPS(Transaction per Second):系统每秒处理的事务数
TPS越高,表示服务器处理能力越好。
QPS:每秒查询数
这也是在做性能测试时,最重要的一个指标值。
4.吞吐量:事务/s,kb/s
在不受网络延迟影响的情况下,吞吐量是和TPS值相等的。
5.资源利用率:主要包括CPU、内存、磁盘、I/O(换入/换出)
一般都要求不会超过80%,占用率越低,表现越好。
以上笔者的经历更像一张横向的知识网,创建了一个交流平台 914172719 ,群内有各种技术同行交流、学习资料、面试经验等。其中用到jenkins、docker、moutebank、python编程等,还需要花更多的精力去深入学习,当每项技能都能掌握到一定深度,才能称为一个完整的知识体系。
最后: 可以关注公众号:伤心的辣条 ! 进去有许多资料共享!资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
好文推荐
转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!
以上是关于性能测试的分类以及性能测试的指标的主要内容,如果未能解决你的问题,请参考以下文章