简谈-性能测试

2010-06-19  赵洁 

1. 如何写性能测试用例
由于性能测试与功能测试有很大的区别,所以讨论出的结果可能与预先的设想有一定的区别。
——性能测试的目的:
为了验证系统是否达到用户提出的性能指标,同时发现系统中存在的性能瓶颈,起到优化系
统的目的。

——性能测试指标的来源:
用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人
员的经验来设计各项测试指标。(需求+经验)

——主要的性能指标:
服务器的各项指标(CPU、内存占用率等)、后台
数据库的各项指标、网络流量、响应时间

——BUG观点:
1、性能测试就象人在无风情况下跑步(正常情况下的性能指标);
2、
压力测试就象人在微风中跑步(在正常的基础上加大多少百分比压力的性能指标);
3、负载测试就象人在强风中跑步(不断加压,直到系统崩溃)。

——HTTP观点:
1、 负载测试是正常情况下持续的加压;
2、 压力测试是直接加压达到一个极限值。

——大家统一的观点:
性能测试、压力测试、负载测试密不可分,可统称为性能测试。

——性能测试要点:
1、 性能测试是在功能测试完成之后进行。
2、 性能测试计划、方案一般与测试用例统一在一个文档里。
3、 测试环境应尽量与用户环境保持一致。
4、 性能测试一般使用测试工具和测试人员编制测试脚本来完成,性能测试的环境应单独运
行尽量避免与其他软件同时使用。
5、 性能测试的重点在于前期数据的设计与后期数据的分析。
6、 性能测试的用例主要涉及到整个系统架构的问题,所以测试用例一旦生成,改动一般不
大,所以做性能测试的重复使用率一般比较高。(说明:当系统中出现的某个功能点需要修改,它一般只会影响到功能测试的设计用例,而对于性能测试,很少影响到性能测试的设计用例。但是如果某个功能有较大的修改,性能测试也应该进行重新测试。)

 

2. 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

165°/1648 人阅读/1 条评论 发表评论

李维敏  2010-06-20

学习了


登录 后发表评论
赵洁
访客 1112
赵洁 的其他博文 更多