| 网站首页 | 测试咨讯 | 新手入门 | 专注性能 | 测试技术 | 测试管理 | 测试工具 | 开发社区 | 工具下载 | 资料下载 | 测试论坛 | 

[CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523

新手入门
 入门指南
 经验之谈
测试咨讯
 行业新闻
 网站动态
 人才就业
 CNTester基金
 标准规范
专注性能
 性能测试知识
 性能测试工具
 程序设计性能
 数据库性能
 Web应用服务器性能
 操作系统性能
 服务器与网络性能
测试技术
 用例设计
 性能测试
 自动化测试
 Web测试
 面向对象测试
 综合技术
 阶段性测试
 行业类测试
测试管理
 项目管理
 项目案例
 质量管理
 软件过程
测试工具
 Mercury系列
 Rational系列
 测试管理工具
 性能测试工具
 功能测试工具
 单元测试工具
 其它测试工具
开发社区
 Java技术
 DotNet技术
 C技术
 数据库技术
 操作系统
 服务器与中间件
工具下载
 测试工具
 开发工具
 企业工程
 网络通信
 媒体桌面
 游戏娱乐
 其他工具
资料下载
 测试资料
 程序设计
 数据库
 操作系统
 应用服务器
 电子期刊
 其他资料
 
 
您现在的位置: 中国测试员网站 >> 专注性能 >> 性能测试知识 >> 性能综合 >> 文章正文
  负载、性能测试和容量测试的关系和区别           ★★★ 【字体:
负载、性能测试和容量测试的关系和区别
作者:暂无    文章来源:转载    点击数:    更新时间:2007-11-30    
 

1.强度测试或压力测试

强度或压力测试是在一种需要异常数量、频率或资源的方式下,执行可重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈。异常情况,主要指那些峰值、极限值、大量数据的长时间处理等,包括:


  • 连接或模拟了最大(实际或实际允许)数量的客户机;
  • 所有客户机在长时间内执行相同的、性能可能最不稳定的重要业务功能;
  • 已达到最大的数据库大小,而且同时执行多个查询或报表事务
  • 当中断的正常频率为每秒一至两个时,运行每秒产生十个中断的测试用例;
  • 运行可能导致虚存操作系统崩溃或大量数据对磁盘进行存取操作的测试用例等。

压力测试可以分为稳定性测试和破坏性测试

  • 稳定性压力测试。在选定的压力值下,持续运行24小时以上的测试。通过压力测试,可以考察各项性能指标是否在指定范围内,有无内存泄漏、有无功能性故障等。
  • 破坏性压力测试。在压力稳定性测试中可能会出现一些问题,如系统性能明显降低,但很难暴露出其真实的原因。通过破坏性不断加压的手段,往往能快速造成系统的崩溃或让问题明显的暴露出来。

在压力测试中,会给程序加上一些跟踪机制(如log、日志等),然后查看监视系统、服务器等性能的日志文件是必要的,找出问题出现的关键时间或检查测试运行参数,通过分析问题或参数从而有目的地调整测试策略或测试环境,使压力测试结果真实地反映出软件的性能。

 

2.性能测试

系统的性能指标,一般赢在产品需求文档中有明确定义,有三种形式描述软件系统的性能指标:


  • 给出产品性能的主要指标,如在100000记录中查询一个特定数据的时间为0.5秒。
  • 以某个已发布的版本为基线,如比上一个版本的性能提高30-50%。
  • 和竞争对手的同类产品比较。

性能测试,根据其目的分为:


  • 产品性能质量测试,通过测试,决定产品是否达到产品规格书所要求的性能指标(非功能性需求)
  • 基准值测试,通过对当前产品的性能测试,确定产品具体的性能指标,建立性能指标基准。基准值,作为后继产品发布的性能参考(在新版本中,性能指标要求只升不降)或和竞争对手产品比较的参考。
  • 性能规划测试,通过不断的测试,确定所需要的硬件配置(内存、CPU、网络等)、软件配置,以满足实现定义的性能指标要求。这种测试,对于软件系统的部署是非常有意义的。同时,也可以进一步了解硬件参数、软件参数对系统性能的影响程度,从而保证系统具有很好的扩充性或事先制定较好的系统增容的计划。


性能测试的方法,主要有:


  • 稳定压力加载,一次性将负载加到某个水平,持续一段时间,也称为flat测试。
  • 逐渐加载或交替加载到某个负载水平,也称为“ramp-up”测试。
  • 峰谷测试,确定从系统高峰时间的负载转为几乎空闲、再攀升到高负载这样峰值交替情况下的系统性能状态/指标。这种测试兼有容量测试的特点或属于容量测试的一部分。

性能测试,一般都通过测试工具来模拟人为的操作而进行。性能测试的重点在于测试环境的建立、前期数据的设计与后期数据的分析。因为性能测试需要获得一定特定条件下(如100、200、500、1000个实时的连接)的系统占用资源(CPU、内存等)数据或系统行为表现,而且还要依靠测试工具或软件系统记录下这些指标变化的数据结果。例如,如果对一个Browser/Server结构的网络实时在线的培训系统软件进行测试,系统性能焦点是在不同数量的并发连接下,服务器的CPU、内存的占用率、客户端的响应时间等,如表1所示。

表1 HTTP连接性能表

HTTP

1?

1?0

1?00

1?00

1?00

1?00

1?00

1?00

1?00

……

10?

60?

CPU (%)

1.2

2.5

4.5

11

20

20

28

23

25

… 

4

24

物理内存(M)

55

45

38

38

32

48

75

46

37

… 

178

232

虚拟内存(M)

836

841

831

855

865

858

867

874

884

… 

871

1,472

加入时间(s)

12.04

12.14

11.6

15.48

126.1

104.76

168.1

123.7

218.11

… 

12.01

9.17

建会时间(s)

12.01

11.35

12.38

13.32

13.63

14.06

16.35

14.98

17.68

… 

10.9

11.39

延时(s)

…….

断开时间(s)

8.58

9.11

7.94

9.09

8.26

8.35

8.46

11.41

11.1

… 

8.79

8.22

 

测试过程中,并发连接的不断增加(负载的增加)在系统性能上的表现越来越明显。在系统性能测试时,加载过程中,每到一个测试点时须让系统平稳运行一段时间后再获取数据,以消除不同测试点的相互影响。从表中可以看出,同样是300个用户,1?00与60?的性能表现差别很大,加载的方式对系统性能影响也较大,所以,尽量模拟不同的加载方式来进行系统的性能测试。除此之外,还可以测试TCP、HTTPS等不同连接方式下的数据,进行比较。通过比较和分析,可以清楚知道系统的性能状况,以及什么样的条件下系统性能达到最佳状况、什么地方是性能的瓶颈。性能测试要求测试环境应尽量与产品运行环境保持一致,应单独运行,尽量避免与其他软件同时使用。

 

3容量测试

通过性能测试,如果找到了系统的极限或苛刻的环境中系统的性能表现,在一定的程度上,我们完成了负载测试和容量测试。容量可以看作系统性能指标中一个特定环境下的一个特定性能指标,即设定的界限或极限值。

容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。对软件容量的测试,能让软件开发商或用户了解该软件系统的承载能力或提供服务的能力,如某个电子商务网站所能承受的、同时进行交易或结算的在线用户数。知道了系统的实际容量,如果不能满足设计要求,就应该寻求新的技术解决方案,以提高系统的容量。有了对软件负载的准确预测,不仅能对软件系统在实际使用中的性能状况充满信心,同时也可以帮助用户经济地规划应用系统,优化系统的部署。

 

3.压力测试、容量测试和性能测试的关系

压力测试可以看作是容量测试、性能测试和可靠性测试的一种手段,不是直接的测试目标。压力测试的重点在于发现功能性测试所不易发现的系统方面的缺陷。而容量测试和性能测试是系统测试的主要目标内容,也就是确定软件产品或系统的非功能性方面的质量特征,包括具体的特征值。容量测试和性能测试更着力于提供性能与容量方面的数据,为软件系统部署、维护、质量改进服务,并可以帮助市场定位、销售人员对客户的解释、广告宣传等服务。

压力测试、容量测试、性能测试,测试的方法相似、相通,在实际测试工作中,往往结合起来进行,以提高测试效率。一般会设置专门的性能测试实验室,完成这些工作。即使用虚拟的手段模拟实际操作,所需要的客户端有时还是很大的,所以性能测试实验室的投资较大。

文章录入:红枫林    责任编辑:红枫林 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
    最新热点 最新推荐 相关文章
    · mysql优化基础
    · MySQL服务器安装完之后如何调节性能
    · Mysql数据库管理系统优化方案
    · MySQL Performance Tuning Primer Script
    · MySQL 性能跟踪语句
    · Linux 和对称多处理
    · 应用与数据库性能测试解决方案,QUEST SO
    · 负载、性能测试和容量测试的关系和区别
    · LoadRunner监控Windows和Linux常见问题
    · 31个用来测试网站各项性能的免费工具
    · 应用与数据库性能测试解决方案,QUEST SO
    · 研究项目: JBoss架构分析
    · 如何通过 20% 的工作获得 80% 的性能改善
    · Linux 调度器内幕
    · 在 Linux 上利用数据分区功能提高可伸缩性
    · 降低 Linux 内存开销
    · Linux 和对称多处理 在 SMP 系统上发挥 L
    · 如何提高系统性能指标
    · Java 优化技术 充分挖掘 Java 应用程序性
    · 高速缓存和连接池对访问数据库性能的影响
    在IBM Rational Performance
    Rational Performance Teste
    IBM Rational Performance T
    扩展 Rational Performance 
    使用IBM Rational Performan
    使用JMeter进行性能测试
    负载分析-性能测试成功的基
    LR自动化测试工具的应用
     
     
     
    ======> [CNTester联盟群]交流群:34446273/21968356/64461572 白盒群:18400216 自动化群:2706508 性能群:4498858 外包群:59649884 管理群(需有管理经验):64442523
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | 

    Copyright@2007 by CNTester.com 中国测试员网站 桂ICP备07005590

    本站为开源免费网站,非商业赢利性组织。本站文章部分从网络搜索获取,如果您认为某些侵犯了您的权益,麻烦您联系本站,我们会尽快删除相关内容,同时也希望您的谅解,我们的初衷是为了让更多人去学习这方面的知识,让行业有更好的发展。

    联系电话: 15021358905