不是因为有些事情难以做到,我们才失去自信,而是我们失去了自信,这些事情才难以做到!

Mercury Business Process Testing (二)

上一篇 / 下一篇  2010-03-19 11:08:19 / 个人分类:性能测试

将Business Component自动化

0gL(x{yS2?9V0

51Testing软件测试网P-T4H%\m6j

  再回到Business Components将其转成自动化测试脚本,在Design Steps点选QuickTest Keyword-Driven,将此Business Components转成QuickTest Keyword-Driven类型的测试脚本。Business Components支援三种类型的脚本:QuickTest Keyword-Driven、QuickTest scrīpted、WinRunner。

jE6U Pv'C/t*N.r0

51Testing软件测试网(q[boP

51Testing软件测试网2}AS^H(?[k

51Testing软件测试网G$F O z1_V R

51Testing软件测试网8MLc,kgD B*p

  转成QuickTest Keyword-Driven脚本后,点选Automation就可以看到其Keyword-Driven的脚本,目前都还是ManualStep。51Testing软件测试网6C9ht2[c,i;R

51Testing软件测试网(z]VL R:\

nMH9jGa(j0

5{P:PX \Cm0

nn,b/bsgb aP0

选择Application Area。这个Application Area内含测试物件(Test Object)、Keyword steps、函式库等等。51Testing软件测试网dt}1zcF2l%?k

@$z p pGCc-q:so0

L*j|2tmi ~ j0

51Testing软件测试网GPB@#DB*r

将Keyword-Driven步骤加入Business Component中

k x?t*t(hWfA/F`0

N k3V6S `$U)C0

  直接在Keyword View上透过选取Item、Operation、输入Value的方式建立Keyword-Driven脚本。51Testing软件测试网r3py ys:nh

第一个步骤為执行Flight Reservation程式,在Item栏位就不是选取Test Object,而是选取Operation,然后在Operation栏位选择OpenApp表示此步骤是要执行一个程式,同时在Value栏位输入这个程式的路径,这样第一个步骤就完成了。

?/Z)XnT7X0

  在Item选取Login Diaglog的Test Object,然后在Operation选取Activate,表示此步骤為开啟登入视窗,Value栏位则不需要输入任何值。51Testing软件测试网 w:h p-P O]uu

51Testing软件测试网du;@Z3oA

51Testing软件测试网B,q`'p f;C1VJD[

选取AgentName的EditBox,Operation则是Set,表示要在Agent Name这个EditBox输入资料,至於要输入什麼资料就直接输入在Value栏位中。51Testing软件测试网`c-zV_2IM:x

51Testing软件测试网B/P#h7S I:q1N!_f O

51Testing软件测试网yU9|2Cg7W(z^j'X

51Testing软件测试网y)x/\#~w2k6G)D

%Xt/T%`y6u0Y AP0

在Value栏位输入mercury。51Testing软件测试网y`8B&]'yo

5W"t,C,yRdMm0

'Jpm#C!J0

&R"X+}9Mf7c v0

IPW"k\|(|-KUj0

以相同的方式加入其他的步骤,完成后整个Business Component的执行脚本如下。51Testing软件测试网4?G)i&UO];]

*AtF,IY0

51Testing软件测试网~3?!Ip9m9z)j$y

TU/FaM(?/Or jSi0
1

Mercury 在 Quality Center 8.0 时就推出 Business Process Testing,到现在已经进步到 9.0 的版本了。为什么 Mercury 发展出 Business Process Testing 呢?Business Process Testing 的好处在哪?要如何使用Business Process Testing?我将在以下的文章为大家做个介绍。51Testing软件测试网D+f`4LO+N

51Testing软件测试网fFK{dBm,r

传动自动化测试的限制

%u|?}3z8O(@0

?0{U%sQ T0

  软体的自动化测试在过去一段时间中有长足的进步。每个世代的產品都成功解决了某些重要的挑战,但是同时也引进了不同的问题等待解决。51Testing软件测试网9hVO T$L#LJz

51Testing软件测试网#d4^;z'I.q&C'o$dg0o*k

  第一代的自动化测试大概在15年前开始,透过硬体的方式录製键盘的输入并播放,但缺少检查点(checkpoint)的功能,而且测试脚本很难维护。

}r$U&e3Jr[0

51Testing软件测试网+P1h-DFP$i?.`

  第二代的自动化测试则大约在10年前开始的,这时已经由硬体转变成透过软体录製/播放(capture/playback)的方式產生测试脚本(scrīpt),并且也增加了检查点的功能,可以对软体做验证,测试的范围也比硬体方式的自动化方式大了许多。比较大的问题是测试脚本也是一种程式语言,所以测试人员也需要懂程式语言,换句话说就是要会写程式。而且当软体有变动时,测试脚本也需要同步更新,这对测试人员来说是一大挑战,测试人员常常就是整个测试脚本再重新录製一遍。51Testing软件测试网 XiO a/a t'Z$Q6h ^)W

51Testing软件测试网 ?_8t%kA-^uB

以下為Mercury WinRunner测试脚本的范例

'@-{ H!i\~g+F3u,]0

51Testing软件测试网ns'n c+Um

51Testing软件测试网[|kE,s*Bpd@

M]1u(s#OT4Q9^D0

Y9M4iq&U;Zn0

  在2001年开始了第三代的自动化测试称為「测试框架(test framework)」,主要是把测试脚本给抽象化(abstraction)(註:如Keyword-Driven Test),让非技术人员(如系统分析师、使用者等)即使不懂测试脚本,不会写程式的情况下,也可以使用自动化测试工具建立自动化测试个案。

%]9tX*| b}sSY0

o S{MH-k@p0

  举个 Mercury QuickTest Professional Keyword-Driven Test的测试脚本為例子,测试人员不管是录製、编辑或是看到的测试脚本都是以「click the “OK” button」这样的关键字所呈现的。

*Hcf,n3DkYn0

6AX7N)r yjq8J0

O&??X\W0

51Testing软件测试网/D6m B ef"Q

「测试框架」确实是增加了测试团队的生產力,但是还是有些缺点:

D0X`BqzE0

*         以Keyword方式建立的测试脚本还是在测试步骤的层次,当设计一个复杂的商业流程测试个案可能还是需要大量的Keyword。对测试人员而言还是需要耗费大量的时间。51Testing软件测试网 GLG6o5|%N2G_!A

*          「测试框架」对於测试人员而言,只是测试脚本长得不再像是程式原始码,而像是在Excel中填入Keyword罢了,其实还是在写测试脚本。

Uwa.g H W0

*           支援「测试框架」的自动化测试工具通常与之前的测试工具做法不同,例如不提供录製的功能,而限制了其弹性。再者,测试人员在使用这类工具时也常常不知其所以然,在不瞭解内部的运作下,很难对Keyword做客製化。51Testing软件测试网S8V?eN(~]u

*          「测试框架」即使已经被抽象化了,但是其层次还是停留在「步骤」的层次,尚未提升到「业务流程」的层次,迫使测试人员在建立测试脚本时,还是需要以「程式人员」的思考方式建立测试脚本,而不是以「业务人员」的角度来建立测试脚本。51Testing软件测试网HS$J-J\;LI+[ Q

*         「测试框架」的测试脚本没有与测试文件建立关联性,测试人员还是需要花费大量的工时在建立与维护测试文件的工作上。

7S!P Ye SDy0

"bExW)A0

  从上面的问题,可以看出「测试框架」这样的方式,对於具备技术背景的测试人员也许还 OK,但是对没有技术背景的测试人员如(业务人员或是使用者),还是有其使用上的困难。51Testing软件测试网~QE1A$RNo8l

51Testing软件测试网&h!WQ;q*iv$NOe$^x

  Mercury Business Process Testing – 是一种转变而非一种新技术51Testing软件测试网AuF7}?4V0t-s}

51Testing软件测试网g"U;Jq8E1Q5F

  Mercury很快地意识到这些挑战,并非只有单单改进第三代自动化测试工具就能解决,需要的是一个全新的方式。所以从测试脚本的设计、自动化、维护以及文件化做一个全面且根本的进化,进而发展出第四代的自动化测试工具「Mercury Business Process Testing」 。51Testing软件测试网:eo!l5M/Tz

I1g5bd'{rC*g0

  相较於Keyword-Driven Testing,Business Process Testing的抽象化层次更高,到达了「业务流程」的层次。51Testing软件测试网E9E.cjA7db|

wU8pM9_?0

  以下的例子可以看出一个有登入动作的测试个案,使用Keyword-Driven Testing的方式,至少需要4个步骤:开啟应用程式登入视窗、输入帐号、输入密码、按下OK按钮来完成登入的动作。但是以Business Process Testing的方式,登入的动作就成為一个可以接受以帐号、密码為参数而且可以重复使用的业务流程元件。51Testing软件测试网 d5lG9T3]7Jp {J

51Testing软件测试网Ka/\$LD7nB

mH.H`,R0

51Testing软件测试网'I~ A._(j

dN$bp{!S3i-j/K$C0

k!^ b%L(fE0

'F}"H#qM@0

ph*O)r&o9h Z0

Business Process Testing的优点

E"{k$EX-g/x&T^0

~/rJ)x&K T4rn4Lm0

使用Business Process Testing的自动化测试主要有以下的优点:

~8Z0?3Gmq0

*         透过非技术性、元件化、以业务流程层次的方式设计测试个案,让业务人员以及一般使用者也可以参与自动化测试的工作。

k_)WQ.t9L }0

*          业务元件可以被不同的测试个案所使用,加快建立自动化测试脚本的时间,并降低维护的成本。51Testing软件测试网5ZQur'El@r[A3w

*          建立或维护测试脚本时也会同时更新测试个案文件,大大缩短维护测试文件的时间。

U'F:vc1ie]x"w-v0

如何Mercury Business Process Testing

`Y{$fp0

51Testing软件测试网H8se-X'gZ

  Business Process Testing需要Mercury Quality Center与QuickTest Professional配合才能运作。同时测试团队中也需要二种角色,一是熟悉QuickTest Professional测试工具的人员(Automation Engineer),负责建立并维护Application Area、物件库(object repository)、library files、recovery scenarios,另外也需要负责对Business Component进行除错的工作;另一是非常熟悉业务流程的人员(Subject Matter Expert),透过Quality Center介面,设计Business Component以及Business Process Test并运用Application Area将其自动化。

)b W7T wz0

51Testing软件测试网7f0ZeS`{)k

  使用Business Process Test的流程如下:51Testing软件测试网p.Si"s+K c

51Testing软件测试网Q#|I4X9N _)Y8m5j"t

5H,AX y b(]1C0

51Testing软件测试网%T H:CB/^)[ y

7o|)A+g%tK0

建立Business Component

K;|D'y9BE \E%W0

+H'hc4C/Kuh,T0

  首先建立一个名為Login的Business Component,并且填入相关资讯,如Summary、Pre-Condition、Post-Condition,让想要使用此Business Component的人员知道其目的、用途以及使用条件与限制。51Testing软件测试网 w q+H3hP k6M(r)`/`@

51Testing软件测试网+k\`$}cq$Sg[

x$Ue@ vTt{Z)^0

51Testing软件测试网%M1Z6JBIoob+a K

l J H ];_5My|T3[&h'S0

输入测试步骤

DF"|Lx O8G2A*D0

'sS i y+\0

点选上方的Design Steps,开始输入测试步骤,含Step Name、Descrīption、Expected Result。51Testing软件测试网8W5LzT7G&g{ pFz

gpF6I v\)yL#M0

51Testing软件测试网9ED7|?;Zb

51Testing软件测试网 [ k]9R H0}yL

点选New Step将其餘的测试步骤也一併输入,最后可以看到此Busniess Component的执行步骤如下。

E:I"fx{.M;J V0

51Testing软件测试网tI'?*P+d

R(Nq6w A&e7pE1_T0

51Testing软件测试网Bg5C#dV \

51Testing软件测试网x(tnu6d|{

建立Business Process Test

Wh4O1o},j d0

51Testing软件测试网Row9T%Zh

点选Mercury Quality Center的Test Plan,建立一个名為「预定机位」的Business Process Test。51Testing软件测试网a m`8q OXT&o

51Testing软件测试网 fv%u*Ye*b|5x

51Testing软件测试网 u'q!I,[(t_v

Ic gM&@0

51Testing软件测试网Ap CW)_s6f$C(ll

输入此测试个案的描述。

@XB.[V { x0

51Testing软件测试网4G#vcqJpn.e

51Testing软件测试网7e1k h'z!c)B;c xY1r!Y

?E^ `r NUD0

将Business Component加入Business Process Test中51Testing软件测试网:L:I-p CI5Q

51Testing软件测试网-O4dYUz9jS't5W

  在Test scrīpt点选Select Component,将刚刚建立的Busniess Component依序以滑鼠拖拉到中间的区块。此Business Process Test由Login、Create Order、Update Order、Logout 4个Business Component所组成。51Testing软件测试网m M Bi.?

51Testing软件测试网S@;{$t+R0Y({

_7wH-KB5Pb0

4q q}yj%P0

将Business Component自动化

,sB JCp"CKx @V0

51Testing软件测试网@6O`4X{Y}

  再回到Business Components将其转成自动化测试脚本,在Design Steps点选QuickTest Keyword-Driven,将此Business Components转成QuickTest Keyword-Driven类型的测试脚本。Business Components支援三种类型的脚本:QuickTest Keyword-Driven、QuickTest scrīpted、WinRunner。51Testing软件测试网^ N*~2x]*l]\3r

@9^ oO"|7P-}_ ey2a0

K&hrF-h2?*b:c0

5aY0_ W"WSn0

y I3@%c?0

  转成QuickTest Keyword-Driven脚本后,点选Automation就可以看到其Keyword-Driven的脚本,目前都还是ManualStep。51Testing软件测试网:H F8aecZk(~#v

i.{C^;{e)h T0

.Y"~C2g L]d5b.g.[0

51Testing软件测试网5] l hEBP

  选择Application Area。这个Application Area内含测试物件(Test Object)、Keyword steps、函式库等等。

F,_i4Rfq&?/GX0

51Testing软件测试网.V@t Q \6n Wqe e

51Testing软件测试网eN%G"Od0} Aj/v D

51Testing软件测试网3IK MaD5uP&t

4C/TH)a9C6z]0

将Keyword-Driven步骤加入Business Component中51Testing软件测试网6I-a"Q4f$R

51Testing软件测试网4CkiO.~h-b+G

  直接在Keyword View上透过选取Item、Operation、输入Value的方式建立Keyword-Driven脚本。51Testing软件测试网+jd n6S2k6|2L'q"v5B

第一个步骤為执行Flight Reservation程式,在Item栏位就不是选取Test Object,而是选取Operation,然后在Operation栏位选择OpenApp表示此步骤是要执行一个程式,同时在Value栏位输入这个程式的路径,这样第一个步骤就完成了。

ARD"^Bk6n0

Item选取Login Diaglog的Test Object,然后在Operation选取Activate,表示此步骤為开啟登入视窗,Value栏位则不需要输入任何值。51Testing软件测试网 ML*XGu\ t+yr&_(i8K

51Testing软件测试网vXB*v/vp l'pr

)@eL%ni h(F0

{(W;[_-xg1?:cZ0

51Testing软件测试网x4IVrR J6ae0DR:G

  选取AgentName的EditBox,Operation则是Set,表示要在Agent Name这个EditBox输入资料,至於要输入什麼资料就直接输入在Value栏位中。51Testing软件测试网 hf-x5ylh(\y"P#W_g

51Testing软件测试网7L:]5F@9V'lm8S)L

F$b;VV(yfr0

51Testing软件测试网{] r7Q*@t[~0_

51Testing软件测试网K1A9]:sN w;~

在Value栏位输入mercury。

0q ~%oc'S~0

51Testing软件测试网2@"?/sG~9I%m

-P9qvjW0

'\2U;x"UD0

以相同的方式加入其他的步骤,完成后整个Business Component的执行脚本如下。

^&?f.hV#?4jb-I:\ O0


I8L8lZT0s @r I0

'W?se{ji$hdS0
1

TAG:

 

评分:0

我来说两句

Open Toolbar