性能测试------LoadRunner 详解

性能测试------LoadRunner的使用

一、什么是LoadRunner

LoadRunner是一款由Micro Focus(以前是Hewlett-Packard或HP公司)开发的性能测试工具。它用于测试和分析系统在负载下的行为和性能。具体来说,LoadRunner可以模拟数千名用户同时访问应用程序,以测量和评估系统的性能表现,从而帮助识别性能瓶颈和系统容量

二、为什么使用LoadRunner

1)LoadRunner有非常强大的录制功能。

2)LoadRunner能模拟各种场景

3)LoadRunner可以产出非常详细的测试报告

【注】如果在做性能测试的时候,发现了软件的缺陷,此次是我们叫这个缺陷叫性能瓶颈

在性能测试的时候,开发修改这些瓶颈,不叫修复BUG也不叫修复瓶颈,而叫性能优化

三、LoadRunner三大组件之间的关系

LoadRunner安装完成之后,会有三个部分:

image-20240611105223038

这三大组件都是干什么的:

image-20240611105255160

他们之间的关系:

image-20240611105309682

四、LoadRunner的使用

了解WebTours这个网站

Web Tours是 loadrunner 自带的一个飞机订票系统网站;是一个常用于LoadRunner和其他性能测试工具的示例应用程序。它通常作为演示和学习的工具,帮助用户了解如何使用这些工具进行性能测试。

如何启动

首先,我们来到LoadRunner的安装目录下,找到 StartServer.bat,双击启动

image-20240611110417509

启动之后,就是这个界面:

image-20240611110630823

如何访问

在浏览器中输入 http://192.168.121.63:1080/WebTours/ 就可以访问了

192.168.121.63 是IP地址

1080 是默认的端口号

WebTours 是名字

image-20240611110803944

【注意】这个网址每次打开可能都不一样,记得看一眼

相关配置
端口

image-20240611111053417

用户名、密码

image-20240611111206785

image-20240611111304126

如果要自己添加,新建一个文件,在里面输入密码即可:

image-20240611111437190

脚本录制(Virtual User Generator)

脚本录制使用这个软件(VUG)

image-20240611111734327

创建文件

image-20240611112403169

image-20240611112608748

我们现在是Web项目,所以用这个:

image-20240611112705089

创建好之后,是这个界面:

image-20240611112853451

录制

image-20240611113132861

点击录制之后,会出来这个,并且也会自动打开你要访问的网站,接下来你在该网站上的一切操作都会被记录下来

image-20240611113327998

【注】在录制之前,若要访问WebTours这个网站,一定要先启动那个 .bat文件

点击停止录制后,就会出现这个界面,等他加载好,就算录制完成了

image-20240611124737472

编译

image-20240611125003000

也许有人会问,这写代码不都是他自动录制的吗,怎么还要编译检查一下呢?

上述代码确实是自动生成的,也不会出现错误,而编译是为了我们。在后续的操作中,我们是可以自己再添加一些代码的,比如事务,集合点等,编译是为了这些操作,防止由于疏忽,出现语法错误

运行

编译没有错误之后,我们就可以运行脚本了

image-20240611125504880

image-20240611135342103

执行日志:

image-20240611140653030

脚本加强

为什么要进行脚本加强?

录制好的脚本,使我们一个用户的操作,不能体现出来相关的性能指标。

通过对脚本进行加强,性能测试可以更真实地模拟用户行为,更准确地捕捉动态数据,更全面地覆盖测试场景,并提高脚本的可维护性和稳定性

插入事务

事务(Transaction):为了衡量服务器的性能,我们需要定义事务。比如:我们在脚本中有一个数据 查询操作,为了衡量服务器执行查询操作的性能,我们把这个操作定义为一个事务,这样在运行测试脚 本时,LoadRunner 运行到该事务的开始点时,LoadRunner 就会开始计时,直到运行到该事务的结束 点,计时结束。

表示:

开始事务lr_start_transaction("事务名字");

结束事务lr_end_transaction("事务名字", LR_AUTO);

【注】

  • 事务必须成对出现,有开始,有结束,不然会报错

  • 事务处理过程中不能插入其他影响时间的语句,因为最后结果会显示这个事务的时间,若。

  • 事务开始名称和事务结束名称必须相同。

插入事务有三种方式:

image-20240611162509364

②在需要插入的位置,右键点击Insert,选择事务

image-20240611162826592

③在这里搜索,然后双击就行了

image-20240611162617277

例子:我们在这里插入事务,看看执行效果

image-20240611161545508

image-20240611161907333

在LoadRunner中,事务的持续时间(Duration)通常 包括了整个事务执行过程中消耗的总时间,而 事务浪费时间(Wasted Time)指的是事务执行过程中不必要的等待时间或资源消耗时间。例如,某些系统调用或网络延迟可能导致的非必需时间消耗。让我们具体说明这些概念:

  1. Duration: 这是 事务从开始到结束的总时间,包括所有操作执行的时间以及任何可能的延迟时间。Duration是你用来评估事务整体性能的关键指标。

  2. Wasted Time: 这是事务执行过程中非必要的时间消耗,例如等待资源或网络延迟。Wasted Time通常是希望最小化的时间,因为它代表了不必要的性能损耗。

基于你的例子:

  • Duration: 0.1248秒: 这是事务的总持续时间,从开始到结束的完整时间。
  • Wasted Time: 0.0010秒: 这是事务中不必要的消耗时间。

因此,事务的持续时间通常包含了浪费时间。也就是说,Duration包括了Wasted Time。要了解事务的有效执行时间,可以通过减去浪费时间来计算:

有效时间=Duration−Wasted Time

对于你这个例子:

有效时间=0.1248−0.0010=0.1238秒

所以,事务的持续时间0.1248秒包括了0.0010秒的浪费时间,剩下的时间是事务的实际执行时间。

插入集合点

**集合点(Rendezvous Point)**是一个用于控制并发用户行为的功能。通过设置集合点,可以让多个虚拟用户(VUsers)在脚本的某个特定点暂停,直到达到设定的用户数量,然后同时继续执行后续操作。

这对于模拟高负载条件下的并发用户行为和测试系统的性能和稳定性非常有用。

表示:lr_rendezvous("集合点名字");

例子:

image-20240611163516681

插入检查点

插入检查点是为了验证在性能测试的时候,页面元素是否渲染正确

比如:假设,我们在性能测试的时候打开了百度的搜索界面,检查一下百度这两个字是否在页面出现了,用于初步按断这个页面是正确的

表示方法web_reg_find

image-20240611164548603

点击OK之后,会生成相应的代码:

image-20240611164617834

参数化

参数化是性能测试和负载测试中的一个关键技术,它的主要目的是通过使用动态数据替换脚本中的硬编码值,从而实现更真实、更全面的测试。

比如:在做性能测试的时候,需要大量的用户数据,这个数据不可能通过copy大量重复代码来完成

参数化的具体方法:

这里以例子的形式来讲解,比如我们模拟多个用户登录,就需要多个账号密码,这时候,就可以使用参数化,让登录名和密码都是一个参数,然后设置好参数的值

image-20240611170701474

image-20240611171246820

同样,把密码也参数化

image-20240611171712648

替换后的效果:

image-20240611171739641

设置数据源:上面只是把原来的文本用参数进行了替代,但是要想从我们设置好的文件中获取参数的值,还需要设置一下

image-20240611172459488

设置运行参数个数:

VUG 默认只会运行一个参数,因此我们还需要设置一下运行的参数个数

image-20240611172639968

这样,就实现了两个用户登录:

image-20240611172718651

image-20240611172725585

打印日志

记录日志:lr_log_message("要记录的内容")

输出语句:lr_output_message("要输出的内容")

他俩的区别是:

lr_log_message 用于将消息记录到日志文件中。它适用于需要详细记录测试过程中的事件或调试信息,而这些信息不一定需要显示在运行时的控制台上。

lr_output_message 用于将消息输出到LoadRunner控制台(或VuGen的输出窗口),并且也会记录在日志文件中。它适用于需要在运行时立即查看的信息,例如关键步骤的状态或错误消息。

栗子:在输出方式上是不同的

image-20240611173506888

字符串相关函数

几个常用的:

strcmp // 比较两个字符串
strcpy // 拷贝字符串
strcat // 连接两个字符串

栗子:

一定需要显示在运行时的控制台上。

lr_output_message 用于将消息输出到LoadRunner控制台(或VuGen的输出窗口),并且也会记录在日志文件中。它适用于需要在运行时立即查看的信息,例如关键步骤的状态或错误消息。

栗子:在输出方式上是不同的

[外链图片转存中…(img-ZKCSD9N7-1718110952890)]

字符串相关函数

几个常用的:

strcmp // 比较两个字符串
strcpy // 拷贝字符串
strcat // 连接两个字符串

栗子:

image-20240611193844590

  • 48
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
LoadRunner是一款功能强大的性能测试工具,可以模拟多种不同的负载情况,对应用程序进行压力测试、性能测试、负载测试和容量规划等。在LoadRunner中,测试人员可以使用多种协议(如HTTP、HTTPS、FTP、SMTP、POP3、IMAP、Oracle、SAP、Citrix等)来模拟不同的应用程序行为。 LoadRunner的工作原理是通过模拟真实用户的行为,通过不同的协议和脚本来模拟用户访问应用程序的过程。LoadRunner的测试流程一般包括以下几个步骤: 1. 计划测试:定义测试目标、测试场景、测试脚本以及测试负载等。 2. 脚本录制:使用LoadRunner提供的录制工具,记录用户在应用程序中的操作过程。 3. 脚本编辑:对录制的脚本进行编辑和修改,以满足测试需求。 4. 参数化:对脚本中的一些参数进行参数化,使测试脚本具有更好的复用性和可维护性。 5. 调试脚本:对脚本进行调试和验证,确保脚本能够正确地模拟用户的行为。 6. 配置场景:配置测试场景,包括虚拟用户、并发用户数、测试持续时间、测试负载等。 7. 执行测试:执行测试并收集测试数据,包括响应时间、吞吐量、错误率、CPU利用率、内存使用率等。 8. 分析测试结果:对测试数据进行分析和比较,以评估应用程序的性能和可靠性,并识别性能瓶颈。 总之,LoadRunner是一个功能强大、灵活性高的性能测试工具,它可以模拟多种不同的负载情况,对应用程序进行全方位的性能测试和容量规划。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如果Null没有null

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值