最近开始正式系统地学习LoadRunner11。本想在自己觉得确实学到了比较有成就感的时候再mark一下,写个博客分享。阶段性地或者在自己有所小收获的时候,做做笔记分享下也好。这次作为开篇,我想记录下从安装遇到的问题到使用和学习过程中所收获的,主要分为以下三个方面:

  • 安装
  • 录制
  • 测试场景设计

安装

以前做过一次性能测试,当时也是使用的LoadRunner11,也是安装在64位操作系统上,都能正常的录制、执行等。但这次的同样安装在64位操作系统上,却发现连IE都调不出来,换浏览器也是无法录制。也试过写脚本来调出IE,也是不行。终究在32位的虚拟机上安装后,才解决了问题。

对于安装,有以下两点需要注意:

  • 软件运行环境。Loadrunner11需要安装在32位的操作系统上。一般情况下,LoadRunner11还是不支持64位操作系统。在技术学习过程中,累积经验很重要,但是有时经验主义也会带来不利,重点还是该细心.
  • 浏览器兼容性。LoadRunner11支持多个浏览器,但是对IE,目前还只能较好地支持IE8/9.

录制

脚本在录制后,要进行参数化。这里有两处需要注意:设置参数值取数

设置参数有多种方法:

  • 第一种方式,当迭代次数较少,可以直接在编辑参数时添加行【Add Row】。
  • 第二种方式,可以直接点击【Edit With Notepad】按钮,在文本编辑器中编辑该参数脚本文件来添加参数。PS:编辑添加数据时,一定要注意最后一行要留空,即要留一个空行,否则,测试执行过程中会报-13874,提示missing newline的错误
  • 第三种,在系统中已编辑好参数脚本文件,通过【Browser】添加文件即可。
  • 第四种,先通过ODBC数据源管理器添加一个Access数据源,添加数据库文件;然后在数据库查询的向导对话框的SQL输入框中输入SQL语句以筛选出需要用到的数据列:select column from table

取数,包括两个:数据分配方法和数据更新方式。此处也是本人经常混淆不清的地方。下面对不同数据分配方法下采用不同数据更新方式的情况做个说明。

数据分配方式Select next row选择Sequence

对应数据更新方式:

  • Each iteration:对于每次迭代,Vuser会从数据表中提取下一个值。
    如:v1,v2,v3,v4,v5。所有Vuser,第一次迭代取值v1,第二次迭代取值v2
  • Each occurrence:参数每次出现时,Vuser会从数据表中提取下一个值,即便在同一次迭代中。
    如:v1,v2,v3,v4,v5。第一次迭代中,第一次出现该参数,取值v1,下一处出现该参数取值v2
  • Once:对于所有Vuser,第一次分配的值,将用于后续所有的迭代。
    如:v1,v2,v3,v4,v5。在第一次迭代中,第一个Vuser取值v1,第二个Vuser取值v1;第二次迭代中还是这样的值。

数据分配方式Select next row选择Randow

对应数据更新方式:

  • Each iteration:对于每次迭代,Vuser会从数据表中重新随机取值。
    如:v1,v2,v3,v4,v5。在第一次迭代中,第一个Vuser随机取值,第二个Vuser也随机取值;第二次迭代不受第一次影响
  • Each occurrence:参数每次出现时,Vuser重新随机取值
  • Once:对于每个Vuser,第一次迭代随机取值,第一次的取值会用于后面所有迭代中。即第一次迭代随机取值,后续迭代使用第一次迭代的取值。

数据分配方式Select next row选择Unique

对应数据更新方式:

  • Each iteration:对于每次迭代,Vuser会从数据表中提取下一个唯一值
    如:v1,v2,v3,v4,v5,v6,执行两个迭代。第一个vuser被分配到v1和v2,第一次迭代执行时取值v1,第二次取v2;第二个vuser被分配到v3和v4,第一次迭代执行时取值v3,第二次取v4.
  • Each occurrence:参数每次出现,Vuser会从数据表中提取新的唯一值
  • Once:第一次迭代给每个vuser分配一个唯一值,这个值将用于该vuser后续所有的迭代。

场景设计

场景设计,有两种方式:

  • 面向手动的场景设计
  • 面向目标的场景设计

面向手动的场景设计

性能测试中,如采取循序渐进,增量式增加系统压力来进行压力测试,则可采取手动的场景设计Manual Scenario。此时应注意设置每次的开始的虚拟用户数和持续的时间长度。

面向目标的场景设计

面向目标的场景设计中,是基于性能要求明确的情况,可以定义要实现的测试目标。场景目标主要包括五种类型:虚拟用户数、每秒单击次数、每秒事务数、每分钟页面数或事务响应时间。在创建新的场景时,选择Goal-Oriented Scenario,即可进入到目标设置页面。
设置目标:

  • Edit Scenario Goal。进入目标设计页面。
  • 选择目标类型。对应前面所述的几种:Virtual Users、Hits per Second、Transactions per Second、Transactions Response Time、Pages per minute。
  • 设置目标参数值。

完成以上,便可执行基础的性能测试了。


25/05/2015

LoadRunner 学习(基础一)的更多相关文章

  1. loadrunner学习--基础知识

    性能测试相关术语: 1.响应时间:指系统从发出请求开始到客户端接受到所有数据所消耗的时间. 2.并发用户:指同一时刻与服务器进行数据交互的所有用户数量.计算公式F=Nvu x R/T 其中F表示吞吐量 ...

  2. 现代3D图形编程学习-基础简介(2) (译)

    本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...

  3. 现代3D图形编程学习-基础简介(1) (译)

    本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...

  4. 软件测试之loadrunner学习笔记-02集合点

    loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...

  5. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  6. JavaScript学习基础部分

    JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...

  7. 【IOS学习基础】NSObject.h学习

    一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...

  8. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  9. c语言学习基础:[1]开发工具介绍

    标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...

  10. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

随机推荐

  1. centos6.5 安装sftp

    1.创建sftp组 :  groupadd sftp 2.创建一个sftp用户,用户名为andy :   useradd -g sftp -s /bin/false andy 3.修改密码:  pas ...

  2. dubbo-demo安装运行指南

    步骤步骤:1.安装JDK:2.安装Tomcat:3.安装Zookeeper:4.安装Dubbo: 修改Consumer配置文件

  3. yii2史上最简单式安装教程,没有之一(转)

    测试说明:按照文章下载文件,虽然是tgz文件,用winrar解压,在CMD中运行init.bat文件. 既然是安装Yii,我们先去官网下载一份Yii的高级模版,什么,你说打开页面乱七八糟的英文字母你看 ...

  4. 从jvm角度来解析java语法糖

    java有很多语法糖,比如自动拆箱,自动装箱,foreach等等,这些原理相信每一个入门教程里都有讲,但是我相信不是每一个人 都通过查看这些语法糖的字节码来确认这些原理,因为我也是现在才想看一下. 1 ...

  5. iptables防火墙工作原理

    iptables防火墙工作原理 简介:iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率: iptables属 ...

  6. laravel中session的过期时间

    在项目开发的过程中,前后端分离 需要用session保存用户的登陆信息 这就涉及到session的有效期了 session又分为php中的session有效期和laravel中的session的有效期 ...

  7. POJ1325(最小顶点覆盖)

    Machine Schedule Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 14429   Accepted: 6153 ...

  8. (转)Oracle中动态SQL详解

    本文转载自:http://www.cnblogs.com/gaolonglong/archive/2011/05/31/2064790.html 1.静态SQLSQL与动态SQL Oracle编译PL ...

  9. 字节序(byte order)和位序(bit order)

    字节序(byte order)和位序(bit order)  在网络编程中经常会提到网络字节序和主机序,也就是说当一个对象由多个字节组成的时候需要注意对象的多个字节在内存中的顺序.  以前我也基本只了 ...

  10. 分布式缓存系统 Memcached 状态机之SET、GET命令

    首先对状态机中的各种状态做个简单总结,具体可见状态转换示意图: 1.listening:这个状态是主线程的默认状态,它只有这一个状态:负责监听socket,接收客户连接,将连接socket派发给工作线 ...