LoadRunner使用介绍上海市计算机软件评测重点实验室测试工具介绍测试工具一般可分为白盒测试工具、黑盒测试工具、性能测试工具,另外还有用于测试管理(测试流程管理、缺陷跟踪管理、测试用例管理)的工具,这些产品主要是MercuryInteractive(MI)、Segue、IBMRational和Compuware等。测试工具介绍功能测试工具WinRunnerQuickTestProfessionalRationalRobotSilkTestTestPartner测试工具介绍性能测试工具LoadRunnerSilkPerformerQALoad测试工具介绍测试管理工具TestDirectorQADirectorTestCenterLoadRunner介绍LoadRunner使用LoadRunner介绍LoadRunner是什么?MercuryInteractive(MI)公司开发的一套预测系统行为和性能的工业标准级负载测试工具。LoadRunner介绍LoadRunner能做什么?通过模拟实际用户的操作行为和实行实时性能监测在可控制的峰值负载条件下测试系统LoadRunner介绍为何使用LoadRunner?轻松创建虚拟用户创建真实的负载实时监测器精确分析结果重复测试LoadRunner介绍LoadRunner工作原理LoadRunner启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,使用自带的一套C语言函数将录制下来的用户操作转化为脚本。LoadRunner调用这些脚本向服务器端发出请求,并接收服务器的响应。至于服务器内部如何处理,它不关心。LoadRunner介绍安装按照安装向导一步步执行即可。LoadRunner介绍如何使用LoadRunner?1—创建脚本:捕获在应用程序中执行的最终用户操作。2—设计场景:通过定义测试会话期间发生的事件,设置负载测试场景。3—运行场景:运行、管理并监控负载测试。4—分析结果:分析负载测试期间LoadRunner生成的性能数据。LoadRunner介绍LoadRunner使用LoadRunner使用LoadRunner的组成VirtualUserGenerator(Vugen)—创建脚本Controller—设计和运行场景Analysis—分析场景LoadRunner使用VugenLoadRunner用Vuser模拟实际用户的操作。开发Vuser脚本的过程:生成脚本-增强、编辑脚本-配置运行时设置-调试、运行脚本LoadRunner使用Vugen录制脚本选择正确的协议自动/手动生成脚本脚本的三个部分(Init、Action、End)典型例子:Init-登录,Action-操作,End-退出建议:在开始录制的时候选择录制的地方LoadRunner使用Vugen增强、编辑脚本插入事务(Transaction)插入集合点(Rendezvous)其它(注释、检查点、thinktime、优化等)LoadRunner使用Vugen插入事务(Transaction)为了衡量某个任务的性能,需要在该任务的开始和结束位置插入事务。每个事务度量服务器响应指定的Vuser请求所用的时间。事务可以是简单任务(如单个查询),也可以是复杂任务(如提交多个查询和生成报表)LoadRunner使用Vugen插入事务(Transaction)例子建议:1、在录制过程中插入事务2、尽量细化关键事务LoadRunner使用Vugen插入集合点(Rendezvous)集合点是一个并发访问的点。在测试计划中,可能会要求系统能够承受1000人同时提交数据,在提交数据操作前面加入集合点,当虚拟用户运行到提交数据的集合点时,LoadRunner就会检查同时有多少用户运行到集合点,如果不到1000人,LoadRunner就会命令已经到集合点的用户在此等待,当在集合点等待的用户达到1000人时,LoadRunner命令1000人同时去提交数据,达到并发访问的目的。LoadRunner使用Vugen插入集合点(Rendezvous)例子集合点策略(在Controller场景中设置)注意:1、集合点经常和事务结合起来使用,常放在事务的前面2、集合点只能插入到Action部分,vuser_init和vuser_end中不能插入集合点。LoadRunner使用Vugen配置运行时设置(Runtimesettings)设置迭代次数设置迭代间步进设置执行日志设置思考时间LoadRunner使用Vugen调试、运行脚本断点(F9)、单步(F10)日志跟踪参数化LoadRunner使用Vugen参数化◦如果用户在录制脚本过程中,填写提交了一些数据,这些操作将都被记录到脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做可能会被应用程序禁止而导致出,同时这也不符合实际的运行情况,而且有可能引起冲突。为了更加真实的模拟实际操作,需要各种各样的输入。这时就需要用到参数化◦参数类型File、DateTime、GroupName、LoadGeneratorName、IterationNumber、RandomNumber、UniqueNumberLoadRunner使用Vugen参数化◦“Selectnextrow”有以下几种选择:多个VU如何取值Sequential:按照顺序一行行的读取。每一个虚拟用户都会按照相同的顺序读取Random:在每次循环里随机的读取一个,但是在循环中一直保持不变Unique:每个VU取唯一的值。注意:使用该类型必须注意数据表有足够多的数。SameLineAs某个参数(比如Name):和前面定义的参数Name取同行的记录。通常用在有关联性的数据上面。LoadRunner使用Vugen参数化◦“Updatevalueon”有如下几种选择:多次迭代如何取值once在所有的反复中都使用同一个值,eachiteration则每次反复都要取新值,eachoccurrence则只要发现该参数就要重新取值,也就是如果一个action中有多个该参数,每遇到一个就要重新取一个值。LoadRunner使用Controller场景类型◦ManualScenario:手动设置场景,这项下面还可以设置为每一个脚本分配要运行的虚拟用户的百分比,可在Controller的Scenario菜单下设置。◦Goal—OrientedScenario:如果测试计划是要达到某个性能指标,比如:每秒多少点击,每秒多少transactions,能到达多少VU,某个Transaction在某个范围VU(500-1000)内的反应时间等等,那么就可以使用面向目标的场景。LoadRunner使用Controller场景计划(Schedule)◦以ManualScenario为例:LoadRunner使用Controller集合点策略LoadRunner使用Controller负载发生器(Generator)通过负载发生器我们可以设定生成模拟用户的机器,这些机器需要安装LRGenerator,启动Agent进程,不需要脚本,只是调用它的资源。LoadRunner使用Controller监测器LoadRunner提供大量监测服务器资源的资源,它支持大部分常见的服务器。SystemResource:包括windows平台,Unix平台等WebServer:包括Apache、IIS、Sun的iplanet等Applicationserver:包括Weblogic、WebSphere等Databaseserver:包括DB2,Oracle,Sqlserver,Sybase等LoadRunner使用Controller监测器LoadRunner使用Analysis常用功能添加图表合并图表设置粒度数据筛选LoadRunner使用Analysis添加图表LoadRunner使用Analysis添加图表LoadRunner使用Analysis设置粒度LoadRunner使用Analysis数据筛选LoadRunner使用Analysis常用图表SummaryReportAverageTransactionResponseTimeTransactionsperSecondHitsperSecond(Web协议)LoadRunner使用AnalysisSummaryReportLoadRunner使用AnalysisAverageTransactionResponseTimeLoadRunner使用AnalysisTransactionsperSecondLoadRunner使用AnalysisHitsperSecond(Web协议)谢谢!