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、端口或者域名做参数化。
下面将分四部分来介绍参数化的方法和实施过程:

确定需要参数化的常量
准备数据
对脚本进行参数化
还原初始字符串

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

Vuser编辑器详解

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u013440574/article/details/82388679