压力测试有感

2010-03-30  金鑫 

 [如需转载,请在转载时注明出处,并保证本文的完整性]
读STB China Blog,发现值得分享的观点:“对我们的系统和组件进行压力测试是非常重要的。压力测试可以发现很多在正常情况下不会被暴露的问题,也就是说可以发现更多其他测试无法发现的系统缺陷。虽然压力测试和负载测试在某些方面有共同点,但是两者并不相同。负载测试是通过在系统上运行已经定义好的工作负载从而确保系统能够在一定的负载系正常工作。而压力测试是测试系统过载的情况,并帮助回答这样一个问题“什么原因导致了系统错误?”

那么压力测试的共同点:
1、没有用户会这样使用系统
2、负载是完全不合理的
3、系统最终可能会崩溃
4、我们可能不会修复这样的BUG,因为用户不会碰到它。

这是一种设计出来的不合理的负载。实际中用户不会给系统带来如此强度的工作负载。而这种负载强度应该会导致系统崩溃。但是我们并不会修复每一个这样的 BUG。其实这些都并不是重点。重点是我们可以通过这样的测试很快发现系统的弱点,并决定这些弱点是否应该被修复或者处理并由此调整测试。一个在正常使用情况下可能需要一个月才暴露的BUG,在压力测试中可能几分钟就会暴露出来。这是一种很有效并高效的寻找BUG的方法。

压力测试的关键点:一个通过了压力测试的系统在正常的工作负载下将很难出错。这样的系统才是好系统!
567°/5574 人阅读/10 条评论 发表评论

魏哲  2010-03-30

stress test 是属于部分的软件建壮行的测试


谢明志  2010-04-01

"一个在正常使用情况下可能需要一个月才暴露的BUG,在压力测试中可能几分钟就会暴露出来。这是一种很有效并高效的寻找BUG的方法。" 这句话我怎麽觉得这么诡异..... 大家怎么看。


孙建伟  2010-04-01

谢明志: "一个在正常使用情况下可能需要一个月才暴露的BUG,在压力测试中可能几分钟就会暴露出来。这是一种很有效并高效的寻找BUG的方法。" 这句话我怎麽觉得这
有些系统在正常压力下往往运行很久都不会出现问题,但在较大压力下也许很快会出问题,尤其是内存泄露问题,前期通过压力测试去发现这些问题无疑是比较有效的,个人比较赞同。


谢明志  2010-04-01

赞同楼上的观点,只有两点疑惑,一压力测试发现的是压力测试的问题,本身很难是几分钟能够发现的,而且即便发现了,发现的也只是现象,距离具体问题的暴露和剥离噪音找到真正问题也有很长路要走。所以,这类问题,可能不是高效。经常发现一个项目的集成测试和压力测试会延期,甚至是产品发布了还没有完成的。不过,我也没有什么好的建议如何对待处理这类问题。其二,如果压力测试中才发现功能问题,那就太晚了些,主要也是之前阶段的测试覆盖面不够,我们会敦促压力测试前测试人员改写用例以达到覆盖其功能点的目的。
最后,想通过投票统计一下但凡做过系统测试或者压力测试的同学,估算一下在压力测试阶段发现了应该属于之前阶段的例如功能测试、单元测试的问题有多严重。


金鑫  2010-04-01

赞同老谢的建议,弄一个投票吧。我也很想知道


谢小雨  2010-04-01

楼主有道理


黄肖明  2010-04-05

有道理!


黎雪  2010-04-05

我觉得压力测试也是属于健壮性测试的一部分。


马嘉鑫  2010-05-08

“而这种负载强度应该会导致系统崩溃。但是我们并不会修复每一个这样的 BUG”这个是不是可以理解为,寻找系统的最大承载能力,从而寻找一个客户可以接受的一个平衡点


王宏瑜  2010-05-27

通过压力测试可以很快找到系统瓶颈。


登录 后发表评论