基础招式还不会?测试理论知识系列——性能测试

Posted 双木细谈Java自动化

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础招式还不会?测试理论知识系列——性能测试相关的知识,希望对你有一定的参考价值。

性能测试的必备条件:

  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%,占用率越低,表现越好。


下面为大家提供高清思维导图:


以上是关于基础招式还不会?测试理论知识系列——性能测试的主要内容,如果未能解决你的问题,请参考以下文章

性能测试-5.性能测试理论知识2.0

性能测试基础知识

性能测试基础知识

测试理论 | 性能测试

常见性能测试岗位面试题

你真的了解压测吗?实战讲述性能测试场景设计和实现