loadrunner--并发、集合点、检查点

1、虚拟用户状态:

Down:关闭, Vuser处于关闭的状态。

pending:挂起,Vuser已经准备好了,等待可用的负载生成器的调用。

Init:正在初始化,Vuser正在登陆远程计算机(负载生成器)。

Ready:就绪,已经执行执行完脚本的初始化代码,可以运行。

Run:运行,Vuser正在负载生成器中运行。

Rendevous:集合点,Vuser运行到了集合点的位置,正在等待Loadrunner释放。

Pass:通过,Vuser运行完成,并且通过。

Failed:失败,Vuser运行完成,但是运行失败。

Error:错误,Vuser发生了问题(如:Vusermei没有登录到负载生成器上)。

Gradual Exiting:逐步退出,Vuser被调用了stop (窗口的stop按钮,duration时间)命令后,正在运行当前的迭代。

Exiting:退出,Vuser已经结束运行已经停止,正在退出。

Stop:停止,Vuser被调用了stop(窗口中的stop按钮,duration时间)命令后。

一、并发测试

1、并发测试的两个条件:

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

2)控制台中并发策略设置为第一种

2、步骤

1)录制脚本(添加检查点、集合点、事务)

2)进行运行时设置、检查脚本是否成功

3)在controller中进行场景设计(场景计划设计、集合点策略、运行时设置)

4)运行脚本,收集结果

5)在Anaoysis中进行结果分析

6)编写测试报告

3、集合点的三个策略

Pelease when x% of all Vuser arrive at the rendezvous :如果所有集合点等待的用户数达到x%时,系统就会释放用户,继续向下执行。

Pelease when x% of all running Vusres arrive at the rendezvous:如果所有集合点等待的用户数达到所有正在运行用户的X%时,系统就释放用户,继续向下执行。

Pelease when x? Vusers arrive at the rendezvous:如果集合点等待的用户数达到x个时,系统就释放用户,继续向下执行。

Timeout?Vuser?between X sec:第一个Vuser到达后,Controller会计算等待下一个用户时间,每当有新的Vuser到达时,计算器就会充值为零。在超时时间内如果下一个Vuser还未到来,controller会释放所有当前处于集合点Vuser,而不会考虑释放条件是否满足。

补充点:

1、并发测试是考察系统的瞬间压力承受能力,是比较严格的测试,所以不需要等待时间(思考时间、睡眠时间、think time)。-----忽略think time。

2、Lr结果报告中,显示了事务的响应时间的最小值、平均值、最大值、最小值,其中平均值比较重要。

3、平均方差越?。ㄇ鹘?),表示事务的响应时间越接近,代表系统越稳定。

4、90percent:表示执行该事务的90%的用户都可以在该时间内完成操作。

5、100用户共同执行某事务,其中1个用户执行时间为1000s,99个用户执行时间为0.001x,则90 percent和平均值哪个真实?---90percent值比较真实。---所以,读报告时,不应只看平均值,也要关注90 percent值。

6、Analysis 不能直接打开脚本生成器中的脚本结果,脚本生成器(VUG)中的脚本只能调试后点击“run”来从replay log中查看结果。

7、当脚本调试通过后---》加入到控制台---》打开analysis。

8、一个脚本中一般只加入一个集合点,比如一个脚本录制的是一个流程(包含多个操作),则在每个事务前都添加一个集合点。该做法从语法角度没有错误。但是如果脚本运行结果有问题,不好分析。

9、事务里面不能包括思考时间,要么注释思考时间,要么把思考时间移动到事务之外。

10、验证脚本是否成功的步骤:

a.在脚本生成器中:单循环、多循环。

b.在控制台中:单用户单循环、单用户多循环、多用户多循环、多用户多循环。

11、性能测试中,所有的数据包(客户端和服务器之间的对话)分为两类:请求包和应答包。无论是请求包还是应答包,都分为两部分header和body部分。

a.? header中是一些参数设置;

b. body中才是真正要传输的信息。?

二、检查点

检查点:主要验证某个界面上是否存在指定的Text或Image等对象。

LR中检查点有两种:文字和图片。

函数:web_find()、web_reg_find()和web_image_check()。

步骤:

a.定位要检查的页面;

b.插入文字检查点

c.设定与检查点有关的选项Vuse | Run-time Settings | Preferences

d.查看检查点是否通过

注意点:

1、一个脚本必须加入一个检查点,否则不清楚脚本的正确性。但是检查点不宜过多,一两个足矣。

2、一个脚本中在关心的操作附近要记得添加事务,所以一个脚本至少一个事务。但是一般情况下,登录也会也会被添加为事务。

3、关心的操作就是测试计划中的测试点,如查询稿件、购买机票等,只要测试计划搞定,则测试点确定。

4、注意:web_find函数要求:

1)写在相应请求之后

2)开启run_time settings中开关

3)检查的内容在AUT界面上拷贝即可

5、lr_output_message函数的结果只显示在回放日志中,不会显示在结果报告中。

1、函数

1)web_find(不常用)函数的左右边界:

a.rightof表示左边界

b.leftof表示右边界

web_find

2)web_image_check函数(不常使用)两个参数,使用时选一个即可,另一个参数可以为空值

a.alt参数:当光标悬浮在网页图片上时显示的名称(给用户看的)

b.src参数:该图片在源代码中的路径及名称(给程序员看到)

注:web_image_check函数特性与web_find相同:

1)写在相应请求之后

2)开启run_time settings中开关

3)参数内容在源代码中提取

3)Web_reg_find函数

web_reg_find函数注册一个请求,在下一个操作函数检索到的缓存中搜索一个文本字符串。

web_reg_find()返回值0或1。

web_reg_find()是否注册成功(web_reg_find是注册类型函数,它本身并不执行),不代表查找的内容是否存在。

可利用savecount进行判断。表示查找的内容出现的次数。一般不用。

loadrunner中,带有reg字样的函数,称为注册性函数,该类的函数的特点,就是要将函数写在相应请求之前。在网页缓存中寻找匹配。

web_reg_find

注意点:

? ? ? lr_eval_string函数的作用:为C语言的函数和lr的变量起到桥梁的作用;可以去除lr变量count的实际值。

? ? ? ?lr_eval_string函数后面的括号:后面必须接();()里面是字符串,所以用"";""里面不是普通字符串,而是lr变量。Lr要求,如果取lr变量的值,则必须要用{}。

? ? ? lr函数(web_或者lr_开头的函数)中出现的变量称为lr变量,该类变量不需要再脚本初始位置定义。但是C语言的变量一定要在初始位置定义。

三、基准测试(单用户测试)

1、如果脚本录制过程中遇到页面报错,则放弃录制,重新录制。要保证录制过程正确。

2、录制完成的脚本一定要回放。如果正确,再进行下一步增强脚本。

3、基准测试步骤:

1)脚本调试,运行通过

2)放入控制台

3)控制台的参数设置:

a.用户数为1

b.虚拟用户部署不需要设置(global schedule)

c.Run_time settings中的设置

? ?------run logic 中设置5次

? ?------Pacing值:随机2-3s

? ?-----Think time值:忽略(原因:单用户对AUT压力很小,所以是否存在思考时间,意义不大)

d.Pacing值:循环之间的时间间隔。一般情况下2-3s。

e.因为在线测试过程中,如果用户循环提交请求,但是每次循环之间没有试驾间隔,则过于严格,不符合实际的生产环境。

f.Think time值:步骤之间的时间间隔。


补充:

1、当run_time settings 中的run logic和duration中都设置时,duration优先级高

2、只要有迭代,就要设置pacing值。

3、每次提交的测试数据,应该测试三次,选取其中的中间值。

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352

推荐阅读更多精彩内容