谈到性能测试,大家一定会联想到Jmeter和LoadRunner,这两款工具目前在国内使用的相当广泛,主要原因是Jmeter是开源免费,LoadRunner 11在现网中存在破解版本。商用型性能测试工具对于中小型企业很难承担相关的费用。国内的性能测试工具有:CTPS(华为)、kylinTOP(奇林)、PTS(阿里)等,国外的性能测试工具LoadRunner相对比较出名。Loadrunner在国内出名的原因主要还是因为LoadRunner 进入中国的市场比较早,而且网上还存在破解版本。现在我们主要研究一下目前网络广泛存在的破解版本LoadRunner11在使用上有什么限制。以帮助同行们在使用时心里明白。
1、 测试思路
步骤1:使用Loadrunner 11录制一个web页面
步骤2:建立测试计划,各自运行脚本一次,运行的过程通过(wireShark抓包)
步骤3:通过对wireShark网络抓包结果分析HTTP请求的顺序。
步骤4:wireShark抓包获得的HTTP请求顺序与浏览单独访问URL时的幕布对比。
基于以上思路我们从网络上选取一个web URL(HTTP://cloud.10oa.com/trial/view/catalogue.aspx)作为被测试对象
2、IE单独访问URL
首先我们看一下该URL使用IE单独访问时间的网络幕布图:
注:HTTP的实际请求开始时间从黄色背景开始
3、LR 11脚本录制
新建web(HTTP/html)脚本,点击录制按钮,选择IE浏览器录制(ie 9)。
注:loadRunner11不支持chrome,firefox
注:此图通过wireShark的网络抓包获得HTTP请求的开始与结束时间,再通过excel画出瀑布图(下图同)
从并发图看,有5个并发,但6个并发不是很明显示,与IE9单独访问时的瀑布图相比有一定差异。
4、LR 11任务创建并执行
根据录制的脚本创建测试计划,并执行一次脚本(只运行一次),同时通过wireShark抓取loadRunner的HTTP请求网络包。
4、结果分析
通过LoadRunner11的测试计划的执行结果的瀑布图看,HTTP请求基本上是按2个HTTP请进行并发的。HTTP的请求时序与录制时IE的请求瀑布图不同,且与IE9单独访问URL时的HTTP请求瀑布图也不相同。请求瀑布图是按照loadRunner自己的内部规则并发,在单用户内有2个并发,与Jmeter相比,是有一点进步的(Jmeter单用户按串行请求下发),但与IE浏览器的真实行为仍然差距很大。如果使用LoadRunner 11去测试WEB服务器,通过录制WEB的方式生成脚本,你得出的结果将与实际结果将会存在较大的差距。