loadrunner学习笔记

上一篇 / 下一篇  2011-08-17 15:05:19

衡量一个软件系统常见的性能指标:

响应时间:服务器端响应时间、客户端响应时间、网络响应时间

吞吐量:单位时间内处理的事物/请求/数据

资源使用率:cpu、内存、磁盘、网络

点击数:客户端向服务器发起了多少次http请求

并发用户数:在客户端指一批用户同时执行一个操作

 

对哪些模块做性能测试

l 基本且常用

l 对响应时间要求苛刻的。

 

性能测试开始的必要条件是软件系统已经处于一个比较稳定的状态

 

常见的性能测试方法:

负载测试:考察软件系统在既定负载下的性能表现

压力测试:考察系统在极端条件下的表现(系统出问题时,系统处理问题的方

式,在极限负载下系统如何运行)

并发测试:验证系统的并发能力

基准测试:系统增加一个新的模块时要做基准测试

稳定性测试:系统在一定负载运行长时间是否会发生问题。

恢复性测试:测试系统能否快速从错误状态恢复到正常状态

 

同一进程内的多个线程会有共享的内存空间,引起多个线程的同步问题调度不好就会出现问题。

 

loadrunner中只有线程安全协议才能作为线程运行,以下协议不是线程安全协议:Sysbase-CtlibSysbase-DblibInformixTuxedo

 

Vuser通过录制客户端和后台服务器之间的通信报文,分析其中的协议,自动产生脚本。

协议不同体现在数据包的结构不同上

vu通用函数一般以lr开头

协议相关函数一般以本协议类型开头,如web_link

Loadrunner中三种函数:vu通用函数、协议相关函数、语言相关函数

Loadrunner支持的语言CJavaVBVBScriptJavaScript

lr_output_message():对话框

web_reg_find()

lr_whoami():用来得到运行时的虚拟用户的信息包括虚拟用户IDgroup值和场景ID

 

vuser_init()

lr_load_dll("my.dll"),lr_load_dll()loadrunner提供的一个加载动态链接库的函数

清除浏览器缓存

Action()

事务开始

globals.h()中定义全局变量

 

全局加载dll文件,向mdrv.bat文件的相应部分添加要加载的dll列表。

 

 

 

 

通用vu函数可分为事务控制函数、命令行分析函数、系统信息函数、字符串函数、日志函数和运行时函数

 

 

lr_eval_string:返回参数的当前值

lr_save_string:将以null结尾的字符串保存到参数中

lr_think_time:暂停脚本执行以模拟思考时间

lr_rendezvous:vuser脚本中设置集合点

 

http协议是模拟浏览器和web server的交互过程。

 

协议函数;

内容

应用

http vu函数

http协议

Header设置

Web_add_header

Web_clean_header

点击链接

Web_link函数(点击文字链接)

Web_inage(点击图片链接)

提交表单

Web_submit_data

Web_submit_form

Web系统设置

Cache设置

Web_cache_leanup

Web_load_cache

Cookie设置

Web_add_cookie

Web_cleanup_cookies

Proxy设置

Web_ser_proxy

Web_set_secure_proxy

LoadRunner框架支持

检查点

Web_find

Web_image_check

关联

Web_create_html_param

Web_create_html_param_ex

Web_reg_save_param

Web_set_max_html_param_len

控制

Lr_start_transaction

Lr_rendezvous

Lr_think_time

 

 

VU是基于网络协议的

Loadrunner录制脚本的两种模式:URL modeHTML mode两种,在默认情况下,选择“HTML-base script”说明脚本中采用HTML页面的形式来表示,这种方式的Script脚本容易维护,容易理解。

URL-based script.说明脚本中的表示采用基于URL的方式,所有的HTTP请求都会被录制下来,单独生成函数

 

1.        基于浏览器的应用程序推荐使用HTML-based script

2.        不是基于浏览器的应用程序推荐使用URL-based script

3.        如果基于浏览器的应用程序中包含了JavaScript并且该脚本向服务器产生了请求,比如DataGrid的分页按钮等,也要使用URL-based script方式录制。

4.        基于浏览器的应用程序中使用了HTTPS安全协议,使用URL-based script方式录制。

 

日志:

执行日志

      黑色:标准输出消息

      红色:标准错误消息

      绿色:用引号括起来的文字字符串(例如URL

      蓝色:事务信息(开始、结束、状态和持续时间)

录制日志:记录了客户端与服务器之间的对话

产生日志:脚本能正常运行后应禁用日志,因为产生及写入日志需要一定的资源。

Vu提供运行时查看浏览器活动的功能,Tools>General Option >Display选项卡,勾选show browser during replay

运行时开启的run time viewerloadrunner自带的html解释器,并不完全是ie,因此有些Java scriptapplet可能会不能正常显示

三种关联方法:

录制前关联:

关联的规则主要是制定两个边界,被关联变量的走边界和右边界,当vuserverrepsonse中找到符合条件的字符串时,它就意识到这是一张小票赶紧把它保存下来,作为参数。

录制后关联:录制后关联会尝试找出录制时与执行时,服务器响应内容的差别部分,藉以找出需要关联的数据,并建立关联

手动关联:使用web_reg_sava_param来实现关联

1)       使用相同的业务流程录制两份脚本

2)       使用windiff工具协助找出需要关联的数据(tools——compare with Vuser

3)       确定被关联数据的左右边界

4)       使用web_reg_save_param 函数手动建立关联

5)       将脚本中有用到关联的数据,以参数取代。

 

 

注意Response body字样的数据段,这表明它后面的内容是从server返回的。

 

web_reg_sava_param是一个重要的函数,它的功能是在下载的网页内容中,通过设定的边界字符串,找出特定的数据并将其存储在一个参数中,以供后续脚本使用。

 

web_reg_sava_param是一个service functionService function主要用来完成一些特殊的工作,如关联、设定proxy、提供认证信息,当其作用是不会对网页的内容做任何修改。

 

web_reg_sava_param同时也是一个registration type function(注册函数),只要函数名称中包含_reg_字眼就表示其为registration type function)。registration type function意味着其真正的作用是在下一个Action function完成时执行,使用registration type function时,要注意其放置的位置必须在要做有的Action function之前。

 

关联的用途和意义:

(1)      简化和优化代码

(2)      动态产生数据

(3)      支持唯一数据

修改Script. View的代码后若有语法错误,Script. View将不能转化为Tree View或缩略图

TAG:

引用 删除 MixYugo   /   2011-08-18 15:40:52
5
引用 删除 MixYugo   /   2011-08-18 15:24:23
 

评分:0

我来说两句

日历

« 2024-05-03  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 1635
  • 日志数: 1
  • 建立时间: 2011-08-17
  • 更新时间: 2011-08-17

RSS订阅

Open Toolbar