qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

如何写性能测试用例

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

posted on 2013-07-09 10:25 顺其自然EVO 阅读(252) 评论(0)  编辑  收藏 所属分类: loadrunner


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年7月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜