负载均衡:加强压力测试 避免软件Software程序在巨大负载下频繁崩溃来源: 发布时间:星期六, 2008年12月13日 浏览:54次 评论:0
讲到测试人们脑海中首先浮现是针对软件Software正确性测试即常说功能测试但是软件Software仅仅只是功能正确是不够在实际开发中还有许多其它非功能原因在起着决定性作用比如软件Software响应速度影响软件Software响应速度原因很多有些是算法不够高效有些可能受用户并发数影响
在我所负责测试项目中功能能够满足客户需求但当把交付客户使用时由于客户网络应用环境复杂而我们在压力测试时没有周密考虑各种可能发生情况软件Software在巨大负载下频繁崩溃使测试团队(Team)饱受客户和老板抱怨由此我认识到随着网络环境复杂性和多样性压力测试是软件Software质量保证重要元素的绝对不能马虎了事 什么是压力测试? 在软件Software功能测试中白盒和黑盒技术用于对正常功能和性能进行详尽检查和测试而压力测试(Stree Testing)则是用来对付非正常情况 (1)什么是压力测试 压力测试是指模拟巨大工作负荷来测试应用在峰值情况下如何执行操作例如模拟实际软硬件环境在超出用户常规负荷下长时间运行测试工具来测试被测系统可靠性和测试被测系统响应时间目是在极限负载下识别弱点 在众多类型软件Software测试中压力测试主要是以软件Software响应速度为测试目标尤其是针对在较短时间内大量并发用户访问时软件Software抗压能力因此压力测试是在种需要反常数量、频率或资源下运行系统由于我们的前对“反常”这个关键词没有理解好只进行了常规测试在这点上客户批评让我们感到非常汗颜说我们是“头发长见识短” (2)压力测试和负载测试区别 在这次项目测试前我直对压力测试和负载测试存在着定程度混淆经过这次系统崩溃后我对压力测试和负载测试区别有了新认识压力测试是在超常规负荷条件下长时间连续运行系统检验应用各种性能表现和反应负载测试是指测试应用在常规负荷下确认响应时间和其它性能和表现 实际上压力测试也是从比较小负载开始逐渐增加模拟用户数量直到应用响应时间超时压力测试特点是长时间连续运行增加超负荷(并发循环操作多用户)来测试什么时候系统会产生异常以及异常处理能力找出瓶颈所在现在我终于明白到其实压力测试实际上就是超常规负载测试 (3)压力测试核心原则 个有效压力测试需要遵循些核心基本原则这些原则可以让我们在测试过程中时刻提醒我们压力测试是否还有更多极端可能 ①重复:最明显且最容易理解压力原则就是测试重复换句话说重复测试就是遍又遍地执行某个操作或功能功能测试是验证个操作能否正常执行而压力测试则是确定个操作能否在长时间内每次执行时都正常 ②并发:并发是同时执行多个操作行为换句话说就是在同时间执行多个测试用例功能测试或单元测试几乎不会和任何并发设计结合因此压力系统必须超越功能测试要同时遍历多条代码路径 ③量级:压力测试另个重要原则就是要给每个操作增加超常规负载量就是说压力测试可以重复执行个操作但是在操作自身过程中也要尽量给增加负担增加操作量级般来说单独高强度操作重复自身可能发现不了代码但和其他压力测试思路方法(如并发和量级)结合在起时将可以增加发现机会 ④随机:意思是任何压力测试都应该多多少少具有些随机性例如随机组合前面 3种压力测试原则然后变化出无数种测试形式就能够在每次测试运行时应用许多区别代码路径来进行压力测试当个压力测试结合原则越多测试执行时间越长就可以遍历越多代码路径发现也会越多 0
相关文章读者评论发表评论 |
|