MI测试工具LoadRunner基础培训[1]

上传人:飞*** 文档编号:46198216 上传时间:2018-06-23 格式:PPT 页数:35 大小:1.57MB
返回 下载 相关 举报
MI测试工具LoadRunner基础培训[1]_第1页
第1页 / 共35页
MI测试工具LoadRunner基础培训[1]_第2页
第2页 / 共35页
MI测试工具LoadRunner基础培训[1]_第3页
第3页 / 共35页
MI测试工具LoadRunner基础培训[1]_第4页
第4页 / 共35页
MI测试工具LoadRunner基础培训[1]_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《MI测试工具LoadRunner基础培训[1]》由会员分享,可在线阅读,更多相关《MI测试工具LoadRunner基础培训[1](35页珍藏版)》请在金锄头文库上搜索。

1、LoadRunner培训负载(Stress)测试工具使用基础培训1. LoadRunner基本介绍题目题目2. 用LoadRunner测试的步骤3. 工具使用之一: 录制脚本4. 工具使用之二: 修改脚本5. 工具使用之三: 创建场景6. 工具使用之四: 运行测试7. 工具使用之五: 分析结果8. LoadRunner目前的使用情况1.LoadRunner基本介绍1.1 LoadRunner基本介绍1.2 LoadRunner运行的典型场景1.3 常用语1.1 LoadRunner基本介绍1. Mercury Interactive公司的压力测试工具LoadRunner,是目前软件负载测试的工

2、 业标准 2.LoadRunner是通过模拟多个用户并发负载,并进行实时监控的方式来进行测试 3.支持多种协议,包括HTTP、 WAP 、winsock、Tuxedo、Oracle4.与其它负载测试工具的不同在于,LoadRunner的每一个虚拟用户所占用的系统 资源较少,适合于用较少的负载测试机器来达到大规模的负载测试所要求的并发 压力5. LoadRunner适用于网络应用的负载测试1.2 LoadRunner运行的典型场景1.3 常用语1.Controler: 负责场景的控制,脚本的分发,运行时数据的收集,测试结果的收集 2. Generator: 性能测试中实际压力的发起者,主要是将C

3、ontroler传送过来的脚本 ,按场景所要求的运行属性进行收发包的动作;另外,也负责运行时数据的采集 3. Monitor: 负责收集运行时各主机,数据库待测系统的数据,并形成实时的 曲线,用于性能测试运行时的实时分析;Monitor总是在Controler所在的机器上 4. Analysis: 主要将收集到的最终的性能测试结果进行统计分析,并形成图表,便 于分析系统的总体的性能结果 5. Vuser: 是包含有各种运行时属性(循环次数,打印级别等)的脚本 6. Scenario: 将各脚本按组的方式组织,按指定的运行时环境进行控制,分发,并 监控运行情况 7. Transaction: 脚

4、本中的一部分,用于场景运行时(运行后),分析该段脚本的各响 应时间指标(如平均响应时间、90%响应时间),这是分析用户行为的重要数据注:Controler和Generator只是逻辑上的区分,即它们可以在同一台物理机器上2. 用LoadRunner测试的步骤2.1 用LoadRunner测试的步骤2.2 最重要的是拟定计划2.1 用LoadRunner测试的步骤2.2 最重要的是拟定计划1.分析应用:进行负载测试前需要了解系统的结构;了解现网的实际部署要求; 了解用户的使用方式及行为;了解配置的不同对系统的影响2.定义测试目标:例如在较大压力下用户可以接受的最大响应延时是多少;系统 要求的在多

5、大的压力下不会出错;在多大的压力下出错率为多少是可以接受的; 在多大的压力下系统不会崩溃;测试目的是找到系统的最大处理能力,还是找出 系统中有瓶颈的地方3.设计测试所需环境的配置:以上两点结束后,才能给出负载测试的机器配置要 求、并发数要求、网络配置要求、以及设计每一个场景,并给出场景成功或者失 败的指标,以及场景重复运行的环境准备要求3. 工具使用之一:录制脚本3.1 选择脚本类型3.2 脚本的例子3.3 录制脚本3.4 回放脚本确认脚本的有效性3.1 选择脚本类型1.当做好测试计划后,就知道需要使用何种类型的脚本了,目前LoadRunner可以 支持的脚本类型,可以从Virtual Use

6、r Generator的新建菜单中选择,如下图:2.实际的脚本会根据所选择的不同类型,而自动include不同的头文件3.2 脚本的例子1.左上图为Web(HTTP/HTML)类型的脚本 ,其它类型的脚本也基本相同 2.可以看出,脚本是类似C的语言 3.脚本分为Vuser_init、Action、Vuser_end三 部分 4.值得注意的是,每一个虚拟用户在脚本 的执行过程中,只会运行一次Vuser_init, 再运行多次循环的Action部分,最后运行一 次Vuser_end,这可以从脚本的Run Time Setting中看到,如左下图3.3 录制脚本1.LoadRunner的脚本,一般采

7、用录制的过程获取初始脚本,点击工具栏的 可以开始录制 2.在弹出的Start Recoding对话框中可以进行更多选项的修改,例如加入浏览器的 起始URL,还可以选择录制的脚本是放在init,Action,end三部分中的哪一部分,一 般都选择放在Action部分,点击Options按钮,进入高级选项(里面的设置的变化, LoadRunner会自动记忆),里面有许多可设置部分,这里提到一点:Recoding LevelHTML-Based Script是以HTML的方式来理解录制时 的行为,记录的脚本与操作一致,但对于Session类操 作或者一些列表类的点击与期望有出入,例如录制 的脚本多为

8、web_url()等函数 URL-Based Script是以HTTP的方式来理解录制时的行 为,记录的脚本与操作有一定差异,基本上将一个 操作分解为多个HTTP请求,可以处理Session类操作 或者一些列表类的点击,例如录制的脚本多为 web_custom_request()等函数建议一般Web类脚本采用HTML-Based Script方式, 如果有问题,再采用URL-Based Script方式3.3 录制脚本(续)3.录制时的每一个HTTP请求,都会被按操作顺序记录在脚本里,形成一个或多 个LoadRunner的函数,也可以手工写这些函数,具体的函数的使用,参见帮助 4.录制时就应该

9、设置Transaction的动作,(当然,也可以录制完成后再进行设置),方 法在是某个需要设置Transaction的动作前设置事务的起始点,如下图在该动作后设置事务的结束点,例如录制一个登录邮箱的动作,在首页点了几个 链接后,登录前填好用户名和密码,在点击“登录”按钮之前设置事务起始点 “Login”,在点击登录后,邮箱完全显示后,再设置事务结束点“Login”,这样一个 Login的事务就设置完成了,生成的脚本如右图: 5.一个脚本中可以有多个事务,事务可以嵌套 6.录制完成后,点击stop按钮,即上图中左数第3个按钮,可以结束脚本的录制, 接着可以存盘3.4 回放脚本确认脚本有效性当脚本

10、录制完成,并存盘后,应立即回放脚本,以检查是否通过 回放脚本的动作是Run一次脚本,或者点击F5 回放完成后,会有界面弹出,指明该脚本是否执行成功,如下图 如回放通过,则脚本录制就算基本完成4. 工具使用之二:修改脚本4.1 参数化4.2 加入打印信息4.3 同步点的概念4.4 备注4.1 参数化1.大部分的脚本都需要参数化,例如,一个登录脚本只记录了以一个用户名/密 码对登录某个系统,但要达到以不同的用户名/密码对登录,则需要用到参数化 2.参数化就是将脚本中的某个字符串替换为一个参数列表的动作 3.参数化的方法很简单,在脚本中将某个字符串选中,点右键,选择Replace With a Pa

11、rameter,出现右上图: 4.确定后,脚本中原有字符串被替换成参数名 5.参数化时,参数类型可以采用多种方式,如File、 Date/Time、Random Num,以下以File方式来讲解 6.文件方式的参数化是较为常见的一种参数化方式, 参数文件以ASCII码文件显示,一般需要手工修改该文件的内容 7.参数属性窗口(右下图)中有几个需要注意的地方: A Sequential B Unique4.1 参数化(续)考虑做一个10 X 50的负载测试的参数化,即10个并发,每个虚拟用户循环50次,采 用文件方式参数化,则: Sequential的方式 从参数文件中读取前50行,分给第一个虚拟

12、用户;仍然取这50行,分给第二个虚拟用户,所 有的虚拟用户都用前50行,后面的数据无效 Unique的方式 从参数文件中读取前50行,分给第一个虚拟用户;再从参数文件中读取接下来的50行,分给 第二个虚拟用户,所有的虚拟用户都取不同50行,共从参数文件中获取500条数据.注:参数文件以及参数文件的设置属于脚本的属性,一直跟随脚本 实际运行时,每个虚拟用户的执行不会按给它的参数的顺序来执行,即单个 虚拟用户运行时的所采用的参数是无序的 当参数文件不够用时,在场景里初始化时,会报错4.2 加入打印信息1.在负载测试正在进行中,如果出现问题,很难找到问题在哪里,例如web脚本 运行时,LoadRun

13、ner的Controler通常以返回的HTTP头信息中的状态标识来决定成 功与否,例如,状态200为通过;现有的应用已经很智能化,如果未找到页面,也 会重定向一个友好的出错提示页面,这样返回200,LoadRunner却不知道应用已报 错 2.一般而言对于上述情况,可以采用以下方法处理:LoadRunner先进行条件判断 ,如果不满足条件,则在运行时以及报告里打印信息,来报错,典型的例子为登 录时用户不存在,可以采用以下方法: A)检查登录后的返回页面中有无特征字符串或特征图片 B)如未找到匹配值,则打印一条信息 3.常用的打印函数有几个,如lr_errro_message(),lr_outp

14、ut_message()等等 4.打印信息也常用于跟踪每个虚拟用户的事务状态,例如在脚本的多处加入打印 信息,一旦出错,能够知道错误具体是在虚拟用户做哪一个操作时出的错4.3 同步点的概念1.首先提到的应该是LoadRunner在执行负载测试时各虚拟用户的运行情况,每个 虚拟用户都会不间断地按照Action里的语句来执行,此时会有一个问题,即很难 保证每个虚拟用户都是同时发起请求的,可能一个用户在发起请求时,其它的一些 用户都在等待上一个请求的回应,这样如果10 X 50的负载测试时,实际对服务器 的压力没有10个并发,当事务响应时间越长,则实际的并发量则越小 2.同步点的目的就是让所有的虚拟

15、用户在同一时刻发起下面的请求,它能保证后 面紧接的一个请求是所有虚拟用户同时发起的 3.当设置同步点后,先运行完的虚拟用户会在同步点处等待,直到所有的虚拟用 户都到达该点后,再同时发起请求 4.设置同步点可以直接在脚本中写lr_rendezvous()函数; rendezvousAction Of Script4.4 备注1.Session的控制 Session用得越来越多了,这样会导致原来录制的脚本,在以后回放时,由于 Session串已不存在,则会报错,因为Session是自动生成的,每次都不一样 解决方法是在产生Session之前的脚本前面加入以下函数: web_reg_save_par

16、am(“ParaName”,”LB=XXX”,”RB=“YYY”,LAST); 原脚本中以后的请求中的Session串用该函数中的参数名代替该函数的实际处理动作是从接下来的HTTP请求的返回包体中找到一个满足左边 界为字符串XXX,右边界为字符串YYY的地方,并将两个字符串中间的部分保存 为Session的值,以便以后使用,即XXXnnnnnnnnnYYY 如果出现在下面的返回包体中,则nnnnnnnnn这个串的值将会作为未来的Session串 来使用5. 工具使用之三:创建场景5.1 场景的创建5.2 场景的属性修改5.3 场景的保存5.1 场景的创建1.场景的创建可以从Controler里新建一个,也可以从Virtual User Generator中直接生 成,以下讲从Controler里新建场景 2.创建场景的始初框中有两种选则,一为 手工创建场景,另一个为基于目标的场景, 后者主要是给定一些条件,让Lo

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号