ppyeer 发表于 2005-7-13 20:08:46

性能测试和压力测试的区别?

性能测试和压力测试到底有什么区别?请各位大侠给个定义和范围。
有人认为压力测试只是实现性能测试的一种方法,实现性能测试还有其他方法,比如:负载/容量测试等。

songfun 发表于 2005-7-13 20:18:46

压力测试重心在于不断施加压力来找到极限,而性能测试则是检测指定范围内的情况。

参考下面这篇帖子:
压力测试和性能测试区别

另,pcl 版主 观点:

负载测试(Load Test)、压力测试(Stress Test)、容量测试(Capability Test)与性能测试(Performance Test)是相互关系?
性能测试包括负载测试、压力测试和容量测试三种主要测试类型,其他测试类型。
负载测试是为了检验系统在给定负载下是否能达到预期性能指标;
压力测试是通过不断向被测系统施加“压力”,测试系统在压力情况下的性能表现,考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在,也就是我们可以模拟巨大的工作负荷以查看应用程序在峰值使用情况下如何执行操作
容量测试针对数据库而言,是在数据库中有较大数量的数据记录情况下对系统进行的测试。

负载测试与压力测试有何区别?
    压力测试是在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。
    负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
    从概念上区别他们,可以看出压力测试有个长时间运行,而负载测试负载类型可能是其他类型的。
    压力测试主要是为了发现在一(任意)定条件下软件系统的性能的变化情况。通过改变应用程序的输入以对应用程序施加越来越大的负载(并发,循环操作,多用户)并测量在这些不同的输入时性能的改变,也就是通常说的概念:压力测试考察当前软硬件环境下系统所能承受的最大负荷并帮助找出系统瓶颈所在。其实这种测试也可以称为负载测试,但是负载测试通常描述一种特定类型的压力测试——增加用户数量以对应用程序进行压力测试。
   比如实际中我们说从比较小的负载开始,逐渐增加模拟用户的数量, 直到应用程序响应时间超时,就是说的负载测试。

[ Last edited by songfun on 2005-7-15 at 19:33 ]

ppyeer 发表于 2005-7-13 20:26:42

那就多谢songfun兄了

songfun 发表于 2005-7-13 20:59:41

:p客气了,有机会能否写篇帖子和大家说说你们进行单元测试实施的具体过程?

我对这个很感兴趣,请多多指教!

[ Last edited by songfun on 2005-7-13 at 21:03 ]

songfun 发表于 2005-7-13 21:13:31

我还是直接粘贴过来吧

性能测试就是用来测试软件在系统中的运行性能的。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。

性能测试经常和压力测试一起进行,而且常常需要硬件和软件测试设备,这就是说,常常有必要的在一种苛刻的环境中衡量资源的使用(比如,处理器周期)。外部的测试设备可以监测测试执行,当出现情况(如中断)时记录下来。通过对系统的检测,测试者可以发现导致效率降低和系统故障的原因。


压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。例如测试一个 Web 站点在大量的负荷下,何时系统的响应会退化或失败。

性能测试:在交替进行负荷和强迫测试时常用的术语。性能测试关注的是系统的整体。它和通常所说的强度、压力/负载测试测试有密切关系。所以压力和强度测试应该于性能测试一同进行。
举例说明:针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度测试。

性能测试(Performance) 正常使用的时间内系统完成一个任务需要的时间,多人同时使用的时候响应时间,在可以接受范围内.J2EE技术实现的系统在性能方面更是需要照顾的,一般原则是3秒以下接受,3-5秒可以接受,5秒以上就影响易用性了. 如果在测试过程中发现性能问题,修复起来是非常艰难的,因为这常常意味着程序的算法不好,结构不好,或者设计有问题。因此在产品开发的开始阶段,就要考虑到软件的性能问题

压力测试 (Stress) 多用户情况 可以考虑使用压力测试工具,建议将压力和性能测试结合起来进行.如果有负载平衡的话还要在服务器端打开监测工具,查看服务器CPU使用率,内存占用情况,如果有必要可以模拟大量数据输入,对硬盘的影响等等信息.如果有必要的话必须进行性能优化(软硬件都可以).

压力测试和性能的测试的区别是在于他们不同的测试目的

压力测试是为了发现系统能支持的最大负载,他的前提是要求系统性能处在可以接受的范围内,比如经常规定的叶面3秒钟内响应;
所以一句话概括就是:在性能可以接受的前提下,测试系统可以支持的最大负载。

性能测试是为了检查系统的反映,运行速度等性能指标,他的前提是要求在一定负载下,如检查一个网站在100人同时在线的情况下的性能指标,每个用户是否都还可以正常的完成操作等。
概括就是:在不同负载下(负载一定)时,通过一些系统参数(如反应时间等)检查系统的运行情况;
比如我们说某个网站的性能差,严格上应该说‘在N人同时在线情况下,这个站点性能很差)

总之,就像一个方程式:综合性能=压力数*性能指数,
综合性能是固定的:
压力测试是为了得到性能指数最小时候(可以接受的最小指数)最大的压力数
性能测试是为了得到压力数确定下的性能指数

ppyeer 发表于 2005-7-13 22:38:04

认同pcl的观点。性能测试包含压力测试、负载测试、容量测试。

软件性能贯穿于整个测试过程,包括单元、集成、系统。
单元测试中性能关注的是代码的内存或其他性能瓶颈、一般可以通过工具来检查;
集成测试中的性能类似于单元测试,检查是接口代码的性能瓶颈;
系统测试中的性能测试关注的是需求规格说明书中的非功能性需求,通常需要进行负载和压力测试,一般也采用工具执行。

最终再总结一下性能测试与压力测试的关系:性能测试包含压力测试。

[ Last edited by ppyeer on 2005-7-13 at 22:39 ]

chriswu0102 发表于 2005-7-14 19:18:38

过来学习学习,没意见吧,呵呵

579721 发表于 2005-9-20 17:12:08

怎么感觉你们两个一唱一和,好象在卖什么?

不过帖字是要顶的
做人要厚道:d:d:d:d:d:d:d

haozhijian 发表于 2005-9-23 13:41:53

两位高人 都是女性!是不是女性作测试的较多呢

两位高人都是女性!是不是女性作测试的较多呢

songfun 发表于 2005-9-23 13:58:39

楼上的,错了~

呵呵,我不是高人,也不是女性 :p

不过ppyeer大版主倒是真正的高人,人家可是著名IT公司的测试经理哦!——为了保全个人隐私,这里就不透露具体公司名了,呵呵

[ Last edited by songfun on 2005-9-23 at 14:00 ]

Amytian 发表于 2005-9-26 13:15:15

学习中...
呵呵

amy_gm 发表于 2005-10-19 23:23:46

牛哦牛哦~~~
羡慕中………………
学习中………………
努力中………………
感谢中………………~~~~~!!!!!!

walker_lai 发表于 2006-8-27 16:21:36

学习了

yunyan 发表于 2006-9-5 17:46:10

好厉害!

zuojingqin 发表于 2006-9-6 13:50:21

学习了,谢谢!

hchdy 发表于 2006-9-6 14:49:11

学习了,
sdlkfj5
我请问一下,你们都是正在从事或曾经从事过这个工作吗。
我是一个想从事这份这个工作的人,我想请教我应该从哪里开始,以前从没接触过IT行业,现在正在看有关的资料

bory580231 发表于 2006-9-6 16:49:27

学习~~

peterzhu_1 发表于 2006-9-28 10:04:57

我觉得解释得非常好

波波狗 发表于 2006-12-1 11:21:10

3Q

fanglu619 发表于 2007-4-27 10:37:01

不错,多谢了
页: [1] 2
查看完整版本: 性能测试和压力测试的区别?