了解 LoadRunner 性能测试软件及其基础使用

目录

一、了解LoadRunner

1、什么是Loadrunner?

2、Loadrunner包括什么组件?

(1)前台组件

(2)后台组件

二、LoadRunner三大组件

1、VuGen(虚拟用户脚本生成器)

(1)如何录制脚本?

(2)如何进行脚本加强?

<1> 事务插入

<2> 集合点插入

<3> 检查点插入

<4> 参数化

<5> 打印日志

2、Controller(测试控制器)

(1)理解 Controller

(2)如何创建测试场景?

(3)如何设计场景?

(4)如何运行场景?

3、Analysis(结果分析器)


一、了解LoadRunner

1、什么是Loadrunner

  • LoadRunner是一种适用于许多软件体系架构的自动负载测试工具
  • LoadRunner可以从用户关注的响应时间、吞吐量,并发用户和性能计数器等方面来衡量系统的性能表现辅助用户进行系统性能的优化
  • LoadRunner具备录制脚本功能,可以设计非常丰富的测试场景,和产出丰富的测试报告

2、Loadrunner包括什么组件

(1)前台组件

  1. VuGen(虚拟用户脚本生成器):用于录制和编写脚本
  2. Controller(测试控制器):用于设计测试场景执行管理监控性能测试
  3. Analysis(结果分析器):用于汇总、分析性能数据,产出性能报告
(2)后台组件
  1. LoadGenerator(负载生成器):用于模拟多用户并发访问。
  2. Proxy(用户代理):用于支持脚本录制和回放。

二、LoadRunner三大组件

1、VuGen(虚拟用户脚本生成器)

(1)如何录制脚本?

以自带项目 webtours 订票系统为例,进行录制。
<1> 启动 webtours 项目。
        ① 在 LoadRunner 安装路径中查找 WebTours/StartServer.bat,开启服务并保持(在进行测试时,该控制台窗口不能关闭)。
        ② 通过同目录下,httpd.conf 文件获取或设置监听端口。(端口默认1080)
        ③ 同目录下,cgi-bin/users文件记录了账号和密码(可使用默认账号,也可自行注册)。
        ④ 弹出的控制台中打印了webtours 订票系统网站的IP地址,使用 "IP地址/端口号/WebTours"  进行访问。

webtoers 订票系统 网站展示

<2> 打开VuGen,创建新脚本

<3> 选择协议后,输入脚本文件名和脚本保存路径,点击创建

<4> 侧边栏说明。

<5> 点击开始录制按钮。

<6> 录制设置,点击开始录制。

<7> 脚本录制控制器

<8> 脚本录制完毕后将自动生成代码,代码生成后需要对代码进行修剪,去除非必要代码,如多余的鼠标键盘操作、浏览器自身的操作(业务逻辑之外的)等等。

<9> 修剪完成后,点击编译校验修剪结果是否有误。

<10> 出现该提示,表示编译通过

<11> 点击运行按钮,正式执行脚本。执行通过则会打印日志,并提示 Script Passed

<12> 此外,还可以使用 Fiddler 抓包并生成脚本,在 VuGen 中也可正常使用,该方法可以作为备用方案。

(2)如何进行脚本加强
  • 脚本加强:是指对已经录制好的脚本增加功能,完善脚本增加灵活性
  • 脚本加强的目的:在 VuGen 中,通过使用各类函数,进行事务插入集合点插入检查点插入参数化打印日志等操作,以此达到加强脚本的目的。
<1> 事务插入
  • 事务:是指包含一个或多个功能的业务集合
  • 事务插入方式:可以通过事务按钮、右键 Insert => Start Transaction 等方式插入。
  • 开启事务函数:lr_start_transaction("事务名");
  • 结束事务函数:lr_end_transaction("事务名", LR_AUTO);
  • 事务的开启结束必须成对出现,开启和结束函数的事务名必须相同
  • 事务中通常不会插入思考时间,插入思考时间会影响事务响应时间统计的准确性。
<2> 集合点插入
  • 集合:是指等待多个流到达后,再同时出发,继续执行(即,等待后并发)。
  • 集合函数:lr_rendezvous("集合点名称")
<3> 检查点插入
  • 检查点:用于执行测试时,在某个点检查执行情况
  • 使用要求:检查点函数是注册函数,使用时需要将检查点函数放在待检查的请求之前
  • 检查点函数:web_reg_find(通过检查点的设置自动生成各种参数)
检查点设置
<4> 参数化

创建参数。

② 参数设置

③ 查看参数及多参数设置。

④ 更改日志打印内容配置

⑤ 更改测试次数配置,执行次数需要和参数数量匹配。

<5> 打印日志
  • 打印函数
            打印日志函数:lr_log_message
            输出函数:lr_output_message
  • 字符串操作函数(C语言风格):
            比较两个字符串:strcmp
            连接两个字符串:strcat
            拷贝字符串:strcpy

2、Controller(测试控制器)

(1)理解 Controller
  • 使用Controller的目的:使用 Controller(测试控制器)创建设计运行场景,以达到测试监控软件性能的目的。
  • 场景:场景描述在测试活动中发生的各种事件。场景中会运行一个压力产生器(LoadGenerator)机器列表,这个列表用于虚拟用户活动
  • 压力产生器:对服务器施加压力的机器,对于web软件来说,施压方式为发起请求。
(2)如何创建测试场景?

<1> 通过 VuGen 创建脚本后打开。

打开脚本并定义场景

<2> 直接打开 Controller 后,导入脚本。

(3)如何设计场景?

场景设计页面主要包含三个模块

<1> 基本信息设置模块

① 设置脚本信息

<2> 虚拟用户初始化模块

① 设置初始化虚拟用户信息

② 设置虚拟用户启动信息

③ 设置虚拟用户运行时间

④ 设置虚拟用户退出策略

<3> 虚拟用户运行情况展示模块

运行情况监控图
(4)如何运行场景?

场景运行界面包括五个模块

① 虚拟用户运行状态模块

② 操作及数据展示模块

③ 监控指标区

④ 监控表格区

⑤ 指标详细数据区


3、Analysis(结果分析器)

Analysis(结果分析器)会在测试完成后,自动产生测试报告并打开。

Analysis 测试报告中主要注意以下两个部分

(1)总结报告(summary reports)

(2)表格区

表格区可以直接查看数据表,也可以对数据表进行多种操作,如数据表汇总等。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/292185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue + .NetCore前后端分离,不一样的快速发开框架

摘要&#xff1a; 随着前端技术的快速发展&#xff0c;Vue.NetCore框架已成为前后端分离开发中的热门选择。本文将深入探讨Vue.NetCore前后端分离的快速开发框架&#xff0c;以及它如何助力开发人员提高效率、降低开发复杂度。文章将从基础功能、核心优势、适用范围、依赖环境等…

linux基础命令篇:Linux基础命令讲解——文件浏览(cat、less、head、tail和grep)

Linux基础命令讲解——文件浏览&#xff08;cat、less、head、tail和grep&#xff09; 本文详细介绍Linux中的cat、less、head、tail和grep命令&#xff0c;这些命令在日常工作中非常实用&#xff0c;以下是关于这些命令的详细介绍&#xff1a; 1. cat命令&#xff1a;用于查看…

JDK8的下载安装与环境变量配置教程

前言 官网下载&#xff1a;Java Archive Downloads - Java SE 8u211 and later 现在应该没人用32位的系统了吧&#xff0c;直接下载Windows x64 Installer jdk-8u391-windows-x64.exe 一、安装JDK 1. 打开jdk-8u391-windows-x64.exe 2. 直接下一步 3. 这个地方不要动他&…

鸿蒙OS开发实例:【瀑布流式图片浏览】

介绍 瀑布流式展示图片文字&#xff0c;在当前产品设计中已非常常见&#xff0c;本篇将介绍关于WaterFlow的图片浏览场景&#xff0c;顺便集成Video控件&#xff0c;以提高实践的趣味性 准备 请参照[官方指导]&#xff0c;创建一个Demo工程&#xff0c;选择Stage模型熟读Har…

构建操作可靠的数据流系统

文章目录 前言数据流动遇到的困难先从简单开始可靠性延迟丢失 性能性能损失性能——分层重试 可扩展性总结 前言 在流式架构中&#xff0c;任何对非功能性需求的漏洞都可能导致严重后果。如果数据工程师没有将可伸缩性、可靠性和可操作性等非功能性需求作为首要考虑因素来构建…

单例设计模式(3)

单例模式&#xff08;3&#xff09; 实现集群环境下的分布式单例类 如何理解单例模式中的唯一性&#xff1f; 单例模式创建的对象是进程唯一的。以springboot应用程序为例&#xff0c;他是一个进程&#xff0c;可能包含多个线程&#xff0c;单例代表在这个进程的某个类是唯一…

mybatis标签解析教程

mybatis标签解析 标签结构 我们在mapper的xml文件中&#xff0c;使用动态SQL&#xff0c;那么这些标签<where>、<if>、<set>、<ForEach>、<Choose>、<Trim> 等是怎么解析的呢&#xff1f;我们先看包的结构 包结构中&#xff0c;script…

【Qt】:多种方式编辑hello world

多种方式编辑hello world 一.QLabel二.对象树三.使用单行编辑框四.使用按钮 (小技巧&#xff1a;1.可以使用F4来进行头文件和对应cpp文件的切换&#xff1b;2.写完一个函数的声名之后,按下altenter,就可以自动的在对应的cpp 文件中添加函数的定义了.) 一.QLabel 注意这里是QSt…

第九届蓝桥杯大赛个人赛省赛(软件类)真题C 语言 A 组-分数

solution1 直观上的分数处理 #include <iostream> using namespace std; int main() {printf("1048575/524288");return 0; }#include<stdio.h> #include<math.h> typedef long long ll; struct fraction{ll up, down; }; ll gcd(ll a, ll b){if…

相册清理大师-手机重复照片整理、垃圾清理软件

相册清理大师是一款超级简单实用的照片视频整理工具。通过便捷的操作手势&#xff0c;帮助你极速整理相册中的照片和视频、释放手机存储空间。 【功能简介】 向上滑动&#xff1a;删除不要的照片 向左滑动&#xff1a;切换下一张照片 向右滑动&#xff1a;返回上一张照片 整理分…

【2023】kafka在linux和docker安装(kafka-1)

目录&#x1f4bb; 一、linux安装kafka1. 安装jdk2. 上传解压到/usr/local目录下3、使用kafka 二、docker安装kafka1. 下载2. 安装zookeeper3. 安装kafka 一、linux安装kafka 环境主机 mac m2、虚拟机Ubuntu22.04.4 1. 安装jdk yum install -y java-1.8.0-openjdk.x86_64下载k…

电商系统秒杀三 秒杀兜底方案之熔断降级

一 秒杀场景介绍 1.1 秒杀场景的特点 1、秒杀具有瞬时高并发的特点&#xff0c;秒杀请求在时间上高度集中于某一特定的时间点&#xff08;秒杀开始那一秒&#xff09;&#xff0c;这样一来&#xff0c;就会导致一个特别高的流量峰值&#xff0c;它对资源的消耗是瞬时的。 2、…

LATTICE进阶篇DDR2--(1)获取官网DDR2例程并仿真

前言 本章主要讲述如何从官网下载DDR2的DEMO例程&#xff0c;并将例程的仿真运行起来。 官网的DEMO在Diamond工程里是没有调用任何任何IP核的&#xff0c;只是在仿真的时候调用了CORE文件夹下的IP核源文件进行仿真&#xff0c;该DEMO工程主要是拿来产生仿真波形&#xff0c;对…

算法学习——LeetCode力扣图论篇2

算法学习——LeetCode力扣图论篇2 1020. 飞地的数量 1020. 飞地的数量 - 力扣&#xff08;LeetCode&#xff09; 描述 给你一个大小为 m x n 的二进制矩阵 grid &#xff0c;其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相…

这回轮到鸿蒙禁用安卓了!!!

1月18日&#xff0c;鸿蒙生态千帆仪式上&#xff0c;华为正式宣布了HarmonyOS NEXT&#xff08;下简称鸿蒙星河版或纯血鸿蒙&#xff09;开发者预览已向开发者开放申请&#xff0c;纯血鸿蒙开始走向普及阶段。伴随着不再兼容安卓的纯血鸿蒙铺开&#xff0c;鸿蒙走进了运营属于自…

本地虚拟机服务器修改站点根目录并使用域名访问的简单示例

说明&#xff1a;本文提及效果是使用vmware虚拟机&#xff0c;镜像文件是Rocky8.6 一、配置文件路径 1. /etc/httpd/conf/httpd.conf #主配置文件 2. /etc/httpd/conf.d/*.conf #调用配置文件 调用配置文件的使用&#xff1a; vim /etc/httpd/conf.d/webpage.conf 因为在主配…

python opencv之提取轮廓并拟合圆

图片存储地址为&#xff1a;C:\Users\Pictures\test.png&#xff0c;该图像图片背景是黑色的&#xff0c;目标区域是亮的&#xff0c;目标区域是两段圆弧和两段曲线构成的封闭区域&#xff0c;其中两段圆弧属于同一个圆&#xff0c;但在目标区域的相对位置&#xff0c;也就是不…

CrossOver软件2024免费 最新版本详细介绍 CrossOver软件好用吗 Mac电脑玩Windows游戏

CrossOver是一款由CodeWeavers公司开发的软件&#xff0c;它可以在Mac和Linux等操作系统上运行Windows软件&#xff0c;而无需在计算机上安装Windows操作系统。这款软件的核心技术是Wine&#xff0c;它是一种在Linux和macOS等操作系统上运行Windows应用程序的开源软件。 Cross…

Linux系统---如何理解Linux中的文件系统

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、理解文件系统 1.ls与stat 我们使用ls -l的时候看到的除了看到文件名&#xff0c;还看到了文件元数据。 每行包含7列…

rabbitMQ版本问题与下载

都到现在了&#xff0c;大家不会安装东西还是不看版本吧 云服务器买的是centos7&#xff0c;而erlang在24版本后不支持centos7了 所以需要找24版本以下的erlang&#xff0c;而不同erlang对应不同rabbitmq所以需要对应 下载erlang 说实话&#xff0c;自己安装&#xff0c;还是…