注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 CCIE-Lab考试将新增10分钟..
 帮助

压力测试


2008-06-27 14:30:04
 标签:软件   [推送到技术圈]

1)、压力测试是测试系统在非正常的、超负荷的条件下的运行情况 ,用来评估在超越最大负载的情况下系统将如何运行,考验系统在正常的情况下对某种负载强度的承受能力。压力测试就是一种破坏性的测试。
2)、压力测试是在一种需要反常数量、频率或资源的方式下运行系统,用以判断系统的稳定性和可靠性。
3)、压力测试是测试系统在一定饱和状态下,如CPU、内存等资源在饱和使用情况下,系统能够处理会话的能力(如系统的响应时间是否变了?),以判断系统是否会出错。一般会把压力描述为“CPU使用率达到75%以上,内存使用率达到70%以上”。
 
压力测试是大范围的性能测试(Performance testing)的概念里的一种方法,其它的性能测试方法还包括:负载测试(Load testing);配置测试(Configuration testing);并发测试(Concurrency testing);可靠性测试(Reliability testing);失效恢复性测试(Failover testing)等。
 
从更大的范围来说,性能测试是系统测试(System testing)的一个方法。系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求(且是依据系统测试设计书来进行的)。主要包括:系统的功能测试、性能测试、操作测试、负荷测试、排他测试、异常处理测试和模拟运行测试等。
 
再回到原先的话题。
性能测试(Performance Test):通常收集所有和测试有关的所有性能,通常被不同人在不同场合下进行使用。
关注点:how muchhow fast

负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担。
关注点:how much

强度测试(Stress Test): 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况,目的是找到系统在哪里失效以及如何失效的地方。包括
Spike testing
:短时间的极端负载测试
Extreme testing
:在过量用户下的负载测试
Hammer testing
:连续执行所有能做的操作

容量测试(Volume Test):确定系统可处理同时在线的最大用户数
关注点:how much(而不是how fast
容量测试,通常和据库有关,容量和负载的区别在于:容量关注的是大容量,而不需要表现实际的使用。

其中,容量测试、负载测试、强度测试的英文解释为:
Volume Testing = Large amounts of data
Load Testing = Large amount of users
Stress Testing = Too many users, too much data, too little time and too little room
最后有一个跑步的例子用来比喻,我感觉比较形象而且容易理解:
 
性能测试,表示在一个给定的基准下,能执行的最好情况。例如,在没有负重的情况下,你跑100需要花多少时间(这边,没有负重是基准)?
负载测试,也是性能测试,但是他是在不同的负载下的。对于刚才那个例子,如果扩展为:在50公斤100公斤……等情况下,你跑100需要花多少时间?
强度测试,是在强度情况下的性能测试。对于刚才那个例子,如果改为:在一阵强风的情况下,你在负重或没有负重的情况下,跑100需要花多少时间?
 




    文章评论
 
2008-07-09 13:32:14
是倒叙吗...

2008-07-09 16:01:51
压力测试方法很多。希望多上传一些,好的方法让大家来学习。

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: