性能测试常见用语

并发用户数量:与服务器进行交互的在线用户数量

请求响应时间:从客户端发出请求到得到响应的整个时间。一般包括网络响应时间+server的响应时间

事务响应时间:完成这个事务所用的时间。这个是性能测试中重点关注的指标

吞吐率:单位时间在网络上传输的数据量。这个是衡量网络性能的主要指标

TPS:每秒钟系统能够处理事务的数量。

点击率:每秒发送的http请求的数量,点击率越大对server的压力也就越大

资源利用率:对不同资源的使用程度,比如服务器的CPU,内存等。

LR目录分析

了解软件安装后目录结果的必要性

学习一个软件的使用应该从最基本的结构学起—它的目录。

Analysis templates—分析模板

Bin—可执行程序,注意里面的chm帮助文档

Bincerts—安全证书

Classes—可能用到的jar包

Dat—配置,备份等信息

Ejbcomponent—ejb的相关jar包

Help—帮助中心

Include—头文件(可以编写自定义函数,保存成.h的头文件形式并放在这个目录,以后就只需要调用这个头文件就可以方便的使用了)

Samples—java

Tutorial—快速入门的实例

Webtours—实例网站

LR界面分析

Virtual User Generator

注意:VuGen、仅能录制windows平台上的会话,但是录制的vuser脚本既可以在windows上也可以在linux上

新建脚本的方式

新建单协议脚本

新建多协议脚本

使用最近使用过的协议新建脚本

 

协议类型

应用程序部署解决方案:Citrix ICA

客户端/服务器

自定义

分布式组件

电子商务

Enterprise JavaBean:

ERP/CRM

传统:终端仿真(RTE)

邮件服务:

中间件

数据流

无线

 

Task模式

给你一步一步的提示,只需按照提示进行下一步即可

适用于LR的初学者

 

Recording Options 选项

以单协议http/html为例

  1. 菜单tools—>Recording  Options进入录制的设置窗体
  2. Recording标签页:选用哪种录制方式
  3. Browser标签页:浏览器的选择
  4. Recording Proxy标签页:浏览器上的代理设置
  5. Advanced标签页:可以设置录制时的think time,支持的字符集标准等
  6. Correlation标签页:手工设置关联,通过关联可在测试执行过程中保存动态值。使用这些设置可以配置VuGen在录制过程中执行的自动关联的程度。

 

Run-Time Setting 选项(在Vuser栏目下)红色代表常用的

  1. run Logic:用来设置Action部分重复运行几次
  2. Pacing:用来设置以怎样一种方式开始下一次反复
  3. Log:设置是否启用日志
  4. Think Time:关于脚本中think time的设置
  5. Miscellaneous:配置其他运行时设置
  6. Speed Simulation:用来模拟网速
  7. Browser Emualation:设置浏览器仿真属性
  8. Proxy:设置代理

Controller

可以使用LR 来管理和维护方案

LR可以从一个单一的控制点简单有效的控制所有的Vuser

创建运行场景

创建手动的:通过创建并制定脚本、负载生成器和每个组中包括的Vuser数,可以生成手动方案。也可以通过“百分比模式”定义要在方案中使用的Vuser的总数,并为每个脚本分配负载生成器和占总数一定百分比的Vuser。

需要注意的:

  1. 持续时间设置将覆盖Vuser迭代设置。这意味着,如果将持续时间设置为5分钟,那么Vuser将继续在五分钟时间内运行尽可能多的迭代,即使运行时设置仅指定一次迭代。
  2. Vuser组设置不适用于百分比模式。

创建面向目标的

  1. 在面向目标的方案中,您可以定义您希望实现的测试目标,LR将根据定义的目标自动为您创建一个方案
  2. 在一个面向目标的方案中,您可以定义五中类型的目标:虚拟用户数、每秒点击次数(仅web Vuser)、每秒事务数、每分钟页面数(仅web Vuser)或方案的事务响应时间
  3. 使用“编辑方案目标”对话框可以对方案目标进行定义
  4. 注意:要定义每秒事务数或事务响应时间目标类型,脚本中必须包含事务。对于每种目标类型,您可以定义脚本中希望测试的事务。

方案设置

  1. 在”方案设置”选项卡中,您可以设置方案在达到目标后继续运行的时间长度,以及方案无法达到目标时是否继续。
  2. 达到目标后在运行:设置方案在达到目标后继续运行的时间长度。
  3. 如果无法达到目标:选择下面两个选项中的一个:

A. 停止方案并保存结果:若无法达到您定义的目标,指示Controller停止方案并保存方案结果。

B. 继续运行方案,无需达到目标:指示Controller继续运行方案,即使无法达到设定的目标。

运行方案

1.运行方案时,会为Vuser组分配负载生成器并执行它们的Vuser脚本。在方案执行期间,LR将:

记录在Vuser脚本中定义的事务的持续时间

执行包括在Vuser脚本中的集合

收集Vuser生成的错误、警告和通知消息

2.在方案运行时,您可以监视每个Vuser、查看由Vuser生成的错误、警告和通知消息以及停止Vuser组和哥哥Vuser。可以指示LR允许单个Vuser或组中的Vuser在停止前完成它们正在运行的迭代、在停止前完成它们正在运行的操作或立即停止运行

Results setting

Results—Results setting设置

建议Results name 命名方式为:场景运行时间_脚本名称_虚拟用户数_场景持续时间

监视方案

1、  可以使用LR联机运行时、事务、web资源、系统资源、网络延迟、防火墙服务器资源、web服务器资源、web应用程序服务器资源、数据库服务器资源、流媒体资源、ERP/CRM服务器资源、Java性能、应用程序部署和中间件性能监视器来监视方案执行。

2、  LR提供下列联机监视器:“运行时”监视器显示参与方案的Vuser的数目和状态,以及Vuser所生成的错误数量和类型。此外还提供用户定义的数据点图,其中显示Vuser脚本中的用户定义点的实时值。

关于系统资源监视

1、  影响事务响应时间的一个主要因素是系统资源使用率

2、  使用LR资源监视器,可以在方案运行期间监视计算机上的windows、unix、SNMP、AntaraFlame Thrower和SiteScope资源,并可以确定特定计算机上为何出现瓶颈。

Analysis基础知识

1.创建会话

  在运行方案时,数据将存储在结果文件中,扩展名为.lrr.Analysis将活动图的显示信息和布局设置存储在扩展名为.lra的文件中。

2.启动Analysis

      LR选择“Analysis”程序。有可以从Controller打开。

3.整理结果

      方案执行之后,这些结果会自动进行整理或合并,即将所有主机的结果传输到结果目录中。通过在Controller窗口中选择Result > Auto collate Results.

了解Analysis报告

  1. 运行方案后,您可以查看对系统性能进行汇总的报告。Analysis提供一下报告工具:摘要报告、HTML报告、事务报告
  2. 摘要报告通过有关方案运行的一般信息。您可以随时从Analysis窗口中查看摘要报告
  3. 您可以指示Analysis创建HTML报告。Analysis将为每个打开的图创建HTML报告。
  4. 事务报告提供有关Vuser脚本中定义的事务的性能信息。这些报告为您提供结果的统计信息细分,并允许您打印和导出数据。

 

Analysis分析基础

  1. 查看summary。主要是虚拟用户数和事务。
  2. 查看负载生成器和服务器的系统资源情况。如CPU、内存等。往往内存的泄露表现在Cpu利用率过高。
  3. 查看虚拟用户和事务
  4. 查看错误发生情况
  5. 查看web资源 和细分网页

IP欺骗、

设置方法:

  1. LR—tools—ip wizard
  2. 在Controller的scenario中启用IP欺骗(必须在连接到Load generator前启用IP欺骗)
  3. Tools—expert mode
  4. Tools—options—general
  5. 测试结束后要释放IP也是在LR—tools—IP wizard 中操作

Tips:

  1. 必须是固定IP,不支持动态IP
  2. 重启计算机后可用ipconfig –all查看IP信息

LR常用术语

 

场景

在LR中主要表现为Controller中设计与执行测试用例中的用户场景。主要工作有,在Controller中选择虚拟用户脚本、设置虚拟用户数量、配置虚拟用户运行时的行为、选择负载发生器、设置执行时间等。

负载发生器

   用来产生压力的真实机器,受Controller控制,可以使用户脚本在不同的主机上执行。在性能测试工作中,通畅由一个Controller控制多个load generator 以对被测试系统进行加压。

 

虚拟用户

   对应于现实中的真实用户,使用LR模拟的用户称为虚拟用户。其本质是通过虚拟用户脚本来模拟真正用户的行为。

 

虚拟用户脚本

    通过Vuser Generator 录制或开发的脚本。这些脚本用来模拟用户的行为。

 

事务

     LR通过事务来衡量服务器的性能。在业务上事务通常是用户的一个或一系列操作,代表一定的功能,而在程序上则表现为一段代码区块。测试人员可以将一个或多个操作步骤定义为一个事务,以便衡量这部分的用户并发响应时间。

 

思考时间

  为了模拟时更加接近用户的真实行为而引进的概念。在实际中,用户进行一系列操作后往往会进行处理,例如浏览网页内容,而处理过程对服务器是没有压力的。因此在虚拟用户脚本中用函数lr_think_time(double time)来模拟用户处理过程,执行该函数时用户线程会按照相应的time值进行等待。

 

集合点

      对应于真实用户中的并发点。LR通过集合点实现了真正意义的并发。集合点在虚拟用户脚本中对应函数LR_rendezvous(constchar* rendezvous_name),当执行到该函数时会按照场景的并发策略来执行。

 

事务响应时间

      是一个统计量,是评价系统性能的重要参数。定义好事务后,在场景执行过程和测试结果分析中即可以看到对应事务的响应时间。通过对关键或核心事务的执行情况进行分析,可以快速定位性能问题。

 

 

     HP WEB TOURS分析

  1. 1.       启动web tours

开始—LR—Sample—web

先把web tour服务起来

然后在打开web tours网站

如果在web服务器已经启动的情况下,在启动该服务器将会报错

  1. 2.       首页结构

登录页面的测试用例考虑,测试点的考虑

  1. 3.       预定机票

    

     LR录制测试脚本

 

     录制的业务流程介绍

      登录

航班,选择的信息如下:出发城市:丹佛(默认设置),出发日期:保持默认设置,达到城市:洛杉矶,返回日期:保持默认设置,座位首选项:过道

其余保持默认,点击continue

进入选择航班页面,保持默认设置,点击continue

进入付费信息并预定航班:在信用卡中输入:12345678 在输出日期中输入:10/08,点击continue

进入发票页,并显示你的发票信息

       点击左侧的航程按钮,可以查看信息

最后点击sign off

保存文件为basic_turorial

 

      录制脚本

      启动VuGen

输入URL

按照业务流程进行录制

     

查看脚本

可以通过tree view 和script view来查看录制成功后的脚本

LR回访测试脚本

设置run time settings

1.Vuser-----run-time settings

2.运行迭代次数设置为2

3.“步”设置为random(随机)

4.“日志”选择扩展日志并输出参数

5.think time默认,将在Controller中设置它

实时观察回访的图像

ToolsGeneral Options

 

回放脚本

待上述设置完成后,我们可以点击回放按钮进行脚本的回放

 

查看Results

1.View—Test Result

2.通过筛选器可以选出满足你设置的条件的结果

WebHttp/HTML)协议的两种录制方式(Toolsrecording OptionsRecording

1、      脚本录制的基本原则

充分考虑脚本的执行效率:性能测试脚本关注的是如何模拟用户的真实行为。因此,用于测试的脚本应该接近用户的真正操作。这就是要求录制后的脚本在修改的过程中不要增加过多内容,尤其是不能降低其效率。例如尽量不要增加循环、检查等操作,除非这些操作是必须的。

录制重要的用户业务:要录制常用的、使用频率较高的业务来进行测试,不要一股脑的什么都录制。

选择你需要的进行录制:在web性能测试中,如果有些操作用于用户所关注的事务没有什么影响,那么可以不进行录制。例如一些查询事务中,选择查询条件页面的请求过程可以不录制,但对于一些要传递查询参数的过程则必须录制。

录制前对参数进行正确的配置

2、      HTMLURL based script介绍

Html based script可以为每个用户请求生成单独的函数。

URL based script可以捕获所有作为用户操作的结果发送到服务器的http请求,然后一条条记录下来。它设置可以捕获非HTML应用程序,比如小程序和非浏览器应用程序。

            HTML 这种录制方式录制出来的脚本直观,易于理解和维护。而URL生成的脚本看起来比较长比较多。

3、      选择录制方式的原则

  1. 基于浏览器的应用程序推荐使用HTML-based script
  2. 不是基于浏览器的应用程序推荐使用URL-based script
  3. 如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based方式录制。
  4. 基于浏览器的应用程序中使用了https安全协议,使用URL-based方式录制
  5. 对于初学者来说,如果HTMl方式录制不成功可以换成URL方式录制。

4、      HTML based script设置介绍

  1. 用来描述用户行为的脚本。直接创建的URLweb_url)、表单提交(web_submit_form)、连接(web_link)和图像(web_image)等函数

     2.  仅包含明确的URL脚本。这种脚本中,所有的链接、图像请求和URL操作都被录制为web_url函数,而表单提交则被录制为web_submit_data函数。

转载于:https://www.cnblogs.com/shixiaoshi/p/4601878.html

小强老师的零基础学习软件测试之LR笔记相关推荐

  1. python从入门到秃头_六星教育helen老师:零基础学习python,最好先掌握flask框架...

    老夫掐指一算,距离农历过年不到80天啦! 敢问各位慌不慌. 过年可谓是苦乐相伴.一边是亲人团聚,全家团圆,每天睡到自然醒.一边是工资多少啊?结婚了吗?娃生了吗?二娃生了吗?三姑六婆的连环夺命问,逼着我 ...

  2. html标签强制转换位置,王老师html零基础学习笔记第4课——样式初始化+类型转化...

    摘要: 前端0基础到这个时候常用的标签基本结束,涉及稍微"高级"点的标签div盒模型 样式初始化+元素类型转换+外边距合并 一.样式初始化 1. 清除浏览器默认样式,以免造成不必要 ...

  3. 用html5代码打出一个王字,王老师html零基础学习笔记第6课——-font-size+特殊字符...

    摘要: font字体设置在html里面是经常涉及到的,调整字体的大小属性,包括CSS样式的设置属性 css样式(font+text)+特殊符号 一.color 控制字体颜色 1.十六进制值  #CC0 ...

  4. 零基础学习python第二课笔记

    数据类型和字符串与数值 变量 常用的运算符 + - * / 余数%(7%4,取余数3,注意:当分子为任意正数值小于分母时都等于分子本身) //向下取整 **幂函数(就是我们数学中多少次方的意思) == ...

  5. 小甲鱼《零基础学习Python》课后笔记(二十三、二十四):递归——这帮小兔崽子和汉诺塔

    由于递归实在不太理解,而且觉得题目大多是为了用递归而使用递归,觉得题目暂时没有做的必要,所以先跳过,以后用到再补充学习- 2018年8月11日

  6. 小甲鱼python笔记_小甲鱼《零基础学习Python》课后笔记(二十九):文件——一个任务...

    动动手 0.编写一个程序,接受用户的输入并保存为新的文件,程序实现如图: 代码如下:f_name = input('请输入文件名:') f = open(f_name, 'wt') print(&qu ...

  7. 小甲鱼python的课后题好难_小甲鱼《零基础学习Python》课后笔记(二十六):字典——当索引不好用时2...

    测试题 0.Python的字典是否支持一键(Key)多值(Value)? 不支持.对相同的键赋值会覆盖原来的值.>>> dict2 = {1:'one',1:'two',3:'thr ...

  8. 小甲鱼《零基础学习Python》课后笔记(二十八):文件——因为懂你,所以永恒

    测试题 0.下边只有一种方式不能打开文件,请问是哪一种,为什么? f = open('E:/test.txt','w') # A f = open('E:\test.txt','w') # B f = ...

  9. 小强软件测试_小强老师零基础学习软件测试视频教程 理论篇+自动化篇+工具篇+实战等零基础课程...

    小强老师零基础学习软件测试视频教程 理论篇+自动化篇+工具篇+实战等零基础课程 1.jpg (53.32 KB, 下载次数: 0) 2017-10-5 09:33 上传 2.jpg (49.08 KB ...

最新文章

  1. json对象和json字符串转换方法
  2. 使用命名空间:别名/导入
  3. MySQL Infobright 数据仓库快速安装笔记[转]
  4. SQLite编译问题
  5. python中定义数据结构_Python中的数据结构。
  6. 利用用户级线程提高多线程应用的性能
  7. 使用loadrunner进行服务器性能测试(winsocket)
  8. es6箭头函数使用场景导致的一些问题
  9. 图像增强算法效果评价指标及实现
  10. 【转】VS2015安装教程(带图解+下载地址+超详细)
  11. 2020-04-03-功能性光学脑成像
  12. 雷电模拟器 服务器无响应,雷电模拟器怎么用脚本长时间运行未响应win10
  13. viser 饼图修改颜色
  14. 中文期刊分类(blog版)
  15. 2021财院ACM选拔赛题解
  16. java referencequeue,Reference 、ReferenceQueue 详解
  17. opencv 处理黑夜_Python基于OpenCV的固定位置半透明水印去除两种方案
  18. Java黑皮书课后题第2章:2.4(将磅转换为千克)编写程序,将磅数转换为千克数。程序提示用户输入磅数,然后转换为千克并显示结果。1磅等于0.454千克
  19. 高项_第四章项目整体管理
  20. mybatis从入门到精通(刘增辉著)-读书笔记第一章

热门文章

  1. 分享116个PHP源码,总有一款适合您
  2. 内网ip 查 核心交换机 流量_局域网通过IP地址如何找到电脑的位置?
  3. 刷新token重新请求接口
  4. dva数据流实现自动(调用接口)刷新页面数据【React-Redux框架】
  5. Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Could not
  6. QT的中文显示乱码问题解决
  7. Docker容器之Docker Toolbox下配置国内镜像源-阿里云加速器(Windows)
  8. 【大疆mavic2】斗鱼直播
  9. linux内核编程(一)
  10. 【2021】02 过年