测开(性能测试---LoadRunner)

news2024/11/17 17:29:21

 

目录

一、LoadRunner的安装

二、Loadrunner的基本概念

三、开发测试脚本——VUG

3.1 脚本录制

3.2 脚本加强

四、设计场景——Controller


        LoadRunner是一款开源桌面应用软件,可用来模拟用户负载完成性能测试工作,LoadRunner的功能在版本不断升级的过程中已经十分强大,现在很多互联网公司都在使用LoadRunner来完成产品或者 Loadrunner是业界公认的权威性能测试工具,被誉为工业级的性能测试工具,支持广泛的协议和平台。

本节主要介绍以下内容:

  • LoadRunner安装
  • LoadRunner的基本概念
  • 开发测试脚本

一、LoadRunner的安装

现在以Loadrunner12为例,说明一下安装过程。

1、双击HP LoadRunner 12.53 Community Edition.exe启动安装程序

2、安装程序开始解压,选择默认路径即可,点击install

3、Loadrunner程序会使用到Visual C++的库,如果缺少这些库,安装程序会提示安装,这时选择“确定”进行安装即可,过程中如果提示重启,按要求重启即可,重启后会继续进行安装过程。

4、安装过程中会有如下的提示。若无指定代理使用的证书,则去掉勾选。

整个安装过程比较慢,耐心等待~~~

安装完成后,界面出现三个图标,如图:

 


二、Loadrunner的基本概念

功能:LoadRunner是一种适用于许多软件体系架构的自动负载测试工具,从用户关注的响应时间、吞吐量, 并发用户和性能计数器等方面来衡量系统的性能表现,辅助用户进行系统性能的优化。

原理:LR启动以后,在任务栏会有一个Agent进程,通过Agent进程,监视各种协议的Client与Server端的通讯,用LR的一套C语言函数来录制脚本,所以只要LR支持的协议,就不会存在录制不到的,然后LR调用这些脚本向服务器端发出请求,接受服务器的响应。至于服务器内部如何处理,它不关心。 LoadRunner通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,优化性能和加速 应用系统的发布周期。

组成:LoadRunner主要包括三个前台功能组件,分别为VuGen(虚拟用户脚本生成器)、Controller(测试控制器)和Analysis(结果分析器)。系统会自动调用后台功能组件LG(负载生成器)和Proxy(用户代 理)来完成性能测试工作。

  • VuGen 是录制与便携脚本的地方。通过录制或编写脚本来模拟用户的行为。
  • Controller是执行负载测试管理和监控的中心。在这里指定具体的性能测试方案,执行性能测试,收集测试数据,监控测试指标。监控工具将测试过程中收集到的客户机、服务器和网络性能指标数据显示在监控页面上,便于测试人员对系统表现进行随时掌握。
  • LG是模拟多用户并发访问被测试系统的组件。模拟多用户访问系统的前提是已经具备了虚拟用户脚本,VuGen 是录制和编辑虚拟用户脚本的工具,录制好的脚本是不同语言表达的文本文件,在LG执行时被解析和执行。脚本录制和回放过程是在Proxy支持下完成的。 Analysis在测试完成后,对测试过程中收集到的各种性能数据进行计算、汇总和处理,生成各种图表和报告,为系统性能测试结果分析提供支持。

在使用loadrunner之前,先了解一下几个概念:

  • Scenario:场景。所谓场景,是指在每一个测试过程中发生的事件。
  • Vusers:虚拟用户。LoadRunner使用多线程或多进程来模拟用户对应用程序操作时产生的压力。 一个场景可能包括多个虚拟用户,甚至成千上万个虚拟用户。
  • Vuser Script:脚本。用脚本来描述Vuser在场景中执行的动作。
  • Transactions:事务。事务代表了用户的某个业务过程,需要衡量这些业务过程的性能。
  • rendezvous :集合。当我们测试多个用户并发时,每个用户执行到该事务脚本的先后顺序是不确 定的,所以得到的测试结果也并不是一个完全 并发的极限测试结果。在开始事务之前 ,插入一 个“集合点”,那么在多用户执行时,就可以将用户请求停下来,直到用户数量达到满足的条件(默认是100%的用户都到达集合点)。那么,所有的用户都将同时发出接下来的请求。

三、开发测试脚本——VUG

3.1 脚本录制

下面以Loadrunner安装时附带的样例程序Web Tours进行讲解。 选择StartServer.bat启动服务。

1、启动 Visual User Generator 后,选择新建脚本,因为要测试的是web项目,所以选择协议为Web-HTTP/HTML,点击创建后,进入主窗体

2、在解决方案资源管理器中可以看到该脚本的组成部分。简单说明一下:VuGen 中的脚本分为三部 分:vuser_init、vuser_end 和Action。vuser_init用于用户初始化,vuser_end用于用户清理工作。 Action用于具体的需要测试的操作。类似于unittest等测试框架。

举例说明:

         一个测试场景为:用户登录系统,进行搜索操作,再进行退出系统。 这里,一般将登陆放置到vuser_init,退出放置到vuser_end,搜索放置到Action。

注意:在重复执行测试脚本时,vuser_init 和vuser_end 中的内容只会执行一次,重复执行的只是 Action 中的部分。

3、选择录制操作,可以开始一次录制操作,在录制中需要填写URL,这里以127.0.0.1:1080/We bTours/为例。录制到操作说明是将脚本放置到哪里。在录制中也可以修改脚本放置的地方。 已注册的用户名和密码查看地址:LoadRunner\WebTours\cgi-bin\users 开始录制中

“立即”默认情况下是选中的,说明应用程序一旦启动,VuGen 就会开始录制脚本;如果没有选中,应用程序启动后, VuGen 出现对话框,待确认后才开始录制。一般默认即可。

如果Action里没代码,勾选一下设置


3.2 脚本加强

问题1:为什么对脚本进行加强

监控性能测试的各项指标(​并发用户数、响应时间 / 平均响应时间、事务、点击率、吞吐量、思考时间、 资源利用率)

问题2:脚本如何进行加强

1、插入事务

2、插入集合点

3、插入检查点

4、参数化

5、打印日志


四、设计场景——Controller

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

B-5:网络安全事件响应

B-5:网络安全事件响应 任务环境说明: 服务器场景:Server2216(开放链接) 用户名:root密码:123456 1.黑客通过网络攻入本地服务器,通过特殊手段在系统中建立了多个异常进程,找出启动异常进程的脚本,并将其绝对路径作为Flag值提交; 通过nmap扫描我们发现开启了22端口,…

Camtasia Studio2024中文版下载安装图文教程

Camtasia Studio2024是TechSmith旗下的一套专业屏幕录像软件,同时包含Camtasia 录像器、Camtasia Studio2024(编辑器)、Camtasia 菜单制作器、Camtasia 剧场、Camtasia 播放器和Screencast的内置功能。在这里我亲测安装了Camtasia2024版本&am…

砷化镓(GaAs)纳米线 砷化镓纳米线 GaAs纳米线 瑞禧

砷化镓(GaAs)纳米线 名称:砷化镓(GaAs)纳米线 直径:50-400 nm 长度:10-80μm 纳米线是一种新型的材料结构,具有较小的直径和高的长度比,因此在纳米电子学、光电器件等领域有着广泛的应用前景…

react路由懒加载lazy直接使用组件标签引发的问题?

文章 前言错误场景解决方案问题分析后言 前言 ✨他们是天生勇敢的开发者,我们创造bug,传播bug,毫不留情地消灭bug,在这个过程中我们创造了很多bug以供娱乐。 ✨ 这里是前端的一些bug 感兴趣的可以看看前端bug 错误场景 在react18t…

K8S删除资源后一直处于Terminating状态无法删除解决方法

原因 使用kubectl delete 删除某命名空间是一直处于Terminating状态无法删除,首先排查了该命名空间下是否还存在deployment pod等资源发现没有后,等了很久还是无法删除后发现是因为该名称空间的“finalizers”字段有值导致 Finalizer(终结器…

从单模态到多模态,自主AI离我们还有多远?

一、从AI的诞生和发展说起 人工智能的发展,从思想诞生上,可以追逐到十七世纪的帕斯卡和莱布尼茨,1666年,德国博学家戈特弗里德威廉莱布尼茨发表了一篇题为《论组合的艺术》的神秘论文。当时的莱布尼茨只有20岁,他概述了…

HarmonyOS开发:开源一个刷新加载组件

前言 系统Api中提供了下拉刷新组件Refresh,使用起来也是非常的好用,但是风格和日常的开发,有着巨大的出入,效果如下: 显然上面的效果是很难满足我们实际的需求的,奈何也没有提供的属性可以更改,…

Qt实现的自定义登录框连接MySQL(完整的实现过程)

一.开始创建项目 1.创建Qt窗口应用项目: 2.输入文件名、选择项目将要保存的地址 3.构造系统选择qmake 4.类名使用默认的就好,点击继续完成项目的创建 5.创建好的项目如下 二.创建一个资源管理文件 三.创建一个登录对话框窗口 1.选择一个ui界面类 2.选择Dialog without Butt…

【字符指针等_例题详解】

文章目录 前言例题一 :下面关于“指针”的描述不正确的是例题二:下面代码描述正确的是例题三:关于数组指针描述正确的是例题四:下面哪个是数组指针例题五: 下面哪个是函数指针例题六: 定义一个函数指针&…

python实现Excel自动化办公

准备工作 安装相关模块 pip install openpyxl lxml pillow 基本定义 工作簿:一个电子表文件为一个工作簿 活动表:用户当前查看的表活关闭Excel最后查看的表 sheet表 单元格 Excel数据读取操作 打开工作簿并创建一个对象: wb openpyxl.loa…

【2021ICPC沈阳】EFBJHL

不知道为什么感觉以前的场要比现在的简单一点,虽然这场VP虽然题数到了但是还是差点罚时.... 现在的有些场感觉连签到都要签半天,比如前几天的ICPC西安和CCPC桂林,看了下题都不简单 这场甚至银牌题都没什么思维,只需要算法的板子…

mmcv中出现TypeError: FormatCode() got an unexpected keyword argument ‘verify‘

最近安装Co-DETR项目环境时遇到如下的问题 主要是因为最新版的yapf(0.40.2)中删除了verify的验证功能 将其降级为旧版即可: pip install yapf0.40.0

照片去文字水印怎么弄?这三个方法快学起来

照片去文字水印怎么弄?你有没有遇到过这样的烦恼呢?我经常在网上找一些好看的照片来做头像或者壁纸,但是总是遇到一些带水印或者不想要的文字的照片,影响了整体的美观度让人很头疼,每次重新找又得花费不少时间和精力&a…

真心话坦白局系统源码

它具有匿名信息的神秘感 但又会给你一点小提示 能让你有无限挖掘下去的好奇感 也能让你说出那些不敢说出口的话 敢来一场坦白局吗! 坦白局这个功能类似于悄悄话,只不过是匿名的悄悄话。 有时候我们有些话是开不了口的,坦白局给了我们一个…

每日汇评:黄金多头重回2000美元,接下来会发生什么?

受地缘政治因素影响,金价守住了上周五2000美元上方的强劲涨幅; 美元持稳,因为美国债券市场的行动是美联储本周的关键; 由于可能出现牛十字,黄金价格有望进一步上涨,牛旗仍在图表中延续; 继上周五…

vue3 vue3-particles粒子使用方法

注意:这个vue3-particles和particles.vue3有些许差别的(安装、引入方式) particles.vue3示例:vue3 使用particles插件粒子_vueparticles_余温无痕的博客-CSDN博客 下面是vue3-particles使用介绍 先看效果,背景图是自…

Qt3D绘制旋转立方体

近期用了款叫DesktopSpace,也想实现一下这款软件实现的效果 具体实现步骤: 使用Qt3D绘制个旋转的立方体(一)使用快捷键控制立方体显示面(二)创建6个人虚拟桌面,截取不同虚拟桌面,显示在不同的面…

15、SpringCloud -- 延迟消息、异步下单失败处理方案

目录 延迟消息需求理解:思路:代码:发送延迟消息消费延迟消息:1、订单支付状态:2、回补真实库存:3、回补预库存:4、修改本地标识:测试:清除MQ数据:期望结果:实际结果:问题:异步下单失败需求1:代码:发送消息:消费消息:测试:需求2:延迟消息 需求理解: 用户成…

从制造到创造:揭示中国制造的基础瓶颈及其突破

中国制造的产品遍布全球,但很多人认为中国制造的产品缺乏基础,这是为什么呢?本文将从制造的基础入手,探讨中国制造缺乏基础的原因。 一、制造的基础 制造的基础是工艺,工艺的基础包括三个方面:基础材料的研…

如何将word格式的文档转换成markdown格式的文档

如何将word格式的文档转换成markdown格式的文档 前言 A. 介绍Markdown和Word格式文档 什么是Markdown? Markdown是一种轻量级标记语言,旨在简化文本格式化和排版的过程。它以纯文本形式编写,通过使用简单的标记语法,使文档更具…