您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 性能测试-LoadRunner
深圳市泽林信息咨询有限公司ShenzhenZelinInformationConsultingCo.,LTDLoadRunner的简介2性能测试简介1LoadRunner测试流程3性能测试相关术语:响应时间、并发用户数、事务响应时间、吞吐量、TPS(每秒事务响应数)、性能计数器等。性能测试方法:负载测试、压力测试、配置测试、并发测试、可靠性测试等。应用领域:能力验证、规划能力、性能调优、缺陷发现。性能测试工具架构:一般包括以下部件:虚拟用户脚本产生器(VirtualUserGenerator)、压力产生器(player)、用户代理(Agent)、压力调度和监控系统(Conductor)、压力结果分析工具(Analysis)。性能测试是利用产品、人员和流程来降低应用程序、升级程序或补丁程序部署风险的一种手段。性能测试的主要思想是通过产生模拟真实业务的压力对被测系统进行加压,研究被测系统在不同压力情况下的表现,找出其潜在的瓶颈。LoadRunner是一种预测系统行为和性能的负载测试工具。它通过模拟实际用户的操作行为和实行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试的特殊环境提供特殊的解决方案。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。LoadRunner提供了3大主要模块,这3个模块既可以作为独立的工具分别完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。这3大模块分别是:VirtualUserGenerator——用于录制性能测试脚本LoadRunnerController——用于创建、运行和监控场景LoadRunnerAnalysis——用于分析性能测试结果LoadRunner的安装过程比较简单,运行setup.exe,点击“LoadRunner完整安装”,按照向导逐步安装就可以了。提示:建议安装过程关闭360等杀毒软件。否则可能出现安装后,用Controller创建场景报错:FailedtoConnecttoLoadRunnerController,控制器无法使用。LoadRunner常用术语:1.场景(Scenario):场景即测试场景。在LoadRunner的Controller部件中,可以设计与执行用例的场景,设置场景的步骤主要包括:在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器(LoadGenerator)、设置执行时间等。2.负载发生器(LoadGenerator):用来产生压力的机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通常由一个Controller控制多个LoadGenerator以对被测试系统进行加压。3.虚拟用户(VirtualUser/Vuser):对应于现实中的真实用户,使用LoadRunner模拟的用户称为虚拟用户。性能测试模拟多个用户操作可以理解为:这些虚拟用户在跑脚本,以模拟多个真正用户的行为。4.虚拟用户脚本(Vuserscript):通过VuserGenerator录制或开发的脚本。这些脚本用来模拟用户的行为。5.事务(Transaction):测试人员可以将一个或多个操作步骤定义为一个事务,可以通俗的理解事务为“人为定义的一系列请求(请求可以是一个或者多个)”。在程序上,事务表现为被开始标记和结束标记圈定的一段代码区块。Loadrunner根据事务的开头和结尾标记,计算事务响应时间、成功/失败的事务数。6.思考时间(ThinkTime):即请求间的停顿时间。实际中,用户在进行一个操作后往往会停顿然后再进行下一个操作,为了更真实的模拟这种用户行为而引进该概念。在虚拟用户脚本中用函数lr_think_time()来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。7.集合点(Rendezvous):设集合点是为了更好模拟并发操作。设了集合点后,运行过程中多个用户可以在集合点等待到一定条件后再一起发后续的请求。集合点在虚拟用户脚本中对应函数lr_rendezvous()。8.事务响应时间:事务响应时间是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,以定位是否存在性能问题。第一步第二步第三步第四步第五步规划测试(计划、用例……)创建VU脚本定义场景运行场景分析结果➤规划测试确定测试要求,如并发用户数量、典型业务场景流程;测试计划;设计用例;……➤创建Vuser脚本使用VirtualUserGenerator录制、编辑和完善测试脚本。➤定义场景使用LoadRunnerController设置测试场景。➤运行场景使用LoadRunnerController驱动、管理并监控场景的运行。➤分析结果使用LoadRunnerAnalysis生成报告和图表并评估性能。好的测试规划,能够指导整个测试过程,以更好的收集到测试目标要求的性能数据。规划可以包括测试的计划、用例的设计、场景的设计、性能计数器设置的设计等。以下列出几点规划事项:1.测试用例:测试用例一般根据需要测试的功能进行设计,比如用例为:进入登录页面-》填写用户名密码,登录-》单击‘新增’按钮-》填写门店信息,保存。2.场景设计:一般情况会设计两种加压方式进行测试:瞬时加压(多人同时进行某项业务操作)与逐渐加压(多人先后进行某项业务操作,操作时间间隔根据计划设定)。这里不详细说明。3.性能计数器方面:可以收集CPU时间、内存、硬盘、网络、数据库参数、IIS参数等。这里不详细说明。在录制脚本前,先确定性能测试各种文件的存储结构,以便后续可以清晰查找各种需要信息。使用相对路径,便于测试环境的迁移。暂未整理设置步骤,待研究……使用绝对路径(推荐放在C盘符下,理由如下:绝大多数windowns的操作系统都有C盘符,更大限度的方便测试环境的迁移。但也要考虑到目标环境的C盘情况。)。如果使用绝对路径,推荐的存储结构为一个父目录存储所有当次性能测试的文件,比如这个目录名可以为“ProjectName_Perf”,然后在“ProjectName_Perf”下新建5个目录,分别存放脚本、参数文件、场景、场景运行结果、分析报告,名字分别为Test_Script、Test_Parameter_List、Test_Scenario、Test_Scenario_Result、Test_Report(这里的命名规律为:Test开头,然后加上该目录所存放内容的名称,每个单词大写字母开头,用下划线隔开)。Loadrunner脚本开发步骤:录制基本脚本增强/编辑脚本配置运行时设置试运行脚本1.启动LoadRunner选择开始程序HPLoadRunnerLoadRunner,打开HPLoadRunner11窗口。2.打开VuGen在LoadRunnerLauncher窗格中,单击Create/EditScripts,链接启动VirtualuserGenerator起始页。3.创建一个空白Web脚本选择FileNew菜单,或点击按钮,打开NewVirtualUser对话框,显示可供选择脚本的协议。对于常用的应用软件,我们可以根据被测应用是B/S结构还是C/S结构来选择协议。如果是B/S结构,就要选择Web(HTTP/HTML)协议。如果是C/S结构,则可以根据后端数据库的类型来选择,如MSSQLServer协议用于测试后台数据库为SQLServer的应用;对于没有数据库的WINDOWS应用,可以选择WindowsSockets协议。根据选择协议的不同,VirtualUserGenerator会使用不同的方式和界面引导用户完成脚本的录制。4.录制前的设置选择Web(HTTP/HTML),点击Create按钮,打开StartRecording对话框。选择的协议不同,打开的窗口就会不同,实例是针对Web录制的对话框。VuGen的脚本分为三个部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一个,而Action可分成无数多个部分,可以通过点击旁边的【new】按钮来创建Action。在迭代执行测试脚本时,Vuser_init和Vuser_end中的内容只会执行一次,迭代的是Action部分。在StartRecording对话框,点击Options按钮,进入录制选项设置。一般要设置以下选项:1)RecordingHTTP/HTMLlevel中设置脚本的显示形式:URL_basedscript。2)AdvancedSupportcharset中设置编码格式:UTF-8;•基于浏览器的应用程序推荐使用HTML-basedscript。•不是基于浏览器的应用程序推荐使用URL-basedscript。•基于浏览器的应用程序中包含了JavaScript,并且该脚本向服务器发送了请求,比如DataGrid的分页按钮等,推荐使用URL-basedscript。•基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-basedscript。提示:录制Web脚本时,生成的脚本中存在乱码该如何解决?•新建脚本---选择协议(Http)--选项--高级--选择“支持字符集”并点选“UTF-8”。•在回放脚本之前:Vuser--运行时设置--浏览器--浏览器仿真--更改--使用浏览器--语言下来选择“中文(中国)”。5.录制在StartRecording对话框,点击OK按钮,开始录制。系统自动弹出IE,加载营销系统的登录界面。在录制的过程中,屏幕上有一个悬浮的录制工具栏,是脚本录制过程中测试人员和VuGen交互的主要平台。熟悉录制脚本工具栏:实例操作:登录系统新增门店注销通过操作被测系统,操作的每一个步骤都被记录,在录制的过程中,可以在相应的步骤插入action、事务、检查点、集合点等信息。录制完成后单击按钮,Loadrunner开始生成脚本,生成的脚本如图所示。熟悉两种脚本查看方式:ScriptView可以查看全部录制的脚本代码(左图)TreeView可以查看每个URL获取来的页面(右图)1.插入事务插入事务是用于把功能分为若干部分,在统计性能指标时,可以对不同的事务分别作统计。如果对脚本不是太熟悉,可以在录制的时候,逐步插入。也可以在录制完成之后,在脚本中插入。在录制时插入操作为:录制某个功能开始前单击插入事务的起始点录制,直到某个功能结束插入事务的结束点。在脚本的插入方式为:插入事务起始点:单击某个功能起始前的空白处右键鼠标insertstarttransaction命名OK。系统自动在脚本语句中插入如下语句:lr_start_transaction(登录);插入事务结束点:单击某个功能结束后的空白处右键鼠标insertendtransaction命名(与起始点的名字一致)OK。系统自动在脚本语句中插入如下语句:lr_end_transaction(登录,LR_AUTO);实例中可以分别设置两个事务:登录、新增门店。2.参数化参数化的作用是在进行场景执行的时候,每个不同的虚拟用户可以按照参数的读取策略读取到参数值,以模拟不同用户在提交或者读取不同的数据。每个用户在界面上读取和提交的信息都不太相同,因此一般都需要参数化,其它与输入信息对应的比如用户id之类的信息也需要参数化;另外,录制环境绝大多数情况下与执行环境不一致,因此一般需要对IP、端口或者域名做参数化。下面将分四部分来介绍参数化的方法和实施过程:确定需要参数化的常量准备数据对脚本进行参数化还原初始字符串确定需要参数化的常量打开脚本后,首先要确定哪些常量需要参数化。例如我们的营销系统登录的脚本代码:可以看出,
本文标题:性能测试-LoadRunner
链接地址:https://www.777doc.com/doc-17827 .html