LR测试积累[原创]

上一篇 / 下一篇  2008-02-29 16:01:33 / 个人分类:LR使用分享

正在积累中……

一、hits per second/throughput的由来

1、每秒点击率是客户端向服务器发送的请求数,也就是说如果客户端进入了软件系统的界面,那么该界面上的所有图片和控件都会分别作为一次点击数。

2、吞吐量是服务器发送给客户端的数据量,而不包括客户端发送给服务器的请求等。

二、迭代方式

1、 Iteration Number
Iteration Number用当前的迭代数目替换参数。
2、 Random Number
Random Number用一个随机数替换参数。通过指定最大值和最小值来设置随机数的范围。
3、 Unique Number
Unique Number用一个唯一的数字来替换参数。你可以指定一个起始数字和一个块的大小。

三、迭代中使用关联参数化方法

注:一定要在参数的文本文档中有回车符

1、 建立一个参数A后,欲使另一参数B与之关联,在参数表中的select next row设置为the same line as A

2、 如图设置

图1

图2

四、标准偏差值STD

标准偏差(Std Dev,Standard Deviation) -统计学名词。
一种量度数据分布的分散程度之标准,用以衡量数据值偏离算术平均值的程度。标准偏差越小,这些值偏离平均值就越少,反之亦然。标准偏差的大小可通过标准偏差与平均值的倍率关系来衡量。
标准偏差公式:S = Sqr(∑(xn-x拨)^2 /(n-1))
公式中代表总和,x拨代表x的算术平均值,^2代表二次方,Sqr代表平方根
例:有一组数字分别是200、50、100、200,求它们的标准偏差。
x拨 = (200+50+100+200)/4 = 550/4 = 137.5
S^2 = [(200-137.5)^2+(50-137.5)^2+(100-137.5)^2+(200-137.5)^2]/(4-1) =[62.5^2+(-87.5)^2+(-37.5)^2+62.5^2]/3 =[3906.25+7656.25+1406.25+3906.25]/3 = 16875/3 = 5625
标准偏差 S = Sqr(5625) = 75   

该值用于衡量LR的曲线图中所选取的若干点的值之间的偏差大小,如果超过一定标准,则说明软件过于不稳定。

五、SAP/SDP

 SAP (Session Announcement Protocol )::会话通告协议。RFC2974,主要的作用就是告诉接收者,要多播一些什么内容。没有定义描述的格式

SDP:(Session Descrīption Protocol):会话描述协议。 规定了格式,就是对会话的必要信息如何编码,不过不包括传输机制和协商参数。 SDP语法,采用文字,而不是ASN.1。一个SDP会话描述以会话级信息 和 媒体级信息开始,如果出现一个,另外一个接着后面出现。

六、合并图和关联图

将两个图联系起来,就会看到一个图的数据会对另一个图的数据产生影响。这称为将两

个图关联。例如,您可以将正在运行的 Vuser 图和平均事务响应时间图相关联,来了解

大量的 Vuser 对事务的平均响应时间产生的影响。

1 在图树中单击“正在运行的 Vuser”,查看正在运行的 Vuser 图。

2 右键单击正在运行的 Vuser 图并选择“合并图”。

3 在“选择要合并的图”列表中,选择“平均事务响应时间”。

4 在“选择合并类型”区域中,选择“关联”,然后单击“确定”

七、录制脚本方法

1、Sniffer方法:利用以太网的广播特性。嗅探器。但要求客户机与服务器在同一网段。

2、Proxy方法(代理):客户端发送到Vugen,再由Vugen发送给服务器。在客户端与服务器之间增加了LR。

八、客户端永远是发送请求,而服务器处理

LR录制的record log里面与工具charles以及实际网页文件的大小都是一致的。

九、录制模式HTTP/URL

Html-based scrīpt(browser/context sensitive)把隶属于一个页面的数据放在一个模块中。

URL(http/analog)真实记录C/S之间全部过程。

2种方式的使用:WEB或B/S结构控件过多的flash等,应使用HTML方式。可以浓缩。可读性好。实质上是一样的。

HTML记录的是web_submit_form

URL是web_submit_data,且支持控件。

十、常见错误

1、录制的脚本为空/录制出错/无法打开首页等:

空:协议选择错误/非B/S操作/打开页面时页面从缓存取出的,也是无法录制下来的/

使用代理/IE使用选项/有恶意代码(检测使用工具:AD-AWARD)/bofu防火墙或防病毒软件

录制出错:出错时使用CODE VIEW,即使出错也能把代码记录下来,而使用TREE VIEW则会停止记录

打开空网页:VUGEN有问题/LR安装路径BIN下Registe_vugen.bat(重新注册一次可能修复)

2、脚本出错

十一、协议选择

LR8中单协议HTTP,在IE中设置一个7777localhost端口,C与B之间都由7777连接,采集所有信息;多协议中单选HTTP协议,指定端口的影射

判断协议工具:PROCESSSPY(正在使用的.DLL分析使用的协议)

十二、关联

是服务器到客户端的数据,函数web_reg_save_param(“param name”,<list of attributes>*,last)

“param name”是参数名,list of attributes分为三部分:“LB=”“RB=”“ORD=”,分别指左边界、右边界和符合条件的第一个,最后一个可以写ORD=ALL,意为全部取出来。而LAST没有,写LB/RB时,写入引号需要转义符。

十三、思考时间

没有:压力会大一些

有:压力会小一些但会比较符合实际等待时间

十四、.net内存分析

1、堆栈——放的是局部变量、方法参数、返回值和其他临时值

2、托管堆——0级、1级、2级,用于分配托管对象的区域,也是垃圾回收器区域

3、非托管堆——用于运行时数据结构、方法表、microsoft中间语言(MSIL)、JITed代码

垃圾回收器只是回收了托管堆的内存,堆栈是自动释放的,非托管堆由非托管堆内代码自动控制,而托管堆也有可能内存泄露

.net常用性能测试指标:

1、Process/Private bytes一个进程所独占的内存是多少,无法跟其他进程共享

2、.net CLR Memory/#Bytes in All Heaps托管堆内总使用内存数

3、.net CLR LocksAnd Threads/# of current logical Threads,在.net运行过程中所使用的线程,注意:线程里面所使用的内存是在堆栈里面分出来的

举例

a)1不让其增长,2没变,可能是非托管堆性能有问题,因为整个内存增加,而托管堆内存的没有变的

b)3增长,1增长,线程泄露,导致内存泄露

c)

堆栈内存泄露(StackOverflowException)

可能引起堆栈内存泄露的原因:

1、栈资源并且从不返回的方法调用

2、线程泄露

每分配一次堆栈后没有回收回来,就是线程泄露,严重会出现StackOverflowException异常

最新的桌面机与服务器版的WINDOWS堆栈大小为1MB

3、托管堆的内存泄露

大对像的内存碎片——如果在栈中申请有9千个字节,它不会放在堆栈中,而是在堆中。.net不会做压缩处理,不断地申请回收,可能会出现内存碎片问题导致泄露

不必要的根引用

中年危机

使用工具CLEprofiler.exe,不断申请回收大字节进行监控

十五、LR解密

Lr_decrypt,把加密函数进行解密

Action()

{

Char *str=”abc”

Char *str1;

lr_load_dll(“encode1.dll”)// 加载动态连接库,encode1.dll是.dll文件名

str1=(char *)crypt_encrypt(str)//调用接口将字符变量str放到.dll文件中去,crypt_encrypt //Dll文件发布了一个接口

lr_output_message(“encrypted=%s”,str1);

lr_out_message(“%s world”,lr_decrypt(str1); //解密

加密的话需要用外部的加密方法,使用LR自带工具或自己编写.DLL文件。

十六、写入错误的用户名和密码不出错

加检查点

要insert的地方右键addstep/ web_reg_find/增加search test/

文件。


相关阅读:

TAG: LR使用分享

 

评分:0

我来说两句

日历

« 2024-01-20  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 20077
  • 日志数: 31
  • 文件数: 1
  • 建立时间: 2007-12-07
  • 更新时间: 2008-11-18

RSS订阅

Open Toolbar