• 13
  • 13
分享

简介

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

LR与JM对比

1.jpg

组成

Vuser GeneratorC语言脚本开发的
Controller指挥官的作用,控制执行场景
Analysis收集测试数据,进行结果分析的

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

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

使用Loadrunner的步骤

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

2.png

为什么用事务

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

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

1.创建

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

4.jpg

对于常用的应用软件,我们可以根据被测应用是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录制的对话框。

5.jpg

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;

6.jpg

建议:

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

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

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

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

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

7.jpg

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

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

4.点击录制

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

8.jpg

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

熟悉两种脚本查看方式:

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

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

二、增强/编辑脚本

1.插入事务

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

录制加入方式:

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

在脚本的插入方式为:

插入事务起始点:

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

lr_start_transaction(“登录”);

插入事务结束点:

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

lr_end_transaction(“登录”,LR_AUTO);

9.jpg

2.参数化

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

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

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

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

9.jpg

10.jpg

11.jpg

12.jpg

13.jpg


作者:花小田

原文链接:https://blog.csdn.net/u013440574/article/details/82388679

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 常见的功能测试的流程是:需求分析,用例编写,用例评审,提测验证,Bug 回归验证,上线与线上回归。但是做起来就是:写不完的用例,跑不完的case,天天都要加班。我以功能测试的工作流程,结合实际的工作内容,来具体细说一下做好功能测试的建议:一、需求分析首先一般大家接触到的都是产品主导型的开发模式,其中需求和项目,作为测试是没办法去主导的。这个时候就需要开展需求会议,来让团队中的各个成员来充分理解需求。注意,需求会上没有澄清的一个小点,都会成为日后你工作中一个巨大的坑。在需求评审中,你需要做的是提前阅读需求文档,把问题点都记录下来,然后在会上对描述不清晰、不便于设计用例、测试点不明确的地方都要抛出...
            2 1 1981
            分享
          • 首先我们先明确测试用例是什么?个人觉得测试用例应该有:标题,测试目的,前提(预设条件),测试步骤,预期结果等。测试人员可以根据测试用例的这些要素,可以执行测试。那么它在软件测试流程中是必需的吗?先分享下个人关于测试用例方面的经历:A公司和B公司。A公司有完备的大型软件开发流程,产品有自己完备的测试用例库和测试用例管理规范,在项目中也有测试用例的输出阶段:功能需求和概要设计出来以后,测试人员就根据这些输入开始着手准备测试用例,接下来还会经历测试用例点的评审和测试用例的定稿阶段,测试人员根据完成的用例执行测试。在项目发布之后,还会预留时间对测试用例进行修改入库。这些入库的测试用例会作为回归测试的全...
            1 1 3768
            分享
          •   谷歌要推出类似ChatGPT的聊天机器人了。不仅和ChatGPT进行了对比测试,还测试了一种新的问答式搜索界面。谷歌(108.8, 7.37, 7.27%)CEO皮查伊还将其称为“搜索伴侣”(a companion to search),目的很明确。  Gmail的缔造者保罗?布赫海特(Paul Buchheit)在社交媒体上发文,表达了对谷歌有可能被ChatGPT之类的聊天机器人取代的担忧。  他说,正像谷歌搜索当年取代黄页那样,谷歌搜索一两年内也有可能被ChatGPT取代。  谷歌赚钱的最大法门就在于搜索引擎的结果展示页面(信息分发),而ChatGPT的横空出世会改变这个页面展示方式。...
            0 0 751
            分享
          • 补充背景:系统 A 与 系统 B 数据交互的方式:系统 A 直连系统 B 的数据库。读者提问:我们团队负责测试的系统A,数据源来自兄弟团队负责测试的系统B。现在存在的问题是:系统B 的生产环境和测试环境都是生产数据,我们在测试环境没有数据可测,只能上生产验证。有什么解决办法吗?阿常回答:短期解决方案:在你们系统 A 的测试环境同步一份系统 B 的生产环境数据。长期解决方案:搭建大数据平台,将所有上游系统的数据都同步到你们的大数据平台。读者朋友阿朵问阿常上述问题:测试环境没有上游系统的数据,怎么办 ?阿朵负责测试系统 A,今天领导给她安排了一个新任务,系统 A 要新对接一个系统 B,系统 A 从...
            0 0 1528
            分享
          •   对于“自己适不适合转行做软件测试?”一直都是测试行业里的热门话题。随着近几 年IT互联网行业的快速发展,软件测试岗位也受到越来越多人的关注,因此有很多人都想要从事这一行业,这里主要分为两类人,一种是刚毕业的应届生,对于很多毕业大学生来说毕业等于失业;另外一种是在其他行业,没有前景没有未来,想要转行。  一、如何判断自己适不适合做软件测试?  其实对于这个问题,除了一小部分人真的在这方面有特别突出的天赋以外,是没有严格区分适合与不适合的。想大家看到的大多数软件测试行业大佬都是从小白菜鸟慢慢成长过来的。其实只要你下定决心想要去学习并坚持,你就是适合的。一名软件测试人员身上具备很多显性特征,下面...
            0 0 831
            分享
      • 51testing软件测试圈微信