以下内容引自: http://blog.csdn.net/shangyichen/article/details/5438528

什么叫压力测试(Stress Testing)

原创 2010年03月31日 19:15:00
  • 标签:
  • 测试 /
  • testing /
  • 磁盘 /
  • disk /
  • 服务器 /
  • user
  • 4572

什么叫压力测试(Stress Testing)

在测试两个字前面加上一个限定词,就变成了很多测试。例如:压力测试、负载测试、性能测试、功能测试等等。但究竟什么是压力测试,初学者往往望文生义,都能说上一两句。是啊,谁还不懂“压力”是什么意思?谁还没经历过压力?然而,压力测试的真正含义和目的,它和其它测试(特别是负载测试)的区别,不是所有的软件工程师都是掌握的。

按照Ron Patton在其《Software Testing》一书中的定义,压力测试是一种破坏性测试,它故意让软件在比较少的资源环境下运行,如低内存、小硬盘、慢CPU上运行,考验程序直至程序无法运行,从而发现软件缺陷。用一句形象的话来比喻,就是让软件在饥饿状态上运行。

下面有一个例子。

一般地,软件应生成运行日志,当系统出现故障时能根据日志快速诊断出问题所在,或用于操作的责任追踪和审计,这些日志文件可能记录在本地磁盘上,工程师如想到要这一步,即系统运行情况要记录在日志里,那么他就比完成学校老师作业进了一步。日志文件随着时间的推移不断膨胀,总有一天当前磁盘不够用了,无法记录新的日志,软件设计者要想办法解决这个问题,解决这个问题有两个办法:一是提示用户系统无法记录新的日志,让用户判断有不要中断系统运行;二是按照字母顺序,将日志记录到下一个磁盘,如D盘或E盘或F盘,如此等等。软件工程师如能想到这一步,那么他又进了一步。如果将后续的D、E、F等所有的盘都用完了,再提醒用户,或直接终止系统运行。

上述逻辑可用下面的伪程序表示:

1       If disk C has enough available space then

2                 Write Log to C;

3       Else

4                 If D disk exists then

5                          If D has enough available space then

6                                   Write log to D;

7                          Else

8                                   If E disk exist then

9                                             If E has enough available space then

10                                                    Write Log to E;

11                                           Else

12                                                    Prompt user: not available disk space for log;

13                                           End if

14                                 Else

15                                           Prompt user: not available disk space for log;

16                                 End if

17                        End if

18               End if

19     End if

在上面的例子中,如果对其进行压力测试,就是选用一台很小配置的机器,各磁盘的剩余空间都很小。在这种情况下运行系统,很快机器上的所有磁盘空间都能被占满,最后程序被迫终止。

这就是压力测试的一个典型例子,将程序施加“压力”,将其逼到没法运行的地步。如果你选用的机器C盘足够大,在你整个测试活动过程中,C盘不会本占满,则执行到的语句只有1、2和19三行,如果你选用的机器,其C、D、E三个磁盘都很小,则日志很快就会占满这几个磁盘,则1-19的所有语句都能本执行。可以看出,有无压力测试,对程序语句和逻辑分支的覆盖是不一样的。

很多人误将负载测试和压力测试混为一谈,认为给程序的负载大,程序经受的压力就大。其实不然,负载测试考验的是系统的吞吐量,假如一个网站号称能经受100万个用户同时访问,那么就想方设法模拟出100万个用户对网站发起连接,观察服务器能否正常作出反应。一般地,负载测试是给被测的系统“喂饱”,看看它能否吞下去,系统为了能吞下大的输入,常常在内部机制上下工夫,或者扩大服务器的配置。

负载测试是尽量增加对系统的访问,而压力测试是尽量使系统在资源稀缺的环境下运行。二者区别很大。但不排斥两个技术同时使用。

转载于:https://www.cnblogs.com/cheese320/p/8316772.html

负载测试与压力测试的区别相关推荐

  1. 性能测试、负载测试、压力测试的区别

    转载自:https://www.cnblogs.com/Bonnieh/p/5826773.html 性能测试(Performance Testing):是通过自动化的测试工具模拟多种正常.峰值以及异 ...

  2. 性能测试,负载测试,压力测试有什么区别

    性能测试,负载测试,压力测试有什么区别 性能测试(或称多用户并发性能测试).负载测试.强度测试.容量测试是性能测试领域里的几个方面,但是概念很容易混淆.下面将几个概念进行介绍. 性能测试(Perfor ...

  3. 【软件测试】负载测试与压力测试的区别

    负载测试与压力测试的区别在于负载测试侧重于压力持续的时间,而压力测试则更加强调施加压力的大小. 压力测试(Stress Testing):是指不断地给被测系统增加压力,直到被测系统被压垮,从而确定系统 ...

  4. 各种测试的定义、负载测试和压力测试的区别

    性能指标关注:时间.空间 性能指标与页面无关 性能测试定义 通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试. 基准测试 在给系统施加较低压力时,查看系统的运行状况 ...

  5. 性能测试之负载测试、压力测试、可靠性测试和容量测试的区别

    负载测试.压力测试.可靠性测试.容量测试的异同点 1.负载测试是逐步增加压力,来找到性能拐点,主要是为了找性能指标,比如服务器最大承受的并发用户数是45,为了找到这个指标,我们一开始施加的用户是20个 ...

  6. 压力测试和负载测试区别_如何理解与区分软件性能测试、负载测试、稳定性测试、压力测试...

    性能测试.负载测试.稳定性测试.压力测试之间有何区别?刚开始自己也不能很好的区分,随着一些具体性能测试实践的开展,大概有一个基本的认识,总结如下: 首先,大致了解下软件产品的性能受哪些因素的影响 我们 ...

  7. 负载测试、压力测试和性能测试的区别

    负载测试(Load testing).压力测试(Stress Test,应称为强度测试)和性能测试,这三个概念常常引起混淆,难以区分,从而造成不正确的理解和错误的使用. 负载测试.压力测试和性能测试的 ...

  8. 负载测试和压力测试的区别

    负载测试的重点是:在系统正常工作情况下的性能指标,发现系统能够承受最大负载量的测试,属于正常范围的测试: 压力测试的重点是:确定在什么负载下系统的性能处于失效状态,发现系统性能的拐点,来获得系统能提供 ...

  9. 性能测试、负载测试以及压力测试

    为什么80%的码农都做不了架构师?>>> 根据产品的时间特性和资源特性,效率测试可以包括不同的测试类型,例如:性能测试.负载测试和压力测试.本文则主要介绍这三种测试,希望对你有帮助, ...

最新文章

  1. 使用哈工大LTP进行文本命名实体识别并保存到txt
  2. Kaggle冠军经验分享丨如何用15个月冲到排行榜的首位
  3. 大年初二,今年过年你选择在男方家过还是女方家过?
  4. 电脑启动后,没有桌面
  5. invalid ELF header
  6. HID接口设备-硬件要求
  7. 李彦宏千字愿景内部信:10次提到“用户”
  8. BookMarklet:瑞士军刀你用了吗?
  9. option columns.render 渲染列(1) 添加checkbox
  10. 如何用DOS命令批量删除文件?(_desktop.ini 或 thumbs.db)
  11. Python 中如何解决 asyncio 文件描述符最大数量限制问题
  12. 设计模式 经典书籍必备推荐
  13. Android自定义UI实例
  14. viper4android使用时,ViPER4Android 目前进度 [11-21,13时16分]
  15. Exception.ToString()使用及其他方法比较
  16. 有关PHP的可变函数
  17. 智能硬件无线通信协议(二)
  18. 复旦大学数学学院高等代数历届期中考试大题精选之一(08级--12级)
  19. OmniPeek抓包工具的安装和使用(附有安装包)
  20. 浏览器书签栏的小图标设置

热门文章

  1. ClickHouse数据分析列式数据库概述
  2. Python Django 常用命令:创建迁移文件/数据库建表/创建admin超级用户
  3. Ribbon客户端负载均衡介绍
  4. Java中的同步集合与并发集合有什么区别?
  5. SpringBoot启动banner更改
  6. POI如何自定义单元格背景颜色
  7. centos7.5安装influxdb-1.7.8
  8. 4.3 计算机网络之IPv4(IPv4分组、IPv4地址、NAT、子网划分与子网掩码、CIDR、ARP协议、DHCP、ICMP)
  9. scrcpy设置快捷键_电脑端scrcpy控制Android手机
  10. C#语法:正则表达式 --Trim()的实现