最近开始正式系统地学习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. 基于Python语言使用RabbitMQ消息队列(六)

    远程过程调用(RPC) 在第二节里我们学会了如何使用工作队列在多个工人中分布时间消耗性任务. 但如果我们想要运行存在于远程计算机上的方法并等待返回结果该如何去做呢?这就不太一样了,这种模式就是常说的远 ...

  2. openfaas 架构介绍

     此为官方介绍   Overview of OpenFaaS Function Watchdog You can make any Docker image into a serverless fun ...

  3. Google搜索被屏蔽,如何使用Google搜索

    我们在国内使用搜索引擎最多的是Google和Baidu啦,在引擎上找一些我们需要的知识,最近好像www.google.cn已经无法访问了,并且香港的链接www.google.com.hk也无法访问了, ...

  4. laravel中session的过期时间

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

  5. linux 下安装php扩展

    linux下安装php扩展 步骤: 1.在扩展解压包目录执行 phpize 2.执行 ./configure --with-php-config=/usr/local/php/bin/php-conf ...

  6. redis的安装和类型及基本命令

    一.memcached和redis区别 1. redis 可以存储,memcached用来缓存, 2. 数据类型,memcached只有string:redis有string,链表,哈希结构,集合,有 ...

  7. sublime text3 自动编译php 适合用于简单的php文件执行

    1.将php路径放入环境变量中 2. 点击 sublime_text的“工具”->"编译系统"->"编译新系统" { "cmd" ...

  8. windows下配置protobuf2.6.1

    步骤: 下载protobuf-2.6.1.zip和protoc-2.6.1-win32.zip,地址:https://github.com/google/protobuf/tags 到目录protob ...

  9. ASP.NET页面传值加号变空格解决办法

    只需要把欲传值进行编码 string EncodeId = Server.UrlEncode(id); 加号就变成了 % 2 B  (中间无空格) 然后再传出去. Request.QueryStrin ...

  10. List<T>直接充当Combox控件DataSource并扩展自定义记录的方法

    一般认为List只有转换为DataTable后才能充当CombBox的数据源,其实不然: List<SYS_COMMANDS> comdList = _menuMan.Load(c =&g ...