性能测试之场景设计.docx
- 文档编号:24832941
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:26
- 大小:96.79KB
性能测试之场景设计.docx
《性能测试之场景设计.docx》由会员分享,可在线阅读,更多相关《性能测试之场景设计.docx(26页珍藏版)》请在冰豆网上搜索。
性能测试之场景设计
ScrotiinScerMri口
性能测试之场景设计
刖言
性能测试中的场景设计是实施性能测试的基础,只有合理的设计测试场景才能获得有价
值的测试数据,为接下来的确认瓶颈、系统调优打下基础。
场景(Seenario)是一种用来模
拟大量用户操作的技术手段,通过配置和执行场景向服务器产生负载,验证系统的各项性能
指标是否达到用户要求,而Controller可以帮助我们对场景的设计、执行以及监控进行管理。
LoadrunnerController来管理和维护场景,可以在一台工作站控制一个场景中的所有虚拟用户(Vuser)。
执行场景时,Controller会将该场景中的每个Vuser分配给一个负载生成器。
负载生成器执行Vuser脚本,从而使Vuser可以模拟真实用户操作的计算机。
场景的分类
1.人工场景(手动场景)
所谓人工场景,实际就是自定义模式,各因素完全由我们来设置的创建场景的方法。
相
比面向目标场景,人工场景在实际工作中应用的更为广泛。
用赛车游戏来比喻,这种方法类
似常规比赛,不同的汽车从同一起点出发,到同一终点结束,最终按照时间排出名次。
2.面向目标场景
面向目标场景则与人工场景有所不同,它预先定义了一个测试目标,LoadRunner将根
据这个目标自动构建场景,有点类似向导模式。
这种方法对于验证在项目性能说明书中列出、
需要达到的性能目标很方便。
还是用赛车游戏来比喻,面向目标场景有点类似计时赛或者追
逐赛,不同的汽车从同一起点出发,在规定的时间内,走的最远者获胜。
在面向目标场景的“向导模式”中,设定了一个或者多个测试目标,比如要求系统达到每秒处理5个事务,LoadRunner再根据这些目标自动创建场景。
目前,LoadRunner支持的测试目标有如下几种:
虚拟用户数量。
每秒点击次数(只对WebVuser有效)
每秒事务数量
每分钟访问页面数量(也仅对WebVuser有效)
事务响应时间
场景设置描述
㈠.新场景设置对话框
Scenario
ScciunoTjrJP^
kMar^alSt&narw
ManiocKf5loodtc*lbv^DCCiF^ngtkbCnumbcfotvirtualu?
cr$borun
0IInrFhr:
什Morlf^tnrii-^kihukr:
Fhr:
Vi」荐rv氏runnnosnriptfi
LGodJ-OhenLedSceridnu
AllogiLoadRijnrieiConCiolleiloae^Le-=iscei^iaiioLa^edcriipoaJ^yenspecify
S-electtheacript[fi|vou凶odbllh右tousoinvol*scenario/^v-ail-dbleScripts
鼻flighh03
戸Shovjatstartup
CancE-l
Hdp
鸟fllohi:
s_test3
字段解释:
SelectScenarioType(选择场景类型):
此选项区域列出了场景的两种类型:
①ManualSeenario(手动场景或人工场景):
手动场景设置我们可以设置不同的业务组用户数量,同时编辑计划指定相关的运
行时刻,虚拟用户加载策略等完成场景设计工作。
在创建脚本的过程中若选择了
“UsethePercentageModetodistributetheVusersamongthescripts”选项,则可以指定虚拟用户总体数量,而后针对每个业务组设置用户数百分比的形式完成场景设置。
1(
未勾选UsethePercentageModetodistributetheVusersamongthescripts:
lJ:
\l-VograTnheAHPMjcacFunref^terptf
U:
\l-tograviHes\HFMjcacFunrW*c「pt0Wght5_"estJ
勾选UsethePercentageModetodistributetheVusersamongthescripts:
SaipNaiieSciqlPah
MTincirinFilfij'-HP'lnadRunwfxJciiprsUiqhKB
至TrnginnFiS^HP'JLjcii时ighr:
jstS
②Goal-OrientedSeenario(面向目标场景):
AtaLoadRunnerLontrollercreateeecerariobasedortbsg◎占byou$p电e內
允许LoadRunner控制器根据具体的目标创建一个场景
Sfleetthest(ipt(s)卿wouldliketouseih卿【scenario脚本选择
由于Web应用比较复杂,在实际工作中需要创建一系列的脚本,比如登陆脚本、订票脚本、回复帖子脚本等。
因此,可以通过选择不同的脚本组合来模拟不同虚拟用户的不同操作。
AvailableScript(可用脚本):
首先可以从此处选择可用的脚本。
ScriptsinSeenario(场景中的脚本):
选择一个可用脚本后通过【Add】按钮将其添
加到此处。
然后单击【Remove】
Remov(移除):
在ScriptsinScenario中选中一个在场景中的脚本,按钮从ScriptsinScenario列表中移除。
Browse(浏览):
单击【Browse】按钮可以选择脚本。
*gnTost
重找?
E雷fX).IC23SCTlRtW
SelectiFii
車HiqhtE
Jrniji4_L诅3
文件名Of).
Jt件^JELLTJ:
\V^=^rSeript=
CliaMst*5口
打开rgiI
取.消[
'She穴mlstartup
u<
Cancel
Help
NewS匚enano
SolflcrScRTiwinTpta
t*ManLial5»nafiD
Haiuijc-yij*JrknodtcitbyipcUicliLlmbcru(viltualUscI#luIUpi
UseIhcPcrccnlacicMudcIodi^hibuLcIhcVu3ci3已monuthic鼻匚「耳朮鼻r¥
Record(录制):
单击【Record】按钮可以录制脚本,弹出脚本录制界面:
aHPVirtualUserGenerator-"[StartPage]
ReViewTookWindowHelp
Q觀5tartFLecord・■H孕L》21闻
QualityCenter…:
连接服务器
QualityCenterConne匚tion-ServerConnection
Step1:
Connectto
ServerURL:
|l
EKuijile'Ltlp:
ZAiervflr/Qcbin
厂vnst爼rt可
H41f
Cl&ia
㈡.手动设置场景
^■■L.-b■BaeqB-ft]M■空■
"讣>丄耳«:
h*Ml1WRBl■xrn■詩I
AA讯
Z/urWluLu*aiJl上qiAirkAH
1—
Q■具rIvrl
bW
r却kiWfli重j■闻旧
$
F*:
1-.理iriVi!
>"*■护Fl,■rfLoid曰gwr.
—
—
1
]
J
ILcbhm
4
Z血qX冲unn
kJ■小・R直m肆加R
Cat.4*5>*nE**-■ELAd.UW
1uMb
J*;i*•_K航iC
哥t床附重H
JjHluIL^IIIx>ck壬DET21JII^H.
总丄iM-Q
IJjWv:
Litj图的最下方,有两个选项卡,分别是Design(设计)和Run(运行)。
它们清楚地描述了手动场景的设置步骤就是:
先设计,再执行。
在此我们只讨论场景的设计。
左上方界面显示SeenarioGroups为场景用户组设置界面
I[bl:
甲:
』emt
Qijanl匕|jjuaJUaHi吃'“电:
屮l_I"I3
L'y-ki^fl-nFtL\rtP\L5HdPuni^\mi^liMlJ3
II虹卅顽1
a血1
III删
L
.:
开始执行场景
.函:
场景中的虚拟用户设置
.理]:
增加用户组
.團删除用户组
.121运行时设置
.仗详细信息设置
.鸟查看脚本
右上方界面显示ServiceLevelAgreement为服务协议界面
左下方界面显示ScenarioSchedule为场景计划界面
①首先看此界面的主菜单设置:
ScenarioSchedule
n^NewSeenario可以新建一个场景
DeleteSeenario删除一个场景
_Savenewname保存更改的场景名
StartTime场景开始时间
Startscenarioc
Withoutdelay
厂Witha0Illi1rII—呦伽.⑹
rAt
Help
包括:
Withoutdelay(立刻执行)、Withadelayof(延时执行)可以设置具体时间之后再运行场景、At(定时执行)可以设置在何时(具体日期、小时)运
行场景。
②场景计划主体包括:
ScheduleName:
更改场景名
‘盲Scenario
Scheduleb^:
‘盲Scenario「Group
计划按场景或用户组
场景方式中所有用户组虚拟用户增长方式一致,用学校活动来比喻,类似全校所有班级参加团体体操比赛。
用户组方式中各用户组中的虚拟用户增长方式可以不同,节目的汇演。
RunMode.'VReal-i^orldschedule厂Basicschedule运行方式选择
真实情况计划这种方式可以修改持续运行(Duration)与停止虚拟用户(Stop
Vuser)这两种在启动虚拟用户之后发生的场景操作属性,它相对第二种执行方式更接近真实情况。
按脚本设置运行直到结束,这种方式则无法设置用户组启动后的各操作属性数值,脚本运行开始后,用户组的属性就维持不变了。
以上三个为设置执行场景的总体规则以下为设置执行场景过程中各个分步操作的属性
GIabaISchedule
鼻严ft♦
Action
1.
2.
1.
2.
Total;£0Vusers
Initialiie
Propefties
InitiillrtticliYuserjustbefore
StartVusers
Start£0Yusers:
£everyOO:
00:
15
Quration
Rimfor00:
06:
00
監)
►Stoj/users
StopallVuE&r^:
5eirery00:
00:
30
类似全校各班级自报
itruns
cm:
训i;35)
CHH.nM:
SS)
主菜单分别为编辑Initialize
“添加”、“编辑”初始化操作属性:
“删除”、“上移”、“下移”Action
AcUonInitial^
ImGalITSallVuserssimultaneously
Plaitial
IIlliimHIIIHIII■■“■[“■■■I"■“IIMBIII■■■■■IlIIIII■11I■■11■H■■11HI■■■■IIIIII
f*IikiHj-iie亡扎Vuserjustitruns=
:
-..IIl_—J.;Il__lllllb.—llJ_LIII_l■■—.III
tfelp
OE
CuicaI
包括:
.InitializeallVuserssimultaneously(同时初始化所有的虚拟用户)
.Initialize-/usersevery---(每隔一段时间初始化一定数目的虚拟用户)
.InitializeeachVuserjustbeforeitruns(在运行之前初始化每一个虚拟用户)
编辑StartVusers启动虚拟用户操作属性:
EditAction
ActioiltyjeStartVusers
ffcKt》 二IYuB^ra: 广SimuHaneoualy apmfuserseveiy 100: 00: 15-r tfUp OE Cuical 包括: Start—Vusers: 总共启动多少个虚拟用户然后选择这些需要启动的虚拟用户的启动方式: .Simultaneously: 同时启动 .--VuserseveryHH: MM: SS每隔一段时间加载一定数目的虚拟用户编辑Duration持续时间操作属性 EditAction Actioiltyi>eDuration ffcKt》 CRununtilcompletion a飾LT需;W±1Tandco;05: 00-J-OfflWffl: 阳) tfUp OE Cuical 包括: .Rununtilcompletion: 场景持续运行直到完成 .Runfor-dayandHH: MM: SS场景运行指定的时间编辑StopVusers停止虚拟用户操作属性 £PreviOTJ Stop[All ▼IVvEfrs: LSimuibneousiv tfelp 仝7u3er3eveiv 00: 00: 30 OE CuicaI 包括: Stop—Vusers: 总共停止多少个虚拟用户然后选择这些需要停止的虚拟用户的停止方式: .Simultaneously: 同时停止 .--VuserseveryHH: MM: SS每隔一段时间停止指定数目的虚拟用户 右下方界面显示InteractiveScheduleGraph为运行当前场景,达到场景目标所历经 的过程趋势图 ㈢.面向目标的场景设置 >■"出■“CHmrc*C* 11TLii: ' •=帀学刁Fit袖耳A IlirtT-w■■- -Jin-pd・卢切lUwhhP 」* 样脚2祁ITgyi■"虫i aj UI ■■ Iini■■BTr 1|<>HIII頁 寒屮id Ml-H. 左上方界面显示SeenarioScripts为当前场景中的脚本列表右上方界面显示ServiceLevelAgreement为服务协议界面 右下方界面显示图片区域为运行当前场景,达到场景目标所经历的过程趋势图 左下方界面显示SeenarioGoal为场景目标信息显示和编辑( EditSeenarioGoal)区 QiiStapVuserv ScenarioGoal Go-alProfileName: jl-lit£perSecond100 Goal; 100,00MilsperSecond MinMumberofVuserv: MaxMumberofV稠&传; 150 ScenarioDuration: 000;3D;00(hhh: nini: s: T]afterthetargethasbeenachieved LoadBehavior: Re-achtargethitspersecandusingautomatici-ampup 换EditScenarioGoal... 由图可知: 系统默认选择了场景目标为其他属性为: 每秒点击次数100 MinNumberofVusers: 50 最小虚拟用户50 MaxNumberofVusers: 150 最大虚拟用户150 SeenarioDuration: 30minafterthetargethasbeenachieved场景持续时间: 目标完成后30min LoadBehavior: Reachtargethitspersecondusingautomaticrampup 性能负载: 目标每秒点击自动增加 EditSeenarioGoal编辑场景目标 麵EditScsnafioQoal.I ttlrtSCenanDLM( Ak^dF-ullcN^nv lO HmjipItokiio LIbwI Ster^iig5tj*Trid. D曰nrScr'nnciSorJ SoallJDO'I卜訂"亏Mbd R=ai±口osic? hCD.nCI hfeperBacaid Llf'hiJ4IlliiiTiiJ>ii? l[JM gfldar-flKiFi.jn\.i|i5DJ ffl ViJyMi Rir血pOn叩fti怜IIHIHMMSSJMni心5讯Mahwn书 临 171刃 50 40 TSU 2W IN(a-osihftf*wtta6hedr- f- S呛pansi住aftCS3/'er现匕 Dnhn.-ricctjucwfUrcachrDD RwovdnoiilTm Al LtncJ七*cv> DC.10DO.I? gwKMR;汕 Esp»didme M: K a•nxio 「f)口nnlchmrj^rocn'rlfiJI■卜詆trne- UKICaiMlH=lpI GoalProfileName选择不同的目标: GoalPlollieName: hiQ£l;ma^iumSlSI DefineScenarioGoaI修改场景目标具体数值: O』i-F礼旳TittAn..ill GoHThih|HUp9i2«ccr(J 鶯Rfrsch卯alm|lMMHispersetond Usinqanirmunof[b5'|^aicaTaKmuict|l50擋Musers 包括: GoalType: 目标类型 Reachgoalof…hitspersecond: 目标每秒点击数 Usingaminimumof--andamaximumof…Vuser: 虚拟用户的最小值和最大值 SeenarioSetting场景设置 HunTime Runfoi|0[)[1: 30: 的胃(HHHNWSS)afterthetargethasbeenachieved 此为达到目标后系统继续运行时间 IFtargetcannotbefetched ''Stfp? cenaricaridsave耳別陋 '•匚ontinuescenario^ilhoutreachinggoal 两Receiverwtilicdtior 此为【如果目标无法达到,系统的处理方式: (Iftargetcannotbereached)1 Stopseenarioandsaveresults停止场景并保存结果 Continueseenariowithoutreachinggoal继续运行场景、无须达至U目标 另外,还可以选中接受通知(Receivenotification)使得测试人员了解测试目标无法 达到这一情况 LoadBehavior负载行为设置为达到当前目标而增加负载 FlampUp IJillIIIUBJIILHJI“L 拧iAutomatici ・I.」..I■一L■. 厂S唧upby工 「Reach怕®巳tnumberoPhihspersecord^fter|orloxnmhitspersecond GOo: -: cn同} 负载增加的行为方式有3种: Automatic自动: 默认方式,无须设置 Reachtargetnumberofhitspersecondafter..时间间隔: 这种方式可以设置当前场景在达到目标之前需要运行多长时间,以小时: 分钟: 秒为单位。 StePupby-hitspersecondevery…: 渐进式: 这种方式可以采取一种渐进增加的策略执行场景,比如上图为每隔2分钟增加20个虚拟用户。 其他的目标具体设置内容和数值有所不同。 Donotchangerecordedthinktime不修改录制的思考时间 厂Don试changeweededthiiktime 思考时间是用户在Web应用各操作之间的时间。 因此,在与事务相关的场景目标设置中,若维持每秒事务数量不变,如果选中了此项,则虚拟用户数量要相应的增 加。 面向目标的场景设置,同样可以设置场景的启动时间: FiMamfrIDek"|NfrwI Scenario5tartTime... ScenarioStart Start妊色怕也 Withoutdels^ Withadelayof100: 00: 00 AI|23: 1235H舌切on叩"时8二| OK Cantel 与手动场景设置一样同样包括: Withoutdelay(立刻执行)、Withadelayof(延时 执行)可以设置具体时间之后再运行场景、At(定时执行)可以设置在何时(具体 日期、小时)运行场景。 ㈣.控制器的全局设置 前面了解的是创建手动场景和面向目标的场景的各种设置,这些设置都是针对具体的特 定测试场景的,如果场景不同或者测试类型不同,数值一般不同。 此处描述的控制器的 全局设置则有些特殊,其中的数值对于该控制器下管理和实现的所有场景都有效。 打开控制器全局设置的方法: 瞧QualityCenterConnection. ScenarioScripts| 11Script 1 C: \LoadRunnerVscripts' E阿hUtesU L1 C: \LoadRuniier\scnprs'
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 性能 测试 场景 设计