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

性能测试常见用语

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

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

时间: 2024-11-08 21:32:54

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

JAVA学习_零基础学习JAVA方法_零基础学习JAVA思路

在学习JAVA前,对于一个真正初学者(也就是从零开始学习JAVA人员)的一个问题:什么是JAVA,然后才是怎么学习JAVA?JAVA是sun microsystems在1995年推出的高级编程语言,其分为Java SE.Java EE.Java ME三大体系,而JAVA SE是JAVA的基础,继JAVASE之后是JAVAEE,JAVA ME.JAVASE是JAVAEE的基础,Servlet.JSP是框架的基础.数据库方面个人建议学习oracle,当然其它的像 MySQL,MSSQL,都可以,只要

零基础学习web前端路线

很多同学想学习WEB前端开发,虽然互联网有很多的教程.网站.书籍,可是却又不知从何开始如何选取. 前端开发入门学习有:HTML.CSS.JavaScript(简称JS)这三个部分.所以在学习之前我们需要先明确三个概念: 1.HTML--内容层,它的作用是表示一个HTML标签在页面里是个什么角色. 2.CSS--样式层,它的作用是表示一块内容以什么样的样式(字体.大小.颜色.宽高等)显示. 3.JS--行为层,它的作用是当用户触发某些行为时,会给内容和样式带来什么样的改变. 我还是要推荐下我自己创

零基础学习 Hadoop 如何下手

想学习hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会.其实零基础学习hadoop,没有想象的那么困难.曾经我也是一位小白,刚接触到云计算,想过培训,但是培训机构的选择也让我很纠结,就自己开始去摸索学习,现在我把自己的学习思路整理一下,希望对大家有帮助. 首先整体说一下学习过程给大家借鉴: 一.了解hadoop: 这里不具体阐述概念,有兴趣的同学可以自己上网去查.我们知道hadoop,有单机安装,伪分布安装和分布安装.同时hadoop的环境是Linux,所以我们

【零基础学习iOS开发】【01-前言】01-开篇

本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 回到顶部 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的

【零基础学习iOS开发】【转载】

原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时

零基础学习Mahout之一:搭建单机环境

一.Mahout是什么? Mahout是Apache的一个开源项目(http://mahout.apache.org/),提供了机器学习领域的若干经典算法,以便开发人员快速构建机器学习和数据挖掘方面的应用. Mahout是基于Hadoop的.从名称上看也很有意思,Hadoop是一个大象的名字,而Mahout则是象夫.看象人,可见二者联系之紧密.(这让我自然联想到Sun和Eclipse...) 我此时是一个完全没用过Mahout的门外汉,对Hadoop也没有实际使用经验,算是真正的零基础.我的目标

零基础学习hadoop到上手工作线路指导(编程篇)

问题导读:1.hadoop编程需要哪些基础?2.hadoop编程需要注意哪些问题?3.如何创建mapreduce程序及其包含几部分?4.如何远程连接eclipse,可能会遇到什么问题?5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章零基础学习hadoop到上手工作线路指导(初级篇) 零基础学习hadoop到上手工作线路指导(中级篇)如果看过的话,看这篇不成问题,此篇讲hadoop编程篇. hadoop编程,hadoop是一个Java框架,同时也是编程的一次革命,使得传统开发运

李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的XP.Win7,都是操作系统. 那什么是操作系统呢?操作系统其实是一种软件,是直接运行在硬件(电脑.手机等)上的最基本的系统软件,任何

零基础学习hadoop到上手工作线路指导

问题导读: 1.hadoop编程需要哪些基础? 2.hadoop编程需要注意哪些问题? 3.如何创建mapreduce程序及其包含几部分? 4.如何远程连接eclipse,可能会遇到什么问题? 5.如何编译hadoop源码? 阅读此篇文章,需要些基础下面两篇文章 零基础学习hadoop到上手工作线路指导(初级篇) http://www.aboutyun.com/thread-6780-1-1.html 零基础学习hadoop到上手工作线路指导(中级篇) http://www.aboutyun.c