- 浏览: 22055 次
- 性别:
- 来自: 南京
最新评论
摘自:性能测试进阶指南 基础
说起性能测试大家常会提到负载,压力,并发,而且容易混为一谈。那么我们在接受到性能测试任务时,首先需要沟通这个功能需求的性能测试点在哪儿,需要对哪些地方采取性能测试。
根据具体的业务去分析需求点,知道每种性能测试类型侧重点各是什么?你的需求是否需要用到。
一.确定需求
这个系统最关心的是什么?整个系统的能容纳的用户量(公安网,有十三亿人口的身份证)?某一时间段,某个业务的集中访问?同一时间的真并发?长时间满负荷的工作?应急方案:集群?流控?队列?
二、需求分类
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.网络 网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。 其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。
这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?
在做性能测试时请忘掉分类
这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?我们在做一个性能测试时也不局限在某一分类上,也可能我们的一个测试包含多个分类。
说起性能测试大家常会提到负载,压力,并发,而且容易混为一谈。那么我们在接受到性能测试任务时,首先需要沟通这个功能需求的性能测试点在哪儿,需要对哪些地方采取性能测试。
根据具体的业务去分析需求点,知道每种性能测试类型侧重点各是什么?你的需求是否需要用到。
一.确定需求
这个系统最关心的是什么?整个系统的能容纳的用户量(公安网,有十三亿人口的身份证)?某一时间段,某个业务的集中访问?同一时间的真并发?长时间满负荷的工作?应急方案:集群?流控?队列?
二、需求分类
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.网络 网络环境很重要。在上面的几个目的中,除了找出系统性能瓶颈可以在广域网进行,因为这个目的可以不用设置太多的虚拟用户,只要找出系统哪个地方影响了整个系统的性能就行。 其他目的的测试都需要在,局域网进行,不然你压力工具所发送的请求都会卡死在网络的传输过程中。
这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?
在做性能测试时请忘掉分类
这里只是告诉在做性能测试时不要想这个测试是属于性能测试的哪一类呢?是并发性测呢?还是压力测试?我们在做一个性能测试时也不局限在某一分类上,也可能我们的一个测试包含多个分类。
发表评论
-
netstat当我们系统有问题的时候,我们不要急于去调查我们代码,这个毫无意义。我们首要需要看的是操作系统的报告。
2015-11-11 09:43 0http://blog.aliyun.com/896?spm= ... -
Code - 60990 Error: Two Way Communication Error: Function two_way_comm_post_mess
2015-09-14 10:28 693参考:http://www.blogjava.net/qile ... -
压力机疲劳
2015-09-10 16:31 6365个用户,使用一台压力机 5个用户,使用五台压力机 ... -
think_time
2015-09-09 15:56 0loadrunnerjava脚本,使用thinktime。 例 ... -
参数化
2015-09-07 18:40 476我这里写下参数类型为file的 Select Next R ... -
loadrunner 日志打印
2015-09-07 11:29 1011参考: http://bbs.51testing.com/th ... -
应用日志对压测的影响
2015-09-06 12:03 6091.AIX小机 压测CPU的sys请求过多 尝试调整日志级 ... -
利用loadrunner代理方式,录制手机客户端脚本
2015-09-02 15:57 2488需要保证手机终端和电脑在同一无线网络内,手机终端可以通过代理将 ... -
sql句柄用尽,在请求数据库全部报错
2015-08-21 14:10 0execute read lnsprdinfo error!s ... -
hessian接口公司逐渐用ssf去替代它了
2015-08-19 17:13 0hession接口脚本 import lrapi.lr; ... -
关联小结
2015-08-19 14:41 651关联:从响应消息中取出我们需要的字段值。 每一次执行时都会变动 ... -
403Forbidden 防火墙拦截
2015-08-18 14:35 11761.小压力跑场景不到1MIN,请求消息都返回失败。 报抓关 ... -
数据库分表性能测试
2015-08-17 17:11 772业务背景: 随着业务发展,单表的数据量已达实际应用推荐的极限, ... -
运行时报错:network buffer size带宽问题
2015-08-17 10:20 1022运行时报错: Action.c(8): Error -2660 ... -
杂待分类1
2015-08-10 18:11 01、进程与线程 进程是程序执行时的一个实例,即它是程序已经执行 ... -
同一action,响应时间不一致(回放>场景压测)
2015-08-07 14:24 952同一脚本,响应时间不一样(回放VS场景压测) 回放过程中事务 ... -
回放慢(仅web协议,java正常)
2015-08-06 11:39 532我用loadrunner11.0录制B/S模式的 ... -
响应时间(max & min)
2015-08-04 20:46 1050MAX Response time java脚本, ... -
压测分析1
2015-08-04 20:24 0增加用户无法增加TPS,响应时间较长,系统资源消耗较少。 增加 ... -
This Vuser already started a transaction with the same name, and has not yet
2015-08-04 19:06 1119压测执行报错:This Vuser already start ...
相关推荐
性能测试方案的设计思路是制定一个全面的计划,通过这个计划来指导测试工作的开展。以下是根据提供的文件内容总结出的性能测试方案设计的关键知识点: 1. 需求分析:测试的目的在于确认系统的性能能否满足业务需求...
终端性能测试关注主流数据业务的运行质量与稳定性,如彩信、WAP浏览、Java下载等,并从用户实际使用终端体验出发,对用户体验进行细分。测试用例的设计和执行顺序必须反映出用户体验的这些方面。例如,针对彩信业务...
测试工具的作用包括但不限于自动化测试执行、性能测试、代码覆盖分析、缺陷跟踪等。 软件可靠性工程方法: 传统的软件可靠性工程方法包括构造软件可靠性测试剖面、生成测试用例、开展软件可靠性测试、收集软件失效...
4. 测试工程师可能涉及的工作包括编写测试计划、设计和执行测试用例、报告和跟踪缺陷、参与代码审查、进行性能测试等。个人最擅长的部分可能因人而异,如有的人擅长自动化测试,有的人则在手动测试和问题分析上表现...
根据本系统的需求规格说明书、设计规格说明书、安装操作手册、用户手册等,遵照逻辑性、顺序性以与测试方法学,针对测试容专门设计了若干测试用例,从多方面、多角度开展测试活动。 测试过程:测试过程概述起来是...
- **性能测试**:评估软件在不同条件下的响应时间和资源消耗。 #### 四十一、系统瓶颈的概念 系统瓶颈指的是限制系统整体性能的一个或多个因素,例如CPU、内存、磁盘I/O等。 #### 四十二、文档测试的主要内容 ...
- **工具选择**:根据测试需求选择合适的测试工具,比如自动化测试工具、性能测试工具等。 - **人员安排**:确定参与测试的团队成员,并明确各自职责。 ### 二、测试计划 #### 定义 测试计划是对整个测试过程的...
- 性能测试(加载时间、资源消耗等)。 #### 四、测试设计思路 ##### 1. 确定测试环境与工具 - **环境配置**:根据项目需求选择合适的浏览器版本及操作系统。 - **测试工具**:使用Selenium WebDriver等自动化...
- **性能测试**:评估软件在不同负载下的响应时间和资源消耗。 - **安全测试**:测试软件的安全性,防止非法访问和攻击。 - **兼容性测试**:确保软件能在不同的环境中正常运行。 - **用户体验测试**:评估软件的...
请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 常见的软件测试类型及其区别与联系包括: - **功能测试**:关注软件是否实现了预定的功能,通常不考虑软件的内部实现细节。 - **性能...
李文博则在热能与动力工程方面拥有丰富的知识,两人合作开展电器附件产品检测认证工作,他们的工作成果对于检测行业自动化测试系统的搭建提供了宝贵的技术支持。 综上所述,自动化测试系统搭建是一项系统工程,它...
- **测试类型**:例如功能测试、安全测试、性能测试等。 - **测试工具**:如自动化测试工具、性能测试工具等。 - **模块划分**:将大项目分解成小模块,便于管理和执行。 - **测试负责人**:指定测试团队成员的...
### 水泵测试安全技术措施 #### 一、引言 水泵作为煤矿安全生产中的重要设备之一,在确保矿井排水系统的稳定性和安全性方面...对于煤矿企业而言,定期开展此类测试活动是维护生产安全、提升经济效益的重要手段之一。
2. **性能测试**:评估软件在各种负载条件下的性能表现。 3. **兼容性测试**:检查软件在不同环境下是否能正常工作。 4. **安全性测试**:评估软件的安全漏洞和防护机制。 5. **可用性测试**:关注用户体验,确保...
试验流程的策划与分解包括利用专用台架来完成各项试验的具体方法,由于国内尚未建成此类台架,研究者将参考美俄开展地面电性能测试的工作经验,并结合先前在“里克”台架上开展的单根热离子发电元件试验研究工作,...
为了确保软件产品的质量和可靠性,需要通过严格的检测来验证其性能。中国合格评定国家认可委员会(CNAS)为此制定了专门的标准——CNAS-CL20 2006《检测和校准实验室能力认可准则在信息技术软件产品检测领域的应用...