LoadRunner11实例性能测试Word文档格式.docx

上传人:b****1 文档编号:5168171 上传时间:2023-05-04 格式:DOCX 页数:14 大小:424.91KB
下载 相关 举报
LoadRunner11实例性能测试Word文档格式.docx_第1页
第1页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第2页
第2页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第3页
第3页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第4页
第4页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第5页
第5页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第6页
第6页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第7页
第7页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第8页
第8页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第9页
第9页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第10页
第10页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第11页
第11页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第12页
第12页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第13页
第13页 / 共14页
LoadRunner11实例性能测试Word文档格式.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

LoadRunner11实例性能测试Word文档格式.docx

《LoadRunner11实例性能测试Word文档格式.docx》由会员分享,可在线阅读,更多相关《LoadRunner11实例性能测试Word文档格式.docx(14页珍藏版)》请在冰点文库上搜索。

LoadRunner11实例性能测试Word文档格式.docx

负载测试通常由五个阶段组成:

计划、脚本创建、场景定义、场景执行和结果分析。

➤计划负载测试:

定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。

➤创建Vuser脚本:

将最终用户活动捕获到自动脚本中。

➤定义场景:

使用LoadRunnerController设置负载测试环境。

➤运行场景:

通过LoadRunnerController驱动、管理和监控负载测试。

➤分析结果:

使用LoadRunnerAnalysis创建图和报告并评估性能。

 

2.生成脚本

2.1应用程序要求

应用程序MercuryLoadRunner8.1自带的基于Web的旅行代理系统MercuryTours。

用户可以连接到Web服务器、搜索航班、预订航班并查看航班路线。

1.确保示例Web服务器正在运行。

安装和重新启动LoadRunner后,Web服务器将自动启动。

如果该服务器没有运行,请依次选择“开始”>

“程序”>

“MercuryLoadRunner”>

“示例”>

“Web”>

启动Web服务器”。

2.打开MercuryTours应用程序。

选择“开始”>

“程序”>

“示例”>

“Web”>

“MercuryWebTours应用程序”。

将打开浏览器,其中显示MercuryTours的起始页。

3.登录到MercuryTours。

成员名:

jojo,密码:

bean

假设您是负责验证应用程序是否满足业务需求的性能工程师。

项目经理向您提出了一些条件:

1MercuryTours必须在不超过90秒的响应时间内,处理10起并发航班预订业务。

2MercuryTours必须在不超过120秒的响应时间内,处理10起并发的旅行代理要求的航线检查业务。

3MercuryTours必须在不超过10秒的响应时间内,处理10起代理要求的登录和注销系统任务。

本教程将完成建立负载测试的整个流程,以验证应用程序是否满足每项业务要求,从而决定是否可以发行该应用程序。

计划了负载测试之后,下面开始创建脚本。

2.1录制脚本

1.启动LoadRunner,打开VuGen在Launcher窗口中,单击“LoadTesting”选项卡,单击“Create/EditScripts”。

将打开VuGen的开始页。

2.单击“NewVuserScript”,在弹出的脚本类型选项卡中,选择“web(http/html)”,确定后跳转到IntroductiontoScriptCreation向导窗口(如下图)。

3.点击左边Recording选项下的RecordAppliction,在跳转出的界面中选择按钮,弹出开始录制窗口,在“URL”地址框中,键入http:

//localhost:

1080/MercuryWebTours/。

在“RecordintoAction”框中,选择“Action”。

单击“OK”。

自动打开浏览器和浮动工具栏:

其中,点击红色按钮开始录制。

4.登陆网站,输入用户名jojo,密码bean。

登陆后点击左边的Fights,打开FindFlight页面,将ArrivalCity改为LosAngeles,左下的SeatingPreference选择Aisle(过道),点击Continue,接下来的页面继续Continue,在接下来的PaymentDentails页面,输入CreditCard:

12345678,ExpDate:

11/27,单击Continue继续,显示预定完成页面。

图2.1

4.单击左边的“Itinerary”查看路线。

5.点击“Siginoff”退出系统。

点击悬浮条上的停止按钮。

以上即完成了一次登录、预定航班、检查路线、注销的事物流程。

选择菜单栏View中的TreeView和ScriptView都可以查看录制好的脚本。

2.2运行脚本

录制好脚本之后,在运行之前先对运行做一些设置。

选择侧边栏中第二个选项Replay中的VerifyReplay,打开运行脚本向导页面。

可以在Openruntime-settings中设置运行时的一些行为。

运行时设置可以模拟各种用户活动和行为。

它们包括(列举部分):

➤RunLogic:

用户重复一组操作的次数,这里改为2。

➤Pacing:

重复操作前等待的时间

➤Log:

希望在测试期间收集的信息级别

➤ThinkTime:

用户在各步骤之间停下来进行思考的时间,通过设置随即思考时间可以模拟不同熟练操作程度的用户。

这里按照上图设置。

➤SpeedSimulation:

使用不同网络连接(例如,调制解调器、DSL和电缆)的用户

➤BrowserEmulation:

模拟用不同浏览器查看其应用程序性能的用户。

配置好之后,可以点击StartReplay开始回放。

回放后生成回放日志,可以点击上面菜单View中的OutPutWindow查看。

2.3脚本优化

2.3.1关联

创建脚本后,可以通过VuGen运行该脚本来对其进行验证。

有时候,尽管操作的录制已成功,但相同操作的播放却会失败。

因为许多应用程序使用动态值,每次使用该应用程序时这些值都会更改。

例如,某些服务器为每个新会话分配唯一的会话ID。

尝试回放录制的会话时,应用程序将创建与已录制的会话ID不同的新会话ID。

LoadRunner通过关联解决此问题。

关联将把会更改的值(在本例中为会话ID)保存为参数。

运行仿真时,Vuser并不是使用录制的值,而是使用服务器为其分配的新会话ID。

要演示常见的播放失败,需要修改MercuryTours应用程序中的设置。

此设置将通知MercuryToursWeb服务器不允许重复会话ID。

1打开“MercuryTours”。

选择“开始”>

“程序”>

“MercuryLoadRunner”>

“示例”>

“Web”>

2更改服务器选项。

在MercuryWebTours起始页上单击“administration”链接。

选择第3个复选框,其标题为:

SetLOGINform'

sactiontagtoanerrorpage(将LOGIN表单的操作标记设置为错误页)。

滚动到该页的底部并单击“Updata”。

滚动到该页的底部并单击“ReturntotheMercuryToursHomepage”链接。

此设置将通知服务器不允许重复会话ID。

3关闭浏览器。

此时,运行刚刚录制的脚本,会出现错误(如下图),点击Showandresolvedynamicservervalues,会打开一个新的页面,下面会显示可以关联的选项,选中后右键选择“correlation”,就完成了关联,关联成功会有一个绿色的勾。

2.3.2参数化

在模拟中,跟踪一位预订航班并选择Aisle座位的用户。

但是,在实际生活中,不同的用户会有不同的喜好。

因此,要改进测试,需要检查当用户选择不同座位首选项(过道、窗口或无)时,预订是否可以正常工作。

要达到此目的,需要参数化脚本。

用参数代替录制值Aisle。

参数值放在一个参数文件中,运行脚本时,Vuser将从参数文件中取值(aisle、window或none),从而模拟真实的旅行代理环境。

1.找到要更改数据的部分。

选择“View”>

“treeview”进入树视图在测试树中,双击

,将打开如下对话框。

右列中的ABC图标表示参数为常量。

2.创建参数。

单击第七行Aisle旁边的ABC图标。

将打开“选择或创建参数”对话框。

其中“Parameter”填为seat,确定。

VuGen将使用参数图标替换ABC图标。

3.为参数制定一些示例值。

单击{seat}旁边的参数图标。

从弹出菜单中选择“参数属性”。

将打开“参数属性”对话框。

添加两个Row:

Window和None注意,值不区分大小写,确定。

这样就完成了参数化。

运行用户脚本,会发现迭代器第一次选择了Aisle,第二次选择了window。

3.运行负载测试

3.1生成负载

1.添加负载生成器。

打开Controller运行视图。

选择位于屏幕底部的“Design”选项卡(如上图),将虚拟用户的数量改为8(可以自定义)。

2.单击“Generator”按钮,将打开“负载生成器”对话框,显示localhost负载生成器计算机的详细信息(如下图)。

此处使用本地计算机作为负载生成器(默认情况下包含在场景中)。

localhost负载生成器的状态为关闭。

这表示Controller未连接到负载生成器,可以点击connect变为准备状态,完成后点击Close。

2.点击design面板上的

,打开如下窗口:

其中可以设置同时加载负载还是每隔一段时间加载一定负载,按如下图设定好(每隔30秒加载两个虚拟用户)。

3.2运行负载测试

1.打开Controller运行视图。

选择位于屏幕底部的“Run”选项卡。

2.启动场景。

单击

按钮开始运行测试。

如果第一次运行,Controller将启动场景。

结果文件自动保存到负载生成器的临时目录中。

如果是重复此测试,将提示覆盖现有结果文件。

3.3运行视图概述

打开LoadRunner,点击RunLoadTests,打开Controller,窗口中的“运行”选项卡是用来管理和监控测试的控制中心。

“运行”视图包含五个主要部分:

(下图显示一个汉化的界面,没有汉化的界面分布和功能是一样的)。

➤场景组:

位于左上窗格中,使您可以查看场景组中的Vuser的状态。

使用该窗格右侧的按钮可以启动、停止和重置场景,查看单个Vuser的状态,并且可以手动添加更多的Vuser,从而增加场景运行期间应用程序上的负载。

➤场景状态:

位于右上窗格中,使您可以查看负载测试的概要,其中包括正在运行的Vuser数以及每个Vuser操作的状态。

➤可用图树:

位于中部左侧窗格中,使您可以查看LoadRunner图列表。

要打开图,请在该树中选择一个图,然后将其拖动到图查看区域中。

➤图查看区域:

位于中部右侧窗格中,使您可以自定义显示以查看一至八个图(“视图”>

“查看图”)。

➤图例:

位于底部窗格中,使您可以查看选定图中的数据。

4.分析结果

4.1Analysis窗口概述

打开“MercuryLoadRunnerLauncher”窗口,选择Analyzeloadtest。

,打开一个Analysis会话文件,就出现了Analysis窗口。

Analysis窗口包括下列三个主要部分:

➤图树:

在左窗格中,Analysis将显示可以打开查看的图。

您可以在此处显示打开Analysis时未显示的新图,或删除不再想查看的图。

➤图查看区域:

在右窗格中显示图。

默认情况下,当打开一个会话时,Analysis概要报告将显示在此区域。

➤图例:

下部,使您可以查看选定图中的数据。

4.2分析窗口数据

因为由于每个人的电脑配置不同,场景也不一样,生成的Analysis会话文件也不一样,所以下面说的各项作为参考。

实际运行的数据可能不一样,但是每项的含义一致。

4.2.1查看事务平均响应时间

上图的事务概要中,我们来关注一下check_itinerary事务,90%的响应时间是65.744秒。

该数值是事务平均响应时间(32.826)的两倍,说明对于发生的大多数此种事务都需要较高的响应时间。

还能看到该事务失败了28次。

点击该事务的名称,打开平均响应时间图表如下:

注意,check_itinerary事务的平均响应时间显著波动,在场景运行了2:

56(分钟:

秒)时达到峰值75.067秒。

在性能稳定的服务器上,事务的平均响应时间会比较平稳。

注意,在图的底部,登录、注销、book_flight和search_flight事务的平均响应时间都比较平稳。

4.2.2研究Vuser的行为

1.在图树中单击

将在图查看区域中打开正在运行的Vuser图(如下图)。

可以看到在场景运行的开始,正在运行的Vuser处于逐渐加压状态。

接着,70个Vuser同时运行了3分钟,之后开始逐渐减压。

2.筛选该图,观察所有Vuser同时运行的时间片。

右键单击该图并选择“SetFilter/GroudBy”,弹出筛选窗口。

点击“ScenarioElapsedTime”这一项的“Value”中的向下箭头,选择时间范围为从1:

30(分钟:

秒)至3:

45(分钟:

秒)。

现在,正在运行的Vuser图仅显示场景运行中1:

秒)和3:

秒)之间运行的Vuser。

所有其他的Vuser已全被筛选出去。

3.关联两个图,把两个图放在一起,以查看一个图的数据对另一个图的数据所产生的影响。

这称为将两个图关联。

将正在运行的Vuser图和平均事务响应时间图相关联以比较其数据,以查看大量的Vuser对事务的平均响应时间产生的影响。

右键单击正在运行的Vuser图并选择“MergeGraphs”,弹出窗口(如下图),设置好之后确定。

现在,正在运行的Vuser图和平均事务响应时间图在图查看区域中表示为一个图,即“RunningVusers-AverageTransactionResponseTime”(如下图)。

4.分析关联后的图。

在该图中可以看到随着Vuser数量的增加,check_itinerary事务的平均响应时间也在逐渐增加。

换句话说,随着负载的增加平均响应时间也在逐渐地增加。

运行64个Vuser时,平均响应时间会突然急速增加,可以说服务器崩溃了。

同时运行的Vuser超过64个时,响应时间会明显开始变长。

5.一些体会

初步接触LoadRunner,并且对它自带的服务器和软件系统进行了测试。

走了一遍测试的流程,但是其中很多问题还不深入,比如在虚拟脚本的编写、运行测试过程中观察数据的选取,比较监测的结果这些问题上,没有什么项目经验,认识只停留在表面。

作为一个负载测试工具,LoadRunner使用不难,难的是在实践过程中的经验总结。

比如哪些行为定义成一个事务来监测;

虚拟用户多少个,怎么加载才能测出系统的瓶颈,怎么分析生成的负载测试数据等。

所以在后续的工作中,要测试不同类型的系统,模拟不同类型的虚拟用户,定义不同的场景,总结经验才能提高。

附:

51testing论坛上建议的性能测试学习线路图

纵向划分3颗子树:

vugen,controller,monitor。

优先学习vugen脚本开发以及调试。

横向划分为2层:

基础知识以及高级应用。

2009/11/23-2009/11/30

by赵亮李杰

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2