Loadrunner
性能测试一个实例
随着测试越来越重要,其中的性能测试也受到越来越多的关注。比较普遍的性能测试工具是
Loadrunner7.51
,但是很多人对此性能工具不是很熟悉。本人也是总结心得体会,将做过的性能测试实例以饷大家,希望对各位做测试的朋友有所帮助。
该方案是针对某公司试题库的性能测试。该试题库是用来对公司内部员工培训结果的一个考核。试题库在公司内部
web
服务器上,假设开设
50
个账号和密码可供
50
个考生同时参加考试。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登录考试系统,做完题目后,要求提交考试结果,若在制定的时间内不提交,则系统强制提交考试结果。
但是,一般测试部门不可能有
50
台机器同时进行测试的。所以,可以借
Loadrunner7.51
模拟
IP
地址,修改脚本来协助测试。但是,为了保证测试结果,建议搜罗公司中所有可用的机器进行复测,因为有时候是不可以完全信赖工具的。
现场测试环境
硬件:
50
台
PC
机,
Web
服务器
软件:
Loadrunner7.0
,
Win2000
,
IE5.0
和
IE6.0
人员:质控部
2
人,执行现场测试
项目部
22
人,提供现场环境
技术部各
1
人,提供技术支持
测试要求
50
个用户拥有独立
IP
地址,不同的用户及密码登录,试题完成后各自同时提交。
测试内容
50
个用户以不同的用户名和密码登录试题库。试题完成后,提交考试结果。测试考试结果是否能正常提交以及正确评分。
测试方案
1
、
完全
20
台实际的
PC
机进行现场测试。
(
1
)
准备工作,并做计划。第一轮测试执行三遍,设定用户考试内容全部同时提交,第一遍全部使用
IE5.0
,第二遍
10
台使用
IE5.0
,
10
台使用
IE6.0
,第三遍全部使用
IE6.0
(
2
)
At 9
:
00
,
20
个用户同时登录系统
(
3
)
At 9
:
05
,
20
个用户同时全部提交
(
4
)
分别记录第一轮测试(三遍)的结果
(
5
)
第二轮测试准备工作,设定
15
个用户考试内容同时提交,另外
5
个用户延时
5
分钟提交,全部使用
IE5.0
(
6
)
At 9
:
15
,
20
个用户同时登录系统
(
7
)
At 9
:
20
,
15
个用户同时提交
(
8
)
At 9
:
25
,剩余
5
个用户同时提交
(
9
)
记录第二轮测试结果
(
10
)
第三轮测试准备工作,设定
15
个用户考试内容同时提交,另外
5
个用户延时
5
分钟提交,全部使用
IE6.0
(
11
)
At 9
:
15
,
20
个用户同时登录系统
(
12
)
At 9
:
20
,
15
个用户同时提交
(
13
)
At 9
:
25
,剩余
5
个用户同时提交
(
14
)
记录第三轮测试结果
(
15
)
第四轮测试准备工作,设定
15
个用户考试内容同时提交,另外
5
个用户延时
5
分钟提交,正常提交用户使用
IE5.0
,延时提交用户使用
IE6.0
(
16
)
At 9
:
15
,
20
个用户同时登录系统
(
17
)
At 9
:
20
,
15
个用户同时提交
(
18
)
At 9
:
25
,剩余
5
个用户同时提交
(
19
)
记录第四轮测试结果
(
20
)
第五轮测试准备工作,设定
15
个用户考试内容同时提交,另外
5
个用户延时
5
分钟提交,正常提交用户使用
IE6.0
,延时提交用户使用
IE5.0
(
21
)
At 9
:
15
,
20
个用户同时登录系统
(
22
)
At 9
:
20
,
15
个用户同时提交
(
23
)
At 9
:
25
,剩余
5
个用户同时提交
(
24
)
记录第五轮测试结果
(
25
)
第六轮测试准备工作,设定
15
个用户考试内容同时提交,另外
5
个用户延时
5
分钟提交,正常提交用户其中
10
个使用
IE5.0
,
5
个使用
IE6.0
,延时提交用户使用
IE5.0
(
26
)
At 9
:
15
,
20
个用户同时登录系统
(
27
)
At 9
:
20
,
15
个用户同时提交
(
28
)
At 9
:
25
,剩余
5
个用户同时提交
(
29
)
记录第六轮测试结果
(
30
)
第七轮测试准备工作,设定
10
个用户考试内容同时提交,另外
10
个用户分两次分别延时
5
分钟、
15
提交
(
31
)
At 9
:
35
,
20
个用户同时登录系统
(
32
)
At 9
:
40
,
10
个用户同时提交
(
33
)
At 9
:
45
,剩余的其中
5
个用户同时提交
(
34
)
At 9
:
55
,剩余的
5
个用户同时提交
(
35
)
记录第七轮测试结果,参见第二轮测试-第六轮测试过程分别对
IE5.0
和
IE6.0
的情况进行测试
(
36
)
第八轮测试准备工作,设定其中
10
个用户不提交,由系统强行提交
(
37
)
At 10
:
10
,
20
个用户同时登录系统
(
38
)
At 10
:
15
,
10
个用户同时提交
(
39
)
其余用户的内容由系统强行提交
(
40
)
记录第八轮测试结果,参见第二轮测试-第六轮测试过程分别对
IE5.0
和
IE6.0
的情况进行测试
(
41
)
第九轮测试准备工作,设定其中
10
个用户同时提交,
5
个用户延时
5
分钟提交,其余用户由系统强行提交
(
42
)
At 10
:
25
,
20
个用户同时登录系统
(
43
)
At 10
:
30
,
10
个用户同时提交
(
44
)
At 10
:
35
,剩余的其中
5
个用户同时提交
(
45
)
剩余
5
个用户系统强制提交
(
46
)
记录第九轮测试结果,参见第二轮测试-第六轮测试过程分别对
IE5.0
和
IE6.0
的情况进行测试
2
、
模拟
20
个用户进行测试。其中,
10
台是
PC
机,另外
10
台机器的
IP
地址是
Loadrunner
模拟出来的。
(
1
)
在
10
台实际的
PC
机中抽取其中一台虚拟
10
个
IP
地址,包括自身的
IP
地址,该机器上共
11
个
IP
地址,这
11
个
IP
地址只能全部使用
IE5.0
或者全部使用
IE6.0
(
2
)
其余
9
台实际的
PC
机分别由
9
个人操作,另外一台机器由一位质控部人员操作
(
3
)
对于异常情况,延时提交和强制提交全部由实际的机器来模拟
(
4
)
其余过程参见
1
3
、
模拟
20
个用户进行测试。其中,
5
台是
PC
机,另外
15
台机器的
IP
地址是用
Loadrunner
模拟出来的。
(
1
)
在
5
台实际的
PC
机中抽取其中一台虚拟
15
个
IP
地址,包括自身的
IP
地址,该机器上共
16
个
IP
地址,这
16
个
IP
地址只能全部使用
IE5.0
或者全部使用
IE6.0
(
2
)
其余
4
台实际的
PC
机分别由
4
个人操作,另外一台机器由一位质控部人员操作
(
3
)
对于异常情况,延时提交和强制提交全部由实际的机器来模拟
(
4
)
其余过程参见
1
4
、
模拟
35
个用户进行测试。其中,
20
台是
PC
机,另外
15
台机器的
IP
地址是用
Loadrunner
模拟出来的。
(
1
)
在
20
台实际的
PC
机中抽取其中两台分别虚拟
7
个、
8
个
IP
地址,这
17
个
IP
地址只能全部使用
IE5.0
或者全部使用
IE6.0
(
2
)
其余
18
台实际的
PC
机分别由
18
个人操作,另外两台机器由两位质控部人员操作
(
3
)
对于异常情况,延时提交和强制提交全部由实际的机器来模拟
(
4
)
其余过程参见
1
5
、
模拟
50
台用户进行测试。其中,
20
台是
PC
机,另外
30
台机器的
IP
地址是用分别用两台实际的
PC
机模拟出来的。记录测试结果。
(
1
)
在
20
台实际的
PC
机中抽取其中两台分别虚拟
15
个
IP
地址,这
32
个
IP
地址只能全部使用
IE5.0
或者全部使用
IE6.0
(
2
)
其余
18
台实际的
PC
机分别由
18
个人操作,另外两台机器由两位质控部人员操作
(
3
)
对于异常情况,延时提交和强制提交全部由实际的机器来模拟
(
4
)
其余过程参见
1
6
、
对
5
中所述情况重复测试两次。
7
、
为了保证结果的正确性,完全
50
台实际的
PC
机进行现场测试。过程参见
1
测试过程
注:该测试过程针对虚拟
IP
地址情况。
1
、
一台
PC
机上创建
15
个虚拟的
IP
地址。首先,启动
IP Wizard
,如下:开始程序-
>Loadrunner
-
>Tools
-
>IP Wizard
点击
“Add”
,添加你计划虚拟的
IP
地址。但是注意不能添加已经被占用的
IP
地址。
2
、
启动
Virtual User Generator
,并录制脚本,由于
50
个用户的账号和密码各不相同,所以,要修改脚本,设置参数。我是录制了一个脚本,复制了
49
份,在每个脚本中手工修改了各自不同的地方。
3
、
启动
Loadrunner Controller
,先将刚才保存的脚本添加进来。然后点击
“Scenario”
菜单,激活其中的
“Enable IP Spoofer”
。
4
、
点击屏幕右方的
“Generators”
,添加已经建立的
IP
,然后
connect
建立连接。
5
、对连接起来的不同用户(
IP
地址)分配不同的脚本,在
Controller
中的
“design”
中,点击
“Load Generators”
其中,每个脚本有一个用户执行。
6
、
执行
Scenario
。