最近开始正式系统地学习LoadRunner11。本想在自己觉得确实学到了比较有成就感的时候再mark一下,写个博客分享。阶段性地或者在自己有所小收获的时候,做做笔记分享下也好。这次作为开篇,我想记录下从安装遇到的问题到使用和学习过程中所收获的,主要分为以下三个方面:
- 安装
- 录制
- 测试场景设计
安装
以前做过一次性能测试,当时也是使用的LoadRunner11,也是安装在64位操作系统上,都能正常的录制、执行等。但这次的同样安装在64位操作系统上,却发现连IE都调不出来,换浏览器也是无法录制。也试过写脚本来调出IE,也是不行。终究在32位的虚拟机上安装后,才解决了问题。
对于安装,有以下两点需要注意:
- 软件运行环境。Loadrunner11需要安装在32位的操作系统上。一般情况下,LoadRunner11还是不支持64位操作系统。在技术学习过程中,累积经验很重要,但是有时经验主义也会带来不利,重点还是该细心.
- 浏览器兼容性。LoadRunner11支持多个浏览器,但是对IE,目前还只能较好地支持IE8/9.
录制
脚本在录制后,要进行参数化。这里有两处需要注意:设置参数值 和 取数。
设置参数有多种方法:
- 第一种方式,当迭代次数较少,可以直接在编辑参数时添加行【Add Row】。
- 第二种方式,可以直接点击【Edit With Notepad】按钮,在文本编辑器中编辑该参数脚本文件来添加参数。PS:编辑添加数据时,一定要注意最后一行要留空,即要留一个空行,否则,测试执行过程中会报-13874,提示missing newline的错误
- 第三种,在系统中已编辑好参数脚本文件,通过【Browser】添加文件即可。
- 第四种,先通过ODBC数据源管理器添加一个Access数据源,添加数据库文件;然后在数据库查询的向导对话框的SQL输入框中输入SQL语句以筛选出需要用到的数据列:select column from table
取数,包括两个:数据分配方法和数据更新方式。此处也是本人经常混淆不清的地方。下面对不同数据分配方法下采用不同数据更新方式的情况做个说明。
数据分配方式Select next row选择Sequence:
对应数据更新方式:
- Each iteration:对于每次迭代,Vuser会从数据表中提取下一个值。
如:v1,v2,v3,v4,v5。所有Vuser,第一次迭代取值v1,第二次迭代取值v2- Each occurrence:参数每次出现时,Vuser会从数据表中提取下一个值,即便在同一次迭代中。
如:v1,v2,v3,v4,v5。第一次迭代中,第一次出现该参数,取值v1,下一处出现该参数取值v2- Once:对于所有Vuser,第一次分配的值,将用于后续所有的迭代。
如:v1,v2,v3,v4,v5。在第一次迭代中,第一个Vuser取值v1,第二个Vuser取值v1;第二次迭代中还是这样的值。
数据分配方式Select next row选择Randow:
对应数据更新方式:
- Each iteration:对于每次迭代,Vuser会从数据表中重新随机取值。
如:v1,v2,v3,v4,v5。在第一次迭代中,第一个Vuser随机取值,第二个Vuser也随机取值;第二次迭代不受第一次影响- Each occurrence:参数每次出现时,Vuser重新随机取值
- Once:对于每个Vuser,第一次迭代随机取值,第一次的取值会用于后面所有迭代中。即第一次迭代随机取值,后续迭代使用第一次迭代的取值。
数据分配方式Select next row选择Unique:
对应数据更新方式:
- Each iteration:对于每次迭代,Vuser会从数据表中提取下一个唯一值。
如:v1,v2,v3,v4,v5,v6,执行两个迭代。第一个vuser被分配到v1和v2,第一次迭代执行时取值v1,第二次取v2;第二个vuser被分配到v3和v4,第一次迭代执行时取值v3,第二次取v4.- Each occurrence:参数每次出现,Vuser会从数据表中提取新的唯一值。
- Once:第一次迭代给每个vuser分配一个唯一值,这个值将用于该vuser后续所有的迭代。
场景设计
场景设计,有两种方式:
- 面向手动的场景设计
- 面向目标的场景设计
面向手动的场景设计
性能测试中,如采取循序渐进,增量式增加系统压力来进行压力测试,则可采取手动的场景设计Manual Scenario。此时应注意设置每次的开始的虚拟用户数和持续的时间长度。
面向目标的场景设计
面向目标的场景设计中,是基于性能要求明确的情况,可以定义要实现的测试目标。场景目标主要包括五种类型:虚拟用户数、每秒单击次数、每秒事务数、每分钟页面数或事务响应时间。在创建新的场景时,选择Goal-Oriented Scenario,即可进入到目标设置页面。
设置目标:
- Edit Scenario Goal。进入目标设计页面。
- 选择目标类型。对应前面所述的几种:Virtual Users、Hits per Second、Transactions per Second、Transactions Response Time、Pages per minute。
- 设置目标参数值。
完成以上,便可执行基础的性能测试了。
25/05/2015