51Testing软件测试网
  • 软件测试门户
  • 软件测试培训
  • 文章资料精选
  • 软件测试论坛
  • 测试解决方案
  • 软件测试博客
  • 测试招聘求职

  • 老版网站
  • 加入收藏
  • 关于我们

  • 行业资讯
  • 业务知识
  • 软件测试技术
  • 软件测试工具
  • 软件测试管理
  • 软件开发专栏
  • 软件测试下载
  • 软件测试杂志
  • 软件测试沙龙
您的位置: 首页 >> 文章 >> 软件测试技术 >> 性能测试 >> 精选文章

月度热点

性能测试之感想
性能测试过程手记
软件性能问题的几点分析
性能测试——瓶颈分析方法
压力负载测试的一些经验之谈
LoadRunner性能测试指标分析
邮件服务器性能测试浅析
性能测试容量计算方法
有效性能测试
MSC性能测试之体会一

最新更新

oracle性能测试
PHP文件缓存的性能测试
性能测试容量计算方法
LoadRunner性能测试指标分析
性能测试过程手记
有效性能测试
性能测试之感想
MSC性能测试之体会一
软件性能问题的几点分析
压力负载测试的一些经验之谈

相关阅读

应用MaxQ做Web功能测试
针对MySQL新增的复制特性的测试
手机基本功能测试—通话记录测试
软件特征功能测试过程分析
手机基本功能测试—电话本测试

完善压力测试 避免系统崩溃恶果

发布时间: 2008-7-29 15:20    作者: 潘少红    来源: IT168

字体:  小  中  大  | 上一篇 下一篇 | 打印  | 我要投稿  | 每周一问,答贴有奖

  讲到测试,人们脑海中首先浮现的是针对软件正确性的测试,即常说的功能测试。但是软件仅仅只是功能正确是不够的。在实际开发中,还有许多其它的非功能因素在起着决定性作用。比如软件响应速度,影响软件响应速度的因素很多,有些是因为算法不够高效,有些可能受用户并发数的影响。
  
  在我所负责的测试项目中,程序功能能够满足客户需求,但当把程序交付客户使用时,由于客户网络应用环境复杂,而我们在压力测试时没有周密考虑各种可能发生的情况,软件程序在巨大负载下频繁崩溃,使测试团队饱受客户和老板的抱怨。由此,我认识到随着网络环境的复杂性和多样性,压力测试是软件质量保证的重要元素之一,绝对不能马虎了事。
  
  什么是压力测试?

  在软件功能测试中,白盒和黑盒技术用于对正常程序功能和性能进行详尽的检查和测试。而压力测试(Stree Testing)则是用来对付非正常的情况。
  
  (1)什么是压力测试

  压力测试是指模拟巨大的工作负荷来测试应用程序在峰值情况下如何执行操作。例如模拟实际软硬件环境,在超出用户常规负荷下,长时间运行测试工具来测试被测系统的可靠性,和测试被测系统的响应时间,目的是在极限负载下识别程序的弱点。
  
  在众多类型的软件测试中,压力测试主要是以软件响应速度为测试目标,尤其是针对在较短时间内大量并发用户访问时软件的抗压能力。因此,压力测试是在一种需要反常数量、频率或资源下运行系统。由于我们之前对“反常”这个关键词没有理解好,只进行了常规的测试,在这一点上客户的批评让我们感到非常汗颜,说我们是“头发长,见识短”。
  
  (2)压力测试和负载测试的区别

  在这次项目测试前,我一直对压力测试和负载测试存在着一定程度的混淆。经过这次系统崩溃后,我对压力测试和负载测试的区别有了新的认识。压力测试是在超常规负荷条件下,长时间连续运行系统,检验应用程序的各种性能表现和反应。负载测试是指测试应用程序在常规负荷下,确认响应时间和其它的性能和表现。
  
  实际上,压力测试也是从比较小的负载开始,逐渐增加模拟用户的数量,直到应用程序响应时间超时。压力测试的特点是长时间连续运行,增加超负荷(并发,循环操作,多用户)来测试什么时候系统会产生异常,以及异常处理能力,找出瓶颈所在。现在的我终于明白到其实压力测试实际上就是超常规的负载测试。
  
  (3)压力测试的核心原则

  一个有效的压力测试需要遵循一些核心的基本原则,这些原则可以让我们在测试过程中时刻提醒我们压力测试是否还有更多的极端可能。
  
  ①重复:最明显且最容易理解的压力原则就是测试的重复。换句话说,重复测试就是一遍又一遍地执行某个操作或功能。功能测试是验证一个操作能否正常执行,而压力测试则是确定一个操作能否在长时间内每次执行时都正常。
  
  ②并发:并发是同时执行多个操作的行为。换句话说,就是在同一时间执行多个测试用例。功能测试或单元测试几乎不会与任何并发设计结合。因此,压力系统必须超越功能测试,要同时遍历多条代码路径。
  
  ③量级:压力测试另一个重要原则就是要给每个操作增加超常规的负载量。就是说压力测试可以重复执行一个操作,但是在操作自身过程中也要尽量给程序增加负担,增加操作的量级。一般来说,单独的高强度操作重复自身可能发现不了代码错误,但与其他压力测试方法(如并发和量级)结合在一起时,将可以增加发现错误的机会。
  
  ④随机:意思是任何压力测试都应该多多少少具有一些随机性。例如随机组合前面三种压力测试原则,然后变化出无数种测试形式,就能够在每次测试运行时应用许多不同的代码路径来进行压力测试。当一个压力测试结合的原则越多,测试执行的时间越长,就可以遍历越多的代码路径,发现的错误也会越多。



TAG: 压力测试 功能测试
21/212>
软件测试技术

查看全部评论(0)我来说两句

-5 -3 -1 - +1 +3 +5

51Testing软件测试网 | 快捷面板 | 站点地图 | 联系我们 | 广告服务

建议使用IE 5.0以上浏览器,800×600以上分辨率,常年法律顾问:商建刚律师
版权所有 51testing软件测试网 Copyright@51testing.com 2003-2009, 沪ICP备05003035号
意见反馈及技术支持:webmaster@51testing.com 业务联系:service@51testing.com 电话:021-64471599