性能测试新手误区(三):用户数与压力
作者:网络转载 发布时间:[ 2012/10/10 15:52:21 ] 推荐标签:
同样的项目、同样的性能需求,让不同的测试人员来测,会是相同的结果么?
假设有这样一个小论坛,性能测试人员得到的需求是“支持并发50人,响应时间要在3秒以内”,性能测试人员A和B同时开始进行性能测试(各做各的)。
只考虑发帖这个操作,A设计的测试场景是50人并发发帖,得到的测试结果是平均完成时间是5秒。于是他提出了这个问题,认为系统没有达到性能期望,需要开发人员进行优化。
B设计的测试场景是,50个人在线,并且在5分钟内每人发一个帖子,也是1分钟内有10个人发帖子,后得到的测试结果是平均完成时间2秒。于是他的结论是系统通过性能测试,可以满足上线的压力。
两个人得到了不同的测试结果,完全相反的测试结论,谁做错了?
或许这个例子太极端,并发和平均分布的访问压力当然是截然不同的,那我们再来看个更真实的例子。
还是一个小论坛,需求是“100人在线时,页面响应时间要小于3秒”。A和B又同时开工了,这时他们都成长了,经验更加丰富了,也知道了要设计出更符合实际的测试场景。假设他们都确认了用户的操作流程为“登录-进入子论坛-(浏览列表-浏览帖子)×10-发帖”,即每个用户看10个帖子、发一个帖子。于是他们都录制出了同样的测试脚本。
A认为,每个用户的操作,一般间隔30s比较合适,于是他在脚本中的每两个事务之间加上了30秒的等待(思考时间)。
B想了想自己看论坛时的情景,好像平均每次鼠标点击要间隔1分钟,于是他在脚本中的每两个事务之间加上了1分钟的等待。
他们都认为自己的测试场景比较接近实际情况,可惜测试结果又是不同的,很显然A场景的压力是B的两倍。那谁错了呢?或者有人说是需求不明确导致的,那么你需要什么样的需求呢?
这里我想问几个问题,希望各位看完了上面的小例子后想一想:
如果有另一个人和你测同样的系统,你们的测试结果会一致么?
如果不一致,那么谁是正确的?
如何证明测试结果是有效的?
如果你有了一些疑惑,对之前的测试结果少了一些自信,那么请继续。
服务器视角 vs. 用户视角
性能测试中非常重要的一块内容是模拟预期的压力,测试系统运行在此压力下,用户的体验是什么样的。
那么压力是什么?压力是服务器在不断的处理事情、甚至是同时处理很多事情。压力是服务器直接处理的“事情”,而不是远在网络另一端的用户。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11