0LoadRunner初级教程1简介使用概述使用VuGen开发脚本使用Controller创建场景使用Analysis分析运行结果2一、简介LoadRunner是MercuryInteractive用来测试应用程序性能的工具LoadRunner通过模拟一个多用户并行工作的环境来对应用程序进行负载测试。通过使用最少的硬件资源,这些虚拟用户提供一致的、可重复并可度量的负载,像实际用户一样使用所要测试的应用程序。LoadRunner深入的报告和图提供了评估应用程序性能所需的信息。3现代的系统体系结构很复杂。在提供了空前强大的功能和灵活性的同时,这些系统也难以测试。单用户测试主要侧重于系统组件的功能和用户界面,而应用程序试则侧重于整个系统的性能和可靠性。例如,一个典型的应用程序测试方案的情况可能是星期一早上有1000个用户同时登录到系统上。该系统的响应时间是多少?系统会崩溃吗?要回答这些问题(以及更多的问题),一个完整的应用程序性能测试解决方案必须:测试一个组合了各种软件应用程序和硬件平台的系统确定服务器与任何给定应用程序的适应性在开发出必要的客户端软件之前测试服务器模拟多个客户端与单个服务器应用程序之间进行交互的环境在几十、几百甚至几千个潜在用户的负载情况下测试应用程序一、简介-应用程序负载测试4LoadRunner解决方案LoadRunner通过使用虚拟用户Vuser代替实际用户。这些Vuser模拟实际用户的行为-运行实际的应用程序。因为一台计算机上可以运行许多Vuser,因此LoadRunner减少了对硬件的要求。LoadRunnerController可以从一个单一的控制点简单有效地控制所有的Vuser。LoadRunner联机监视应用程序的性能。LoadRunner在测试过程中会自动记录应用程序的性能。LoadRunner可检查出现性能延迟的地方:网络或客户端延迟、CPU性能、I/O延迟、数据库锁定和数据库服务器上的其他问题。LoadRunner将监视网络和服务器资源以帮助改进性能。一、简介-LoadRunner解决方案5一、简介-LoadRunner测试过程使用LoadRunner进行测试的过程:制定负载测试计划开发测试脚本创建运行场景执行测试监视场景分析测试结果6二、LoadRunner使用概述LoadRunner包含很多组件,其中最常用的有VisualUserGenerator(以下简称VuGen)、Controller,Analysis。Mercury虚拟用户生成器(VuGen)—创建脚本VuGen通过录制应用程序中典型最终用户执行的操作来生成虚拟用户(Vuser)。VuGen将这些操作录制到自动虚拟用户脚本中,以便作为负载测试的基础。MercuryLoadRunnerController—设计和运行场景Controller是用来创建、管理和监控负载测试的中央控制台。使用Controller可以运行用来模拟真实用户执行的操作的脚本,并可以通过让多个Vuser(虚拟用户)同时执行这些操作来在系统中创建负载。MercuryAnalysis—分析场景MercuryAnalysis提供包含深入的性能分析信息的图和报告。使用这些图和报告,可以标识和确定应用程序中的瓶颈,并确定需要对系统进行哪些更改来提高系统性能。7三、使用VuGen开发脚本使用VuGen开发脚本的步骤:录制测试脚本完善测试脚本配置Run-TimeSettings项单机运行测试脚本创建运行场景8三、使用VuGen开发脚本-录制测试脚本点击开始-MercuryLoadRunner-Applications-VirtualUserGenerator或开始-MercuryLoadRunner-MercuryLoadRunner-LoadTesting-Create/EditScripts来启动VuGen。启动VuGen后,可以选择新建单协议脚本,多协议脚本,打开脚本等;如果不想下次再显示该页,在Don’tshowthestartupdialoginthefuture前打勾即可。9三、使用VuGen开发脚本-录制测试脚本选择协议新建一个用户脚本,选择系统通讯的协议,这里我们需要测试的是Web应用,所以我们需要选择Web(HTTP/HTML)协议,确定后,进入主窗体。10三、使用VuGen开发脚本-录制测试脚本设置录制选项Applicationtype中选择应用程序类型InternetApplicationURL中输入要测试的网址Workingdirectory中设置工作目录RecordintoAction中选择要把录制的脚本放到哪一个部分,建议选择ActionVuGen中的脚本分为三部分:vuser_init、vuser_end和Action。其中vuser_init和vuser_end都只能存在一个,不能再分割,而Action还可以分成无数多个部分(通过点击New按钮,新建ActionXXX)“Recordtheapplicationstartup”默认情况下是选中的,说明应用程序一旦启动,VuGen就会开始录制脚本;如果没有选中,应用程序启动后,VuGen出现右边的对话框,并且暂时不会开始录制脚本,用户操作应用程序到需要录制的地方,按下“Record”按钮,VuGen才开始录制。11三、使用VuGen开发脚本-录制测试脚本录制工具条介绍录制过程中,在屏幕上会有一个工具条出现。下面我们简单介绍一下各个按钮的功能:录制完成后,按下“结束录制”按钮,VuGen自动生成用户脚本,退出录制过程。12三、使用VuGen开发脚本-录制测试脚本查看脚本录制结束后,可以通过两种方式来查看脚本:脚本视图及树视图脚本视图脚本视图是一种基于文本的视图,列出了作为API函数的Vuser操作。要在脚本视图中查看脚本,请单击工具栏上的“ViewScript”按钮或者选择“View”“ViewScript”。在脚本视图中,VuGen将在编辑器中显示带有彩色编码的函数及其变量值的脚本。树视图树视图是基于图标的视图,列出了作为步骤的Vuser操作.要在树视图中查看脚本,请单击工具栏上的“ViewTree”按钮或者选择“View”“ViewTree”。对于录制期间所执行的每一步骤,VuGen都在测试树中生成一个图标和一个标题。在树视图中,将看到作为脚本步骤的用户操作。大多数步骤都附带相应的录制快照。13三、使用VuGen开发脚本-完善测试脚本当录制完一个基本的用户脚本后,在正式使用前我们还需要完善测试脚本,增强脚本的灵活性。例如,可以在脚本中插入名为内容检查的步骤,以验证某些特定内容是否显示在返回页上。可以修改脚本来模拟多用户行为,也可以用事务来度量特定的业务流程。事务事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本中有一个数据查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚本时,LoadRunner运行到该事务的开始点时,就会开始计时,直到运行到该事务的结束点,计时结束。这个事务的运行时间会在结果中显示。插入事务操作可以在录制过程中进行,也可以在录制结束后进行。LoadRunner运行在脚本中插入不限数量的事务。14三、使用VuGen开发脚本-完善测试脚本在需要定义事务的操作前面事务的“开始点”,通过菜单或者工具栏插入。插入事务的方法插入事务的开始点后,在需要定义事务的操作后面插入事务的“结束点”。同样可以通过菜单或者工具栏插入。输入事务的名称。注意:事务的名称最好要有意义,能够清楚的说明该事务完成的动作默认情况下,事务的名称列出最近的一个事务名称。一般情况下,事务名称不用修改。事务的状态默认情况下是LR_AUTO。一般情况下,我们也不需要修改。15三、使用VuGen开发脚本-单机运行测试脚本运行脚本可以通过菜单或者工具栏来操作:执行“运行”命令后,VuGen先编译脚本,检查是否有语法等错误。如果有错误,VuGen将会提示错误。双击错误提示,VuGen能够定位到出现错误的那一行。如果编译通过,就会开始运行。然后会出现运行结果。16四、使用Controller创建场景-新建场景窗口介绍Loadrunner的场景能够描述在测试活动中发生的各种事件。一个场景包括一个运行虚拟用户活动的LoadGenerator机器列表,一个测试脚本的列表以及大量的虚拟用户和虚拟用户组。点击开始-MercuryLoadRunner-Applications-Controller或开始-MercuryLoadRunner-MercuryLoadRunner-LoadTesting-RunLoadTests来启动Controller程序。在新建场景的窗口,选择一种场景类型:ManualScenario:完全手动的设置场景(1)ManualScenariowithPercentageMode(1.1):该项只有在“ManualScenario”选中的情况下才能选择。选择该项后,在场景中我们需要定义要使用的虚拟用户的总数,LoadGeneratormachine机器集,然后我们为每一个脚本分配要运行的虚拟用户的百分比。Goal—OrientedScenario(2):在测试计划中,一般都包括性能测试要达到的目标。选择该项后,LoadRunner基于这个目标,自动为你创建一个场景。在场景中,我们只要定义好我们的目标即可。17四、使用Controller创建场景-Controller设计窗口概述Controller窗口的“设计”选项卡包含两个主要部分:场景计划和场景组场景计划:在“场景计划”部分中,您可以设置负载行为以精确地描绘用户行为。您还可以确定将负载应用于应用程序的速率、负载测试持续时间以及如何停止负载。场景组:您可以在“场景组”部分中配置Vuser组。在此部分中,您可以创建代表系统典型用户的各种组。您可以定义这些典型用户运行的操作、运行的Vuser数以及Vuser运行时所用的计算机。18四、使用Controller创建场景-Controller运行窗口概述Controller窗口中的“运行”选项卡是用来管理和监控测试的控制中心。“运行”视图包含五个主要部分:场景组,场景状态,可用图树,图查看区域和图例。场景组:位于左上窗格中,可以查看场景组中的Vuser的状态。使用该窗格右侧的按钮可以启动、停止和重置场景,查看单个Vuser的状态,并且可以手动添加更多的Vuser,从而增加场景运行期间应用程序上的负载。场景状态:位于右上窗格中,可以查看负载测试的概要,其中包括正在运行的Vuser数以及每个Vuser操作的状态。可用图树:位于中部左侧窗格中,可以查看LoadRunner图列表。要打开图,请在该树中选择一个图,然后将其拖动到图查看区域中。图查看区域:位于中部右侧窗格中,可以自定义显示以查看一至八个图(“View”“ViewGraphs”)。图例:位于底部窗格中,可以查看选定图中的数据。19四、使用Controller创建场景-运行Controller打开Controller运行视图。单击“StartScenario”按钮或选择“Scenario”-“Strart”开始运行测试。如果您第一次运行该场景,Controller将启动场景。结果文件自动保存到负载生成器的临时目录中。如果要重复此测试,将提示您覆盖现有结果文件。单击“否”,指定新的结果目录。对每个结果集输入唯一且有意义的名称,这是因为在分析图时,可能希望重叠几个场景运行的结果。20五、使用Analysis分析结果-Analysis窗口概述在Analysis会话过程中生成的图和报告提供了有关系统性能的重要信息。使用这些图和报告,可以轻松地标识和确定应用程序中的瓶颈以及提高系统性能所需的改进。从AnalySis中可以得到用户终端的事务响应时间,事务