LoadRunner性能测试基础

简介

  Loadrunner是一种预测系统行为和性能的负载测试工具,它可以轻松创建虚拟用户、创建真实的负载、定位性能问题、重复测试保证系统的高性能。


LR与JM对比



组成

  Vuser Generator      C语言脚本开发的 

  Controller        指挥官的作用,控制执行场景 

  Analysis        收集测试数据,进行结果分析的 

什么时候可以开始执行性能测试? 

  功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。


使用Loadrunner的步骤

制定性能测试计划—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果 



为什么用事务 

事务Transaction,一般我们用来衡量一个action所消耗的时间,通过它,可以知道一个操作的消耗相应时间,它是作为度量系统性能的唯一指标


一、创建Vuser脚本—录制基本脚本

1.创建

选择File –> New菜单,或点击   按钮,打开New Virtual User对话框,显示可供选择脚本的协议。 

 

对于常用的应用软件,我们可以根据被测应用是B/S结构还是C/S结构来选择协议。 

  如果是B/S结构,就要选择Web(HTTP/HTML)协议。 

  如果是C/S结构,则可以根据后端数据库的类型来选择,如MS SQL Server协议用于测试后台数据库为SQL Server的应用;对于没有数据库的WINDOWS应用,可以选择Windows Sockets协议。 

根据选择协议的不同,Virtual User Generator 会使用不同的方式和界面引导用户完成脚本的录制。


2.录制前的设置

  选择Web(HTTP/HTML),点击Create按钮,打开Start Recording对话框。选择的协议不同,打开的窗口就会不同,实例是针对Web录制的对话框。 

 

  VuGen的脚本分为三个部分:Vuser_init,Action,Vuser_end。其中Vuser_init和Vuser_end都只能存在一个,而Action可分成无数多个部分,可以通过点击旁边的【new】按钮来创建Action。在迭代执行测试脚本时,Vuser_init和Vuser_end中的内容只会执行一次,迭代的是Action部分。 

3.录制选项设置


在Start Recording对话框,点击Options按钮,进入录制选项设置。一般要设置以下选项

1) HTTP/HTML level中设置脚本的显示形式:URL_based script。 

 

建议: 

  1.基于浏览器的应用程序推荐使用HTML-based script。 

   2.不是基于浏览器的应用程序推荐使用URL-based script。 

  3. 基于浏览器的应用程序中包含了JavaScript,并且该脚本向服务器发送了请求,比如DataGrid的分页按钮等,推荐使用URL-based script。 

  4.基于浏览器的应用程序中使用了HTTPS安全协议,建议使用URL-based script。 

2)Support charset中设置编码格式:UTF-8; 

 

提示:录制Web脚本时,生成的脚本中存在乱码该如何解决? 

  新建脚本—>选择协议(Http)–>选项–>高级–>选择“支持字符集”并点选“UTF-8”。 在回放脚本之前:Vuser–>运行时设置–>浏览器–>浏览器仿真–>更改–>使用浏览器–>语言下来选择 “中文(中国)”。 

4.点击录制


  在Start Recording对话框,点击OK按钮,开始录制。系统自动弹出IE,加载XXX的登录界面。在录制的过程中,屏幕上有一个悬浮的录制工具栏,是脚本录制过程中测试人员和VuGen交互的主要平台。 


  在录制的过程中,可以在相应的步骤插入action、事务、检查点、集合点等信息。录制完成后单击 停止按钮,LoadRunner开始生成脚本。 

熟悉两种脚本查看方式: 

  Script View 可以查看全部录制的脚本代码 

  Tree View 可以查看每个URL获取来的页面


二、增强/编辑脚本

1.插入事务


  插入事务是用于把功能分为若干部分,在统计性能指标时,可以对不同的事务分别作统计。如果对脚本不是太熟悉,可以在录制的时候,逐步插入。也可以在录制完成之后,在脚本中插入。 

录制加入方式: 

  在录制时插入操作为:录制某个功能开始前单击插入事务的起始点录制,直到某个功能结束插入事务的结束点。 

在脚本的插入方式为: 

  插入事务起始点: 

    单击某个功能起始前的空白处右键鼠标–> insert–> start transaction–> 命名–> OK。系统自动在脚本语句中插入如下语句: 

    lr_start_transaction(“登录”); 

  插入事务结束点: 

    单击某个功能结束后的空白处右键鼠标–> insert–> end transaction–> 命名(与起始点的名字一致)–>OK。系统自动在脚本语句中插入如下语句: 

    lr_end_transaction(“登录”,LR_AUTO); 

 

2.参数化


  参数化的作用是在进行场景执行的时候,每个不同的虚拟用户可以按照参数的读取策略读取到参数值,以模拟不同用户在提交或者读取不同的数据。 

   每个用户在界面上读取和提交的信息都不太相同,因此一般都需要参数化,其它与输入信息对应的比如用户id之类的信息也需要参数化;另外,录制环境绝大多数情况下与执行环境不一致,因此一般需要对IP、端口或者域名做参数化。 

下面将分四部分来介绍参数化的方法和实施过程:

确定需要参数化的常量

准备数据

对脚本进行参数化

还原初始字符串

1

2

3

4

 

 

 



Vuser编辑器详解


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章