码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-06-26 12:41:46      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:

性能测试常见用语

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

请求响应时间:从客户端发出请求到得到响应的整个时间。一般包括网络响应时间+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函数。

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

标签:

原文地址:http://www.cnblogs.com/shixiaoshi/p/4601878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!