`
Alice南京
  • 浏览: 21090 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

性能测试分类与开展顺序

阅读更多
摘自:性能测试进阶指南 基础

说起性能测试大家常会提到负载,压力,并发,而且容易混为一谈。那么我们在接受到性能测试任务时,首先需要沟通这个功能需求的性能测试点在哪儿,需要对哪些地方采取性能测试。
根据具体的业务去分析需求点,知道每种性能测试类型侧重点各是什么?你的需求是否需要用到。

一.确定需求
这个系统最关心的是什么?整个系统的能容纳的用户量(公安网,有十三亿人口的身份证)?某一时间段,某个业务的集中访问?同一时间的真并发?长时间满负荷的工作?应急方案:集群?流控?队列?

二、需求分类
1.负载测试(Load testing):在一定的软硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下系统响应时间和服务器的资源利用率。

  负载测试强调的是在一定环境下系统能够达到的峰值指标,大多数性能测试都是负载测试

2.压力测试(Stress Test):在一定的软硬件及网络环境下,模拟大量虚拟用户向服务器发起请求,使服务器资源处于极限状态下并长时间连续运行,以测试服务器在高负载下能否稳定运行。

  与负载获取峰值数据不同,压力强调极端情况下的系统稳定性,此时处理能力已经不重要了。

  因为系统一旦上线,就有可能会长期处在大用户的访问状态,可能以前没发现的一些问题就会暴漏出来。比较典型的就是内存溢出。

3.容量性能测试(Volume test):在一定的软硬件及网络环境下,在数据库中构造不同数量基本的数据记录,运行一种或多种业务,在一定虚拟用户数量的情况下,获取不同数量级别的服务器性能指标。

   容量与负载的区别在于,容量关心how much,负载关心how much和how fast
   how much:最大承受量,如系统最大用户数,最大存储量,最多处理的数据流量等。
  
   容量测试也包含可伸缩性测试:硬件的可伸缩性和软件的可伸缩性。
   a.硬件的可伸缩性:
     增加cpu个数,增加存储器空间等。
   b.软件的可伸缩性:
     是否可以通过运行更多的实例或采用分布式来处理来支持更多的用户。
     随负荷的增加响应时间也线性增加。如此便可通过线性增加硬件、实例、或分布式来处            理更多的数据,即不增加响应时间的前台下增加支持更多的用户。
 
4.配置测试(Configuration test):在不同的软硬件及网络环境下,运行一种或多种业务,在一定的虚拟用户数量的情况下,获得不同配置的性能指标,用于最佳的设备及参数配置。

5.基准测试(Benchmark test):在一定的软硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果,或者为系统的选择提供决策数据。

  基准是基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否有所改善。

6.并发测试(Concurrency test):通过模拟多个用户并发访问同一个应用,存储过程或数据记录及其他并发操作,测试是否存在死锁、数据错误等故障。
   主要是避免数据库或函数方法在并发下的错误。
比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。


三、性能测试方法的选择
1.在编码阶段,当一个函数、方法、存储过程通过单元后,我们便可开展并发和压力测试。

2.在整个功能开发完毕且冒烟测试通过后,便可开展容量测试

3.功能测试阶段可以同步进行:负载、配置、基准测试。

四、测试的环境
1.硬件  服务器硬件配置,及用于加压客户端压力机的配置,CPU 内存
2.软件  被测系统的架构,前端、中间件、服务器(这里指运行系统软件服务器,如tomcat)、数据库,以及他们的部署位置。
3.网络   网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。 其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。

这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?

在做性能测试时请忘掉分类

这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?我们在做一个性能测试时也不局限在某一分类上,也可能我们的一个测试包含多个分类。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics