LoadRunner性能测试学习笔记Word下载.docx

上传人:b****2 文档编号:4115555 上传时间:2023-05-02 格式:DOCX 页数:29 大小:95.65KB
下载 相关 举报
LoadRunner性能测试学习笔记Word下载.docx_第1页
第1页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第2页
第2页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第3页
第3页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第4页
第4页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第5页
第5页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第6页
第6页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第7页
第7页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第8页
第8页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第9页
第9页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第10页
第10页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第11页
第11页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第12页
第12页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第13页
第13页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第14页
第14页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第15页
第15页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第16页
第16页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第17页
第17页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第18页
第18页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第19页
第19页 / 共29页
LoadRunner性能测试学习笔记Word下载.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

LoadRunner性能测试学习笔记Word下载.docx

《LoadRunner性能测试学习笔记Word下载.docx》由会员分享,可在线阅读,更多相关《LoadRunner性能测试学习笔记Word下载.docx(29页珍藏版)》请在冰点文库上搜索。

LoadRunner性能测试学习笔记Word下载.docx

目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点;

StressTesting(使劲折腾)

举例:

一座大桥,桥上写最大载重量的车辆,不超过60吨

但是在桥梁内部建筑资料,最大载重量,不超过70吨

12、吞吐量和点击率的概念、区别?

1)吞吐量(Throughput):

用户从服务器端获得全部数据量,单位是字节(Byte)。

吞吐量/传输时间,就是吞吐率,是服务器每秒处理的数据量。

2)点击率(HitsperSecond):

客户端每秒向服务器提交Http请求数。

(鼠标的一次点击,请求数可能为n个)

说明:

吞吐量是总量,是累计时间内全部数据量。

吞吐率反映服务器的处理速度和性能,也是衡量网络性能的重要指标。

点击率越大,对服务器的压力也越大.

13、并发测试和在线测试的区别?

1)并发和在线的区别:

并发的压力是一种瞬时压力,在线的压力是一段时间的压力。

2)20用户并发的压力相当于200用户在线的压力。

(1:

10比例)

在写测试计划时作为参考依据。

2000用户在线,设计为200用户并发。

(并发操作:

查询、登录、删除、添加)

14、QTP和LoadRunner的区别:

1)QTP:

功能测试工具(自动化)

LR:

性能测试工具可以测多用户

2)QTP关心的是界面(UI),关心的是对象(对象库的概念);

LR只关心客户端和服务器之间的数据包(请求包、应答包),不关心对象,更不需要比对对象的属性值,只关心抓包(捕捉数据包)。

如果用户界面变了,但是业务逻辑不变:

QTP脚本需要变化,LR脚本不需改变。

3)LR关心的是客户端和服务器之间的对话,前提是选择正确的网络协议(相当于网络的语言).

4)LR不能补录.录制失败,从头再来。

注意:

录制过程中出现失误,该次录制作废,从New开始重新录制;

录制时要慢,等待页面资源下载完毕后再进行下一步操作.

二、性能测试的策略

重要的:

基准测试、并发测试、综合场景测试(前3个项目必备)

极限测试、递增测试

次要的:

疲劳强度测试(大型系统中)、内存泄露测试、

数据容量测试.

共同点:

向被测系统发起攻击

1、基准测试:

就是单用户测试(重点)

注意:

还是需要使用控制台,运行场景,自动搜集数据,通过Analysis进行结果分析。

2、递增测试:

每隔一定的时间(1s,5s,10s)逐步加载虚拟用户,逐步加压。

用途:

登录测试时,可以递增测试

3、并发测试:

多用户并发执行某一操作(同一时刻,LR精确到毫秒级别)。

并发测试是一种严格的测试,主要考察系统对瞬时较大压力的承受能力.

4、综合场景测试:

概念:

号称“能够最真实的模拟实际生产环境”。

综合场景的几个要素:

多用户、多个脚本(至少3个)、在线执行一段时间(1个小时、50分钟等)

一般不需要设置并发点。

多用户一起运行,一定会有并发.

比如:

100用户在线综合场景:

100用户共同对被测系统执行操作,其中30用户执行浏览首页操作,50用户执行查询订单操作,20用户执行提交订单操作。

(要真实模拟人数比例)

问题:

为什么不模拟大量的登录操作?

因为用户不可能一直在登录,模拟真实情况.

以上操作,用户在循环执行.

5、响应时间:

业内一般有“358原则”,系统响应时间在3秒以内,则用户能够接受;

响应时间在5秒以内,用户能够忍受;

响应时间超过8秒,用户不能忍受。

一般需求指标,不超过3秒

6、疲劳强度测试:

在一定的强度(压力)下,对系统进行长时间的性能测试,一般为7*24小时、或24小时、12小时等。

比如:

银行系统,7*24*365全天候不间断运行

考察疲劳强度测试时,要考察其平均响应时间,以及各台服务器的各项资源情况。

集群负载均衡、降低成本

7、内存泄露检查:

通过正常的性能测试,如果被测系统的内存曲线走势不正常,则关注其相应的各项重要的内存指标,通过对应走势来确定是否发生内存泄露。

8、数据容量测试:

使用大容量的数据添加到数据库中,观察被测系统是否能够正常运行。

向数据库中添加200G数据量,再进行测试,甚至几个T大数据,一般是T级、P级的数据量

1024Byte=1KB

1024K=1M

1024M=1G

1024G=1T

1024T=1P

9、极限测试:

使用并发测试、在线测试等方法,测试出系统能够承受的极限压力(如最大用户数),或系统能够达到的最大处理能力(如最大吞吐量)。

测试方法可以采用递增测试,比如对系统进行100用户、500用户、1000用户等测试.(也称为:

摸高测试)

三、三大基本测试(基准测试,并发测试和综合场景测试)的具体方法及配置

1、归纳基准测试:

方法1:

单用户循环5次

1)调试好脚本(加检查点,在VuGen中运行成功)

2)打开控制台,设置Run—timeSettings

3)迭代次数:

5

4)Pacing值:

随机2~3(每次迭代之间的时间间隔)

5)Thinktime:

忽略(请求之间的时间间隔)

忽略的原因:

单用户对系统压力较小,忽略与否对结果影响不大。

方法2:

单用户持续运行1分钟

3)Pacing值:

随机2~3

4)Thinktime:

忽略

5)Duration:

1分钟

提示:

配置好后,观察图表状态,有所变动,才修改成功.

当Run—timeSettings中迭代和VU部署设置(Duration)有冲突时,Duration的优先级较高.

Duration选择第二项,就以此为准

Runfor__daysand__(HH:

MM:

SS)

如果选择第一项:

Rununtilcompletion还是听Duration,只是它放权了。

Duration是一把手,让二把手看着办,此时Run-timeSettings说的算.

测试报告中的结果,应该测试三次,取中间值.

0。

1秒0.3秒0。

4秒结果取0.3秒

2、并发测试

a、并发测试两个条件

1)脚本中要有集合点(并发点)

2)控制台中要设置并发策略(选择第一项,所有虚拟用户到达集合点后释放)

集合点:

5个线程,代表5个VU并发执行一次购票

等所有线程到达集合点时,才一起释放,此时的压力最大(瞬时压力)。

注意:

要在事务开始之前,设置并发点

b、并发点只有在并发测试中使用。

案例:

在脚本中添加并发点,执行并发测试

需求:

并发购票

在事务脚本之前添加

lr_start_transction(”buy"

);

在事务开始之前——〉点击Insert-->

Rendezvous

--〉输入集合点名称RendezvousName:

buy一般与事务名相同

就会生成脚本:

lr_rendezvous("

buy”);

-—>

编译Compile(同时会立即保存)

脚本中发生变动(加了检查点、集合点、代码等)

1)一定要点击编译Compile按钮,同时也会自动保存

2)在控制台中要刷新脚本

c、并发策略的设置:

并发策略是在控制台配置:

控制台界面选择Scenario菜单-—〉Randezvours。

..(并发点)

-—>

打开窗口,设置策略——>

点击Policy(策略)按钮

第1项:

Releasewhen100%ofallVusersarriveattherendezvous.(一般都选择此项)

当100%虚拟用户到了集合点时释放虚拟用户VU

(所有VU的n%)10个VU都算10*n%

第2项:

Releasewhen100%ofallrunningVusersarriveattherendezvous。

当100%正在运行的VU到达集合点时释放VU

(所有正在运行的VU的n%)

如果10个VU只有5个正在运行,5*n%

第3项:

Releasewhen1Vusersarriveattherendezvous.

指定n个虚拟用户达到集合点,再释放

d、并发测试案例:

完成5个VU的并发

控制台->

Basicschedule-〉Quantity改为5

StartVusers:

用户数少,登录时间快,不用改

Duration:

选Rununtilcompletion表示瞬时压力

继续设置Run-timeSettings:

RunLogic:

迭代次数1

Pacing:

改为Assoonasthepreviousiterationends。

Log:

默认

Thinktime:

默认忽略Ignorethinktime(好比:

不停地发请求,不给喘息时间)

e、并发测试要点回顾:

1)事务前设置并发点(lr_rendezvous(”buy"

2)控制台中设置并发策略

3)要忽略Thinktime

3、综合场景测试

综合场景测试号称能够最真实的模拟实际生产环境

综合场景的几个要素:

多用户、多个脚本(至少3个)、在线执行(多种操作)一段时间(1小时、50分钟等),一般是不加并发点.

只要是多用户,就存在并发

综合场景测试过程中,所有用户循环执行相应的操作

1)录制好3个脚本:

购买机票buy、查询路线search、浏览航班scan

添加好事务点、检查点;

(无需集合点)

转移事务中的Thinktime脚本至事务之外:

lr_think_time(23);

将脚本载入到控制台中,并设置人数比例:

GroupNameQuantity

buy2

search4

scan4

2)设置场景

Scheduleby:

Scenario:

按场景场景中,多个VU统一配置、行动(选择)

Group:

按组每个组,组内VU统一行动(按组行动)

重点设置左下角GlobalSchedule:

以上三个脚本都选中,一次配置三个(出现黑框)—-〉

a、StartVusers双击-〉设置一个小的递增单选第2项

-—〉100:

00:

01[HH:

MM:

SS]-->

OK

该设置表示:

每隔1秒钟加载一个VU--〉及时观察右边效果图:

锯齿状

b、Duration双击

--〉单选第2项:

Runfor0daysand00:

30:

00(HH:

SS)—->

OK

该设置表示:

确定指定测试运行的时间为30分钟(项目中一般50分钟、1小时)

如果第1项:

Rununtilcompletion直到结束,适合于循环,确定次数;

如果第3项:

Runindefinitely一直跑,直到手动停止

3)Run-timeSettings设置

迭代次数默认1具体次数由持续时间决定

a、pacing:

随机4—6秒或5—9秒

正常:

2-3秒,教学机较慢,设置偏大些,保证不出错

b、日志log:

保留原有选项(出错时发送)

原因:

大量日志也会占用磁盘空间。

c、Thinktime:

随机百分比,适当调大200%—300%

d、Continueonerror:

错误时继续

原因:

长时间执行大量事务,个别出错继续运行,不影响全局。

e、Vuser选择线程方式.节省系统资源

f、网络:

模拟用户的网络,使用最大带宽

g、模拟缓存:

选择不模拟

h、Option选项:

3个120改为600

一般疲劳测试设置600足够了。

4)配置Windowsresources

选择Run视图-—>

右击窗口—->

AddMeasurements。

.

——〉MoniteredServerMachines:

选机器点击Add.按钮—-〉

MachineInformation:

Name:

localhost指定监控服务器的IP地址,主机名,目前就是本地主机

Platform:

WINXP

——〉OK

ResourceMeasurementson:

localhost清空里面所有选项

自己完成选项的添加(固定13项)——>

点击Add按钮-—>

选择以下内容:

Memory中有4项:

(内存)

AvailableMBytes--〉Add

%CommittedBytesinUse—->

Add

PageFaults/sec-—>

Pages/sec-->

NetworkInterface中有2项:

(网络)

BytesTotal/sec——〉MSTCPLoopbackinter。

.回环——〉Add

本地主机才选回环

Packets/sec—-〉MSTCPLoopbackinter..。

回环—-〉Add

本地主机自己和自己通信,用回环

PhysicalDisk中有4项(2个队列):

(磁盘)见到Total就选

Avg.DiskQueueLength—->

Total-—>

CurrentDiskQueueLength—->

Total—-〉Add

DiskReadBytes/sec——〉Total-—>

DiskWriteBytes/sec—-〉Total-—〉Add

Processor中有2项:

(进程)

%ProcessorTime——>

Total——〉AddTotal表示总和

%UserTime-—>

Total—->

System中有1项:

(系统)

ProcessorQueueLength-—〉Add

--〉OK

以上一共13项windows监控资源,具体说明如下:

运行过程中如果有错误,观察ScenarioStatus中的Errors部分0(点开链接,寻找出错原因)

如果是场景设置问题,需要重新设置场景,重新运行

如果是脚本的问题,需要停止场景并调试脚本,重新运行

四、参数化

1、含义:

同样的业务,出现不同的数据,考虑采用脚本参数化技术

2、步骤:

确定参数化的数据—->

准备数据-—〉提供策略——〉参数化

3、准备数据(目前:

File方式)

1)每个参数使用独立文件(参数池)

2)多个参数共享同一个文件(常用)

Excel工具、Column(序号、列名)、FirstData(从哪开始)

4、参数池的策略(难点)

1)Selectnextrow选择下一行(How?

如何取?

a、顺序Sequential:

从第一行开始顺序向下选取

b、唯一Unique:

从第一行开始,唯一向下选取

c、随机Random:

随机取值

d、Samelineasxxx:

取值策略与参数xxx相同(同一行)

2)Updatevalueon更新方式(When?

何时取?

a、每次迭代Eachiteration:

每次迭代时取值。

(Action一次)

b、每次遇到Eachoccurrence:

每次遇到该参数时。

c、取值一次Once:

脚本运行过程中只取值一次。

3)Whenoutofvalues:

选择Unique才有,数据不足时处理情况:

a、放弃虚拟用户AbortVuser

b、以循环的方式继续Continueinacyclicmanner

c、持续最后一个值Continuewithlastvalue

经典需求:

注册脚本,多用户,则参数池策略组合

Unique+Eachiteration+AbortVuser

另外,常用的组合:

SE组合(顺序+每次迭代)

5、综合题(帮助理解参数池的策略)

某参数现有备用数据a1,a2,a3,.。

.a30;

脚本迭代4次;

3个VU;

完成一项结果:

(必须掌握!

1)顺序+每次迭代〈重要>

VU1:

a1a2a3a4顺序每个VU取值序列相同

VU2:

a1a2a3a4每个VU都从第一个开始往下取

VU3:

a1a2a3a4每个VU共迭代4次,取4次值

2)唯一+每次迭代(无特殊说明,块大小为自动分配)〈重要>

a1a2a3a4唯一从第一行依次唯一向下选取

VU2:

a5a6a7a8每个VU都不同

a9a10a11a12每个VU共迭代4次,取4次值

3)随机+每次迭代〈重要>

a18a3a5a17

a20a18a13a22

VU3:

a30a2a28a14

4)顺序+每次遇到

VU1:

a1a2a3a4

顺序:

每个VU都从第一个顺序向下取值Action中参数只出现1次

每次遇到:

每个VU遇到4次

(注意:

使用参数模拟器,会出问题,不能被模拟,因为不确定数据量是否足够)

5)唯一+每次遇到(块大小为6)<

重要>

a7a8a9a10

a13a14a15a16

唯一:

块大小6第一块(a1a2a3a4a5a6)

第二块(a7a8a9a10a11a12)

第三块(a13a14a15a16a17a18)

每次遇到:

每个VU遇到4次,取每块中的前4个

6)随机+每次遇到

a5a8a11a20

a7a5a9a15

a12a17a24a26

每次遇到:

由于参数只出现一次,效果等同于每次迭代

7)顺序+一次〈重要>

a1a1a1a1

顺序:

每个VU取值一样;

一次:

只取第一个值

8)唯一+一次〈重要〉

a2a2a2a2

a3a3a3a3

每个VU从第一开始,唯一向下取值

每个VU取值后,不再换值

9)随机+一次<

重要〉

a5a5a5a5

a16a16a16a16

a18a18a18a18

随机:

每个VU任意取值;

一次:

取值一次,不再换值

10)唯一+每次迭代(块大小为6)注意与2)的区别

唯一:

五、常用函数

1、web_find函数

1)写在相应请求之后

2)Run—timeSettings需要设置:

可用

3)左边界:

RightOf

4)右边界:

LeftOf

5)web_find执行效率低于web_reg_find。

2、lr_output_message是LR的输出函数,经常用于脚本的调试。

3、脚本中快速定位

1)从日志定位到脚本行:

双击日志、根据行号Ctrl+g

2)从脚本行定位到日志中:

右击脚本->

GotoStepinReplaylog

4、检查点函数区别

1)web_find()(LR普通函数)

特点:

从HTML页面中查找指定的文本字符串(比较占资源、效率低、较少使用)

2)web_image_check()

a、alt参数:

当鼠标悬浮在图片上时显示的名字,给用户看的

b、src参数:

图片的路径名及图片名称,给程序员看的

3)web_reg_f

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2