LoadRunner 学习(基础一)
最近开始正式系统地学习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 学习(基础一)的更多相关文章
- loadrunner学习--基础知识
性能测试相关术语: 1.响应时间:指系统从发出请求开始到客户端接受到所有数据所消耗的时间. 2.并发用户:指同一时刻与服务器进行数据交互的所有用户数量.计算公式F=Nvu x R/T 其中F表示吞吐量 ...
- 现代3D图形编程学习-基础简介(2) (译)
本书系列 现代3D图形编程学习 基础简介(2) 图形和渲染 接下去的内容对渲染的过程进行粗略介绍.遇到的部分内容不是很明白也没有关系,在接下去的章节中,会被具体阐述. 你在电脑屏幕上看到的任何东西,包 ...
- 现代3D图形编程学习-基础简介(1) (译)
本书系列 现代3D图形编程学习 基础简介 并不像本书的其他章节,这章内容没有相关的源代码或是项目.本章,我们将讨论向量,图形渲染理论,以及OpenGL. 向量 在阅读这本书的时候,你需要熟悉代数和几何 ...
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- 软件测试之loadrunner学习笔记-01事务
loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...
- JavaScript学习基础部分
JavaScript学习基础 一.简介 1.JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet Explorer. Mozilla.Firefo ...
- 【IOS学习基础】NSObject.h学习
一.<NSObject>协议和代理模式 1.在NSObject.h头文件中,我们可以看到 // NSObject类是默认遵守<NSObject>协议的 @interface N ...
- git学习基础教程
分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.
- c语言学习基础:[1]开发工具介绍
标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研 ...
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
随机推荐
- CSS冷门但有用的知识整合
1. 滚动条样式设置 The ::-webkit-scrollbar CSS pseudo-element(伪元素) affects the style of the scrollbar of an ...
- Eclipse使用EclEmma看单元测试的代码覆盖率
在开发过程中,我们应该养成编写本地单元测试用例的好习惯,甚至做到测试驱动开发.EclEmma是Eclipse的一个插件,是一款测试用例的代码覆盖率统计工具,能明确到哪一行在测试过程中被调用到了.这里不 ...
- Voting and Shuffling to Optimize Atomic Operations
2iSome years ago I started work on my first CUDA implementation of the Multiparticle Collision Dynam ...
- 创建工程常量 (OC中的宏定义)
1.oc创建宏 文件 2.swift创建 常量文件 在swift中, 并非是预编译代码替换, 而是设置全局常量, 简单宏, 直接let 加常量名即可
- c++ 浅谈 new 的使用
实例用法: 创建对象: class U_Ptr smart; U_Ptr* ptr = new U_Ptr(); class U_Ptr smart(new U_Ptr(p)); int *p = n ...
- 我的HibernateSearch笔记
话不多说,直接上代码: 实体类: package com.smt.pojo; import java.io.Serializable; import javax.persistence.Column; ...
- 【转】使用Badboy录制脚本,作为JMeter测试的素材
接触Badboy,是因为JMeter要引用Badboy导出的脚本 Badboy的录制提供两个模式:Request(默认模式) 和navigation模式.点击下图N,切换模式:但是要导出到Jmeter ...
- java代码从键盘输入次数,然后进行运算-----菜鸟如此菜
package com.aaa; import java.util.Scanner; // //求两数相加的和.从键盘输入 public class ftwert { public static vo ...
- 微服务监控之二:Metrics+influxdb+grafana构建监控平台
系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务.Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作. 使 ...
- 配置MapReduce插件时,弹窗报错org/apache/hadoop/eclipse/preferences/MapReducePreferencePage : Unsupported major.minor version 51.0(Hadoop2.7.3集群部署)
原因: hadoop-eclipse-plugin-2.7.3.jar 编译的jdk版本和eclipse启动使用的jdk版本不一致导致. 解决方案一: 修改myeclipse.ini文件即可解决. ...