关于测试场景的两个时间概念thinktime和pacing
上一篇 /
下一篇 2009-11-10 13:19:59
/ 个人分类:测试心得感悟
这两个概念,是用loadrunner做性能测试时需要考虑的时间指标,含义分别是:
thinktime:用户思考时间,模拟真实用户在操作过程中的等待时间。
pacing:两次迭代之间的间隔时间。
近日在某测试论坛看到有人探讨这两个时间指标的设置,自己也颇有感想,摘录如下:
thinktime 和pacing值的含义并不难理解,设置这两个值的目的,是为了让测试场景更逼真地模拟用户真实操作,难的是 如何确定它们的值。个人觉得,需要请教有丰富的用户行为研究经验的人才可以。但在实际情况中,需求人员的精力大多在调研功能需求方面,对这样的问题,他们很多时候是不会去了解和考虑的。不过曾经听说象微软,google这样的大公司,是专门设有用户体验研究部门,专门研究用户行为,这样的机构会有大量有说服力的数据。
有的项目实例分析,用的是假设的字眼,比如假设用户浏览网页用1秒,从而设置thinktime=1。但我认为,不应该把thinktime和pacing的值定为一个固定值,这样没有代表性,有的用户看得慢些,有的用户看得快些,有的用户急性子,有的用户慢性子,成千上万的用户都有着千差万别的操作习惯。我的实际做法是,把thinktime和pacing值均设置为一个范围,在脚本执行一次的过程中,用户停顿的时间在一个范围内,比如1-10秒(最小值针对动作快反应快的人,最大值针对动作最反应慢的人)。
而pacing值,如何设置,就不是一两句可以说清楚了。这个值直接影响对服务器施加压力的大小,pacing值越长,相对来说压力就越小,它相当于一个虚拟用户执行完某项业务操作后休息停顿的时间,期间该虚拟用户对服务器不构成压力。在一些网站项目实例中,可能要求被测系统能够支撑每分钟几千个用户请求,那就先计算每分钟虚拟用户能完成多少次迭代,发送多少次请求,从而衡量出所需的虚拟用户数。
Runtime—setting中设置的迭代次数,只在 Run until complete 运行模式下起作用。如果是real-life schedule模式,是由Loadrunner根据你设置的duration时间,结合每次迭代部分的耗时,来决定迭代次数。
收藏
举报
TAG: