Loadrunner之创建场景.doc_第1页
Loadrunner之创建场景.doc_第2页
Loadrunner之创建场景.doc_第3页
Loadrunner之创建场景.doc_第4页
Loadrunner之创建场景.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

创建场景进行压力负载测试时,测试人员的工作就是了解被测应用的性能需求,从应用程序中找出一个或多个性能测试点,然后针对这些性能点分别进行测试,获取相关的性能指标结果,分析被测应用,追溯性能问题产生的根源.要使用LOADRUNENR实现这一过程,就需要针对这些性能点建立一个个的场景,因此,LOADRUNNER的每个场景都定义了一个在性能测试活动中发生的事件,它能控制虚拟用户的数量,测试脚本和运行脚本的LOAD GENERATOR.对于有经验的测试人员来说,定义场景是在计划阶段进行的,它优先于脚本的录制过程,并指导脚本的录制。只不过计划阶段的场景只能限于纸面上,要想让LOADRUNNER这个测试工具实现自动的负载测试,需要在CONTROLLER中建立实实在在的场景。1. 设计场景的思想性能测试按照场景不同一般可以分为两大类,一类是为了测试目的而进行的场景测试,另外一类是基于用户实际情况而进行的场景测试。性能测试用例的设计应该面向性能测试场景来进行,“为了测试目的而设计的测试用例场景”主要根据测试设计人员的经验来进行,但是仍然要参考用户的实际场景,用户实际使用场景是设计所有测试用例的依据。性能测试用例设计首先要分析出用户现实中的典型场景,然后参照典型场景进行设计。下面详细介绍一下常见的三类用户场景:l 一天内不同时间段的使用场景在同一天内,大多数系统的使用情况都会随着时间发生变化。例如对于新浪、网易等门户网站,在周一到周五早上刚一上班时,可能邮件系统用户比较多,而上班前或者中午休息时间则浏览新闻的用户较多;而对于一般的OA系统则早上阅读公告的较多,其他时间可能很多人没有使用系统或者仅有少量的秘书或领导在起草和审批公文。这类场景分析的任务是找出对系统产生压力较大的场景进行测试。l 系统运行不同时期的场景系统运行不同时期的场景是大数据量性能测试用例设计的依据。随着时间的推移,系统历史数据将会不断增加,这将对系统响应速度产生很大的影响。大数据量性能测试通常会模拟一个月、一季度、半年、一年、的数据量进行测试,其中数据量的上限是系统历史记录转移前可能产生的最大数据量,模拟的时间点是系统预计转移数据的某一时间。l 不同业务模式下的场景同一系统可能会处于不同的业务模式,例如很多电子商务系统在早上8点到10点以浏览模式为主,10点到下午3点以定购模式为主,而在下午3点以后可能以混合模式为主。因此需要分析哪些模式是典型的即压力较大的模式,进而对这些模式单独进行测试,这样做可以有效的对系统瓶颈进行隔离定位。与“一天内不同时间段的场景测试”不同,“不同业务模式下的场景测试”更专注于某一种模式的测试,而“一天内不同时间段的场景测试”则多数是不同模式的混合场景,更接近用户的实际使用情况。上面只介绍了三种典型的场景,实际项目中分析场景一般不会孤立的分析某一特定类型场景,而是把两种或者几种类型场景结合起来进行分析设计,这样做主要是为了选择更典型的场景和节省一些测试成本。2. 选择场景类型每次在CONTROLLER中创建一个场景的时候,系统会首先让用户选择场景的类型。LOADRUNNER为用户提供了面向目标和手工设置的两种场景策略,具体选择哪一种要根据具体的项目需求来定。l MANUAL SCENARIO这种方式是完全手动设置,测试人员需要手工设定虚拟用户数,SCHEDULE和LOADGENERATOR等l MANUAL SCENARI WITH PERCENTAGE MODE 这种方式与MAMUAL SCENARIO方式比较相似,只是在分配用户数的方式有所不同1) 后者需要设定TOTAL NUMBER OF VUSERS,即所有虚拟用户数;2) 后者需要为每个脚本分配用户数比例,由系统按照比例自动分配用户数;3) 后者脚本选择LOADGENERATOR时,除了可以选择单个的LOAD GENERATOR外,还可以设置为ALL LOAD GENERATOR,即使用所有的LOADGENERATOR。4) 后者没有用户组的概念,因此在设置SCHEDULE时,不能按组设置,只能按整个场景设置。l GOAL-ORIENTED SCENARIO这种方式是基于目标自动创建场景的方式,测试人员只要输入性能测试所要达到的目标,LOADRUNNER就会自动根据目标安排场景的运行;采用GOAL-ORIENTED SCENARIO方式创建场景时,需要单击EDIT SCENARIO GOAL按钮定义场景目标,CONTROLLER在执行的时候会根据场景目标的要求,自动加载用户,控制场景的运行; VIRTUAL USERS以虚拟用户数作为目标,当一个应用对用户数要求比较高时,可以使用这种方式来测试一个应用程序能够允许多少个用户同时运行。基于用户数目标的原理和设定方法比较简单,他和MANUAL SCENARIO WITH PERCENTAGE MODE 方式基本相似,只需要定义要求达到的用户数就可以了。从某种意义上讲,它还不能体现面向目标类型的优势。 HITS PER SECOND,以每秒点击数作为目标 TRANSACTIONS PER SECOND,以每秒事务数作为目标 PAGES PER MINUTE,以每分钟页数作为目标以上三种类型都需要用户指定虚拟用户数的范围,CONTROLLER在运行场景的时候,首先加载最小的用户数,如果使用最小的用户数不能达到目标,系统会自动逐渐增加用户直到能够达到设定的目标为止。当加载的用户数达到最大值仍然不能满足要求时,就需要重新设置场景,增加最大用户数。可以通过LOAD BEHAVIOR选项设定三种不同的用户加载策略,如果没有达到目标,LOADRUNNER会重新运行场景,一次加载最大的用户数,尝试是否能够达到目标,如果出现如下情况之一,场景的运行结果都会置于FAILED状态1) CONTROLLER两次加载了最大的用户数都没有达到目标;2) 在运行过程中所有的用户都失败了;3) LOAD GENERATOR数目不能满足要求;4) CONTROLLER在增加用户的过程中,性能指标没有增加;5) CONTROLLER在加载第一批用户后,没有捕获到指标的值; TRANSATIONS RESPONSE TIME,以事务响应作为目标主要用于衡量要达到预期的事务响应时间,系统所容纳的最多用户数,如果系统已经加载了最大的用户数,响应时间仍然低于设定的值,说明系统还有能力容纳更多的用户,如果使用一部分用户就达到了设定的响应时间,说明系统是无法容纳设定的最大数量的用户的,必须通过完善应用程序来达到目的;3. 多机联合产生负载LOADRUNNER对应用程序施压时,采用的方法就是让一台机器模拟很多用户,同时向被测用户发送请求或进行操作。这样,如果一台测试机器模拟的虚拟用户数过多,他本身性能的下降会直接影响测试效果。为了避免这种情况,LOADRUNNER允许使用多台机器运行场景来均衡测试机器的负荷。只要一台机器安装了LOAD GENERATOR并启动了LOADRUNNER AGENT PROCESS进程,就可以被CONTROLLER统一调度来运行场景,CONTROLLER负载收集统一的测试信息和执行结果。l 安装LOAD GENERATOR如果一台测试机仅用来被CONTROLLER调用执行场景,只需安装LOAD GENERATOR就可以了。方法是在LOADRUNNER安装首页选择LOAD GENERATOR选项。需要注意的是,LOAD GENERATOR的服务启动后,屏幕右下角的任务栏上会显示一个代理(AGENT)的图标;l 在CONTROLLER中创建LOAD GENERATORCONTROLLER进行多机联合产生负载之前,首先要加载准备使用的LOAD GENERATOR,单击场景设定对话框中的GENERATORS按钮,系统会弹出LOAD GENERATORS对话框;在LOAD GENERATOR对话框中可以查看到所有已经加载的LOAD GENERATOR信息:1) NAME:LOAD GENERATOR所在的机器名称。如果是LOCALHOST,表明这个GENERATOR是在本机上;2) STATUS:标识了GENERATOR目前的状态,3) PLATFORM:显示了系统的平台名称;4) 单击ADD可以添加新的LOAD GENERATOR;添加LOAD GENERATOR后,一般要测试CONTROLLER能否正确连接到这个GENERATOR,单击CONNECT按钮,LOADRUNNER的CONTROLLER就会尝试去连接选中的LOAD GENERATOR,如果连接成功就在STATUS字段中显示READY,如果失败就会显示FAILED。l 在场景中用不同的LOAD GENERATOR联合产生负载创建好LOADGENERATOR以后,在CONTROLLER的LOAD GROUPS列表中就可以选择使用了,使用多个LOAD GENERATOR运行场景的时候,可以让不同的虚拟用户组在不同的机器上运行,分解了CONTROLER本身的压力,更能体现系统真实的运行环境;4. 设定集合点策略LOADRUNNER在运行场景的时候,允许测试人员根据项目需要自己设定集合点的并发策略,要设定一个集合点以何种方法运行,在创建或打开脚本中包含集合点的场景时,选择SCENARIOI|RENDEZVOUS命令,可以查看场景中所有脚本中的集合点名称,所属脚本,当前状态和相关的虚拟用户列表信息等,根据系统需求,还可以针对集合点的执行进行设定。l 单击DISABLE/ENABLE RENDEZVOUS按钮可以选定集合点是否启用l 单击DISABLE/ENABLE VUSERS按钮可以设定一个用户是否参与到集合点中l 单击POLICY按钮可以设定集合点执行策略在POLICY对话框中:1) 设置所有用户到达集合点的百分数,当到达集合点的用户达到设定的值后释放用户让场景继续执行;2) 设置所有正在运行的用户到达集合点的百分数,当到达集合点的用户达到设定的值后释放用户让场景继续执行;3) 设置用户到达集合点的数量,当到达集合点的用户达到设定的数量后释放用户让场景继续执行;4) TIMEOUT BETWEEN VUSERS文本框中设定了一个超时时间,当第一个用户到达集合点时,系统开始计时。如果在这个设定的时间内没有达到要求的集合点用户数,系统就不在等待,释放用户让场景继续执行(最高优先级)。5. 控制场景的运行在CONTROLLER中单击START SCENARIO按钮开始执行场景以后,LOADRUNNER首先检查场景的配置信息,并激活被测应用,然后将虚拟用户分配到相应的LOAD GENERATOR上。当虚拟用户准备好以后就开始对被测应用施压,在施压的同时LOADRUNNER会完成如下的操作:1) 记录在脚本中定义的每个事务的执行时间;2) 执行脚本中定义的集合点的功能;3) 收集每个虚拟用户发出的告警,错误和提示信息;在场景执行过程中,可以查看虚拟用户发出的各种信息,可以随时停止一个用户或多个用户组的执行,可以让LOADRUNNER命令某些用户和用户组在场景执行结束前进行重复操作等。l 初始化用户组单击START SCENARIO 按钮执行场景时,虚拟用户并没有立刻执行脚本,而是首先执行一个初始化过程,初始化完毕的用户状态会变为READY,只有状态为READY 的用户才能真正开始执行脚本。由于各种条件的限制,场景中用户的初始化过程是无法达到完全同步的,这就造就了用户无法同时运行测试脚本。为了让用户能够同时对被测应用施压,LOADRUNNER提供了初始化用户组的策略,让所有用户在执行脚本之前全部变为READY 状态。初始化用户组的方法是在开始运行场景之前,先在RUN选项卡中选中要初始化的用户组,然后单击工具栏的INITIALIZE THE SELECTED VUSERS按钮,或者单击鼠标右键,在弹出的菜单中选择INITIALIZE GROUPS命令,如果初始化成功,用户状态变为READY,如果失败,用户的状态就会变为ERROR。l 停止场景的运行一个场景会在以下三种情况停止运行:1) 所有用户都执行完脚本;2) 测试人员手动停止了场景的运行;3) 执行超时;LOADRUNNER可以根据用户的设定,采用不同的停止方式;1) 要手动停止整个场景的运行,只需在场景运行过程中单击RUN标签中的STOP按钮即可。2) 如果希望选定的用户组停止执行,可以单击工具栏的STOP VUSERS按钮;3) 如果OPIONS的RUN-TIME SETTING中设定了WAIT FOR CURRENT INTERATION TO END BEFORE STOPPING 或者WAIT FOR CURRENT ACTION TO E

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论