Q1:什么是负载测试?什么是性能测试?51Testing软件测试网
F1w-c i^;f:F#ffu A1:负载测试是通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况下,系统所能承受的最大负载量的测试,例如,访问一个页面的响应时间规定不超过1秒,负载测试就是测试在响应时间为1秒时,系统所能承受的最大并发访问用户的数量。51Testing软件测试网8u7fB:{^ j"QQK
51Testing软件测试网Pe8c2q#cJqj 性能测试:指在一定的约束条件下(指定的软件、硬件、网络环境等),确定系统所能承受的最大负载压力。
-_Q(q![!?5Y051Testing软件测试网IHC+u.q'C Q2.性能测试包含了哪些测试(至少举出3种)51Testing软件测试网(e
U\P YR%p!f){
"o G:FPx&d-{D;M0 A2:性能测试包含负载测试、压力测试、大数据量测试、疲劳强度测试等。
$LtDk
S\I0 f(P}2G6}%X tn0 Q3.简述性能测试的步骤51Testing软件测试网^R!W
^t ]
7Nm-C0UAfu0
R}G*Xh%e)J.r0
OF m {*N051Testing软件测试网.[6{Xb5d~D Q4.简述使用Loadrunner的步骤51Testing软件测试网Q ^#T wJ g9]4Mp#emJ
51Testing软件测试网{PO.p-VU-ny0\%DT A4:制定性能测试计划—>开发测试脚本—>设计测试场景—>执行测试场景—>监控测试场景—>分析测试结果
}-R*PJ.?(Tg)[z0g0'p@{$RrJy0
Gr0R;uLe9cQuD5i051Testing软件测试网D6w:rzW&WT
51Testing软件测试网fZj5UKxBx Q5.什么时候可以开始执行性能测试?51Testing软件测试网
y/UI-W9q
;o6b
G2dC.[0 A5:功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。
t @9x`"E$Bt0?7Z;la%]V*T(l0 Q6.LoadRunner由哪些部件组成?51Testing软件测试网z.ik,d'H
%FAV-N0f0 A6:主要有三部分组成:51Testing软件测试网)? Av)V2M)w
)d7XC!k#d0
51Testing软件测试网? G4xb:c:MQ9O
\'b|"Sn_n0`*J05q-RzK2lS0 Q7.你使用LoadRunner的哪个部件来录制脚本?
LJ_+AAmi*Nl&L5R05R#r(b)y!~9N3Z0 A7:使用Virtual User Generator录制测试脚本
*IZ.Wn;apa\06A6M"ExL)p'yM0 Q8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本?
)B
[O(|4E3A/l'F
W0$H'~9@%zE@v8V0 A8:LoadRunner的Controller组件。51Testing软件测试网^'F'T%z*m%q
4Va4z3z+e0 Q9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个?
$dbVK3`7y4O051Testing软件测试网/Ac
@/vBd~8{nh A9:在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作;51Testing软件测试网"e
V'^0B s
51Testing软件测试网7o'h/m]!}V 集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状态下的性能。51Testing软件测试网%zh*Sk(Vw
J$BUc3jPjv0 设置集合点函数:lr_rendezvous("Meeting"); // Meeting是集合点名称
UeL`3@s$y051Testing软件测试网0W%n*e%_7fa{ Q10.什么是场景?场景的重要性有哪些?如何设置场景?
hL)Er"dTf#T051Testing软件测试网)P
o_D)P
t@ [ A10:场景用于模拟用户实际业务操作;
6W!O4yL$z
J?$_051Testing软件测试网/N1o6l/U9p;u*J@^|,iJZ LoadRunner中场景有手工场景和面向目标的场景。
!rok8O}051Testing软件测试网)QJW"s#s$[ E)}H
~ 设置场景:选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配置负载生成器。51Testing软件测试网;rA_ {HQU3{m"fP
51Testing软件测试网#jy|?gJ*jO't Q11.请解释一下如何录制web脚本?51Testing软件测试网UA(Im-V,s2G6k!d
51Testing软件测试网3C2y)dKL5K A11:利用Virtual User Generator录制测试脚本,录制步骤:
ZvWE;i%W|e3Y051Testing软件测试网#cz9zb3u#c 1、选择合适的协议
_?J'~*xg051Testing软件测试网$iBwm"p
nb,Oba,N K7E'CR0
P t?0E/u}4@|)X051Testing软件测试网
bq
P7`5o$b 2、设置录制选项
Lv } zk051Testing软件测试网Ur Y X7tDW3K@
51Testing软件测试网n3j#mk:MvD51Testing软件测试网.ZZ6kD{-hW\
51Testing软件测试网%V;@z9r
_
yVM 3、开始录制
@V8Q1s"~m N051Testing软件测试网Xz{vR"zxb9H
51Testing软件测试网,Sb,{7OA%yVrR0I["Z ?]\051Testing软件测试网CdL.AH Q12.为什么要创建参数?如何创建参数?51Testing软件测试网
}Lj}Md3Wl5^g
q'h[,?8DT+w2u0 A12:LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。51Testing软件测试网GRX
nc
51Testing软件测试网lf:u$MZ"[ s1V 【参数化】:使用指定数据源中的值来替换脚本录制生成的语句中的参数。
^ AQ1@_1Hi!C051Testing软件测试网M}5]Gj$_ 【参数化好处】
#i4K.@wr0#zp_XG0 减少脚本的大小
/E7eU3E$p#[0a(vA$LE;vc4Ft0 提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。
/ZL:~2d]
x4]&h!?0!b}FN AqN0 【参数化步骤】
gL,NJ FR0mrju*v'Z3Hs)i5w,T0 用参数替换Vuser脚本中的常量值51Testing软件测试网 t6G(V!D3T
51Testing软件测试网Bi/V$g
TJ4I 为参数设置属性和数据源
-M2Ni$ZM5tS(I{08Z*l8eo S"@1h`0 Q13.什么是关联?请解释一下自动关联和手动关联的不同。
6q/R2L,}v
Q2q;g$\2q0bKDfu:_O1Z0 A13:【关联的定义】简单的说:就是把脚本中某些写死(固定)的数据,转变成动态的数据,或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。
f"}BRj051Testing软件测试网~l7u \/eE
?%x 【需要关联的前提条件】:51Testing软件测试网 T W,ASTa8q gBW
51Testing软件测试网8JNz9j4eU 客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下一次请求的一部分发出。51Testing软件测试网o t m8{F#D*?*Q
o$@Xk/wbjx[0 【自动关联与手工关联的不同】:自动关联是在脚本录制过程中,VuGen会根据已经制定好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过Correlation Studio自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本,输入的数据要相同,利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据,再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。51Testing软件测试网,u4j;rPV
]
_1Sp
qh6i0 Q14.你如何找出哪里需要关联?请给一些你所在项目的实例。51Testing软件测试网a0f3z-bV1\[&T+W
51Testing软件测试网[R;e{ K0o5Q A14:51Testing软件测试网O"qS"ce3K0mi
51Testing软件测试网OB.}+Qw:P] 1、录制两份相同业务流程的脚本,输入的数据要相同
rUg$}#qL%n051Testing软件测试网xX6A:t(^#V"r:B 2、利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据
BUF&o\`06]&['R l,Rx0 3、通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
qH#a.Q3f%T051Testing软件测试网RMkqjS 示例:
L a \5b3V051Testing软件测试网zG;PDT9kAf&R
51Testing软件测试网ZBU^!Y!T@51Testing软件测试网"L'M,l A(N(G
51Testing软件测试网 {%D\.Q Ela"_&yT 通过录制两份脚本,进行对比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp需要进行关联。
VkQ\m:S0yX0Y051Testing软件测试网FF%O"F%a/ir#SZ
\5B#A6Hv`!?s0
a*a{(B\+X%RRG0#@OM
M&\%{x
{)taN0 Q15.你在哪里设置自动关联选项?51Testing软件测试网?0e2y ql |
&lG)s$Ft"M H0 A15:录制选项中进行设置,如下图所示:
bVh3W%{Mw#\0.i"j+QX1XX j+c0
/d/b)t6g1fK.`
L%O051Testing软件测试网/kH#IHBe6T
(N(c\*O8iN*R0 Q16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工关联)
G&g3B8EXP1lU051Testing软件测试网{%aO
J,jM A16:Web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。51Testing软件测试网X VZ*Z5T8o
-K@"`*}&`0 1.函数原型:
_}!o [1~PCP051Testing软件测试网 JZ#HwJD5j C-J.R$J int web_reg_save_param (const char *ParamName,, LAST);
51Testing软件测试网k8f6U(\p
51Testing软件测试网%|r
\l u 2.参数说明:
+f)M,?
F7vZ%kM00D6X"E,e]0 ParamNam:存放动态数据的参数名称51Testing软件测试网5KFNZU|U
.Y(n(GjF ~M0 List of Attributes:其它属性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。
xR%SL8Vp;hK051Testing软件测试网,eX&I"RI Notfound:指当找不到要找的动态数据时,怎么处理。51Testing软件测试网C m {n8E {3My1m#]!cq
51Testing软件测试网-qsK1t,v._~ Notfound=error,当找不到动态数据时,发出一个错误信息,为LoadRunner的默认值。
U'V/KQ%Il,t051Testing软件测试网H&V6D v/\!P Notfound=warning,当找不到动态数据时,不发出错误信息,只发出警告,脚本会继续执行下去不会中断。51Testing软件测试网3qt,g{q#S
51Testing软件测试网6mc4wi4@~ngP LB:动态数据的左边界字符串,该参数为必选参数,并区分大小写。
/j g+c1ZUMaj E051Testing软件测试网
XT
lK9a3Pz RB:动态数据的右边界字符串,该参数为必选参数,并区分大小写。51Testing软件测试网F,KIs"f$}]
5V*cz6@%S H!~'}(i0 ORD:指提取第几次出现的左边界的数据,该参数为可选参数,默认值是1。假如值为All,则查找所有符合条件的数据并把这些数据存储在数组中。
6\gS-|9P0+V5t5Mi[1L0 Search:搜寻的范围。可以是Headers(只搜寻Headers)、Body(只搜寻Body部分,不搜寻Headers)、Noresources(只搜寻Body部分,不搜寻Header与Resource)或是All(搜寻全部范围,此为默认值),该参数为可选参数。51Testing软件测试网2p
gx*E
B%f-}A!HE
$t$K7IM(Cj[3l0 RelFrameID:相对于URL而言,欲搜寻的网页的Frame,此属性可以是All或是具体的数字,该参数为可选参数。51Testing软件测试网p/|(W.[5G,f
&m4Y.BhD0 SaveOffset:当找到符合的动态数据时,从第几个字符开始才存储到参数中,该参数为可选参数,此属性值不可为负数,其默认值是0.51Testing软件测试网gKW!Nl c5T*p~3v
51Testing软件测试网^@ED
~!k)r
C7ckg4c Convert:可能的值有两种:51Testing软件测试网u+K%t:C4|Xbs
51Testing软件测试网#d)^3Bb%j`'}0j HTML_TO_URL:将HTML-encoded数据转成URL-encoded数据格式。51Testing软件测试网!cSn%J8MIe
\7PLv"\1J7fV0 HTML_TO_TEXT:将HTML-encoded数据转成纯文字数据格式。
3O,c
OMT1H t'M"g0b$x0i.U0WL5R
B0 SaveLen:从Offset开始算起,到指定长度内的字符串,才储存到参数中,该参数为可选参数,默认值为-1,表示储存到结尾整个字符串。
J-Bv3[q w)a+@^
E0