更多的文章,访问我的个人博客:www.cesoo.info

《测试框架》摘选-3 自动化测试实施成功之道PEARL模型

上一篇 / 下一篇  2009-11-23 23:09:15 / 个人分类:自动化测试框架

d,EO M"y;DH0序:PERAL模型的实施背景51Testing软件测试网 Z k+k I2C @
严格意义上来讲,在软件领域中,“过程”是一个外来词,我们很难从中文的字面意思上去把握它的精髓所在,它的内在含义是来自英文的process,通常用在软件流程,软件规范的描述和定义上,比如CMM中的各种software development process,Test process,qa process等等。这些process指的是为了达到目标而执行的一些方法原则和操作步骤等。
\G~G/HxW^!E1b0需要特别注意的是,这些方法和步骤不是从天生就有存在的合理性的,否则就成了教条主义,它们其实是在不同项目不同组织中总结形成的行之有效的通用经验,为我们所用的(不是用来仰视和崇拜的)。因此,我个人倾向认为用中文的“章法”来表达“process”更为准确。51Testing软件测试网 ew e0b-y
如何规划和实施一个成功的自动化测试呢?根据经验总结,我们如果能够遵循一些章法,就可大大降低失败的风险。所谓章法,就是一步步来做,每步都有自己的关注点,在本步的问题未得到解决之前,不得继续下一步,从而避免问题向下扩大,最终导致失败。51Testing软件测试网%g*R(n%h%[(?
自动化测试的章法就是我们下面要介绍的PERAL模型。51Testing软件测试网)Rpd+L3z;n
第一步Purspose(目标):
-y'y"Y)Pqo&YVK+n0如何建立一个务实明确的自动化测试目标?51Testing软件测试网 j Et7M7i_HH

3s4x W*i2KGD0第二步Evaluation(评估):51Testing软件测试网7F'm}B F}
如何量化评估自动化测试规模并选择合适的工具?51Testing软件测试网[k nw ~7v
第三步Architecture(构建):
K){ XYp Dg0如何构建和设计自动化测试?51Testing软件测试网*G P,~DU`.c^$A

2WQ7S N u-[c0第四步 Run and debug(开发调试):
:k Rd^1ak2}C0如何开发和调试自动化测试?

b"gau$M2a0

L@}zk0第五步Link with manual test(与手工测试链接):
CjV"R#D R%N0如何将自动化测试与手工测试进行有效的整合?

6Q,_~c G'o6iG0

7l&D(L2J*jL N8D \0  Purpose:如何建立一个务实明确的自动化测试目标
5[T,Fvpe _h0一个务实而明确的自动化测试目标是自动化测试成功的第一步,反之,则是噩梦的开始。回顾前面那个情景故事,李经理试图把123个测试案例全部自动化,这是一个不切合实际的主意,却从未得到任何质疑和纠正,导致后来小张只是为了运行而运行自动化测试,完全成了“政绩工程”。51Testing软件测试网~7v0sm0z9N
务实的目标必然是可实施的,明确的目标必然是某种程度的量化。怎样构建一个务实而明确的自动化测试目标呢?可以通过三个问题来摸清其轮廓:

~'iQQ:g:JN5E0

M H%Qa/w:RZ+z0问题1:自动化还是手工?这是一个问题
x i-[Lx:F0为什么要做自动化测试?我们常看到这样的理由:
~h;B D,|+IEYK0A. 节省手工测试的人力和时间成本51Testing软件测试网%Rk{ X'S&Ir
B. 有助于提升测试团队的技术力量51Testing软件测试网 L c3w4MO3FIMv t0T
C . 能够生成直观的图形化报表51Testing软件测试网w d)D%e@?Hz)i'_
D. 我不知道,领导要求做的
(Y \?8r}6G q0\0如果你来负责决策是否自动化测试,而且ABCD都是你的考虑因素,贪心将注定你最后什么也不会得到。正确的答案是只有一个A,只有A才是我们自动化测试的目标。
8xu:nb,CI0nY0这是一个非常简单而朴素的道理:自动化测试的横空出世,是为了帮助手工测试解决繁重的工作压力,我们在自动化测试实施中所做的任何工作的目的都是最终能够节省手工测试的成本,如果离开了这个指导思想,自动化测试就成了浓妆艳抹,面目全非的女人。51Testing软件测试网)jUC"u/x G$S
【案例】51Testing软件测试网|&[\0d(O{6X
我在某知名软件测试网站上曾看过某高人写的一个自动化测试解决方案,真叫人叹为观止,从测试程序的版本化管理系统,到bug的提交与存储系统统统都塞入自动化测试解决方案之中,似乎包罗万象,无所不能。我虽猜不中这个自动化测试项目的开始,但我确信我能预测到它的轨迹和结局,要么实施起来因技术资源不足而中途流产,要么因为投入远远大于产出而被老板最后执行枪决。这是一个痛苦的从生到生不如死再到彻底死亡的过程。
6d;M&D;`-I9z!K$qr0不幸地是,我发现这样的一个自动化测试构想却在网上倍受测试人员欢迎,顶礼膜拜。这不由让我对业界自动化测试的前景有些担心:我们正在赋予测试自动化更多的理想符号,而忘记了它的本来的意义。正象一首歌的歌词形容的:我们都在赶路,却忘记了出路。

:BVF,}B051Testing软件测试网7T0K{p'R vBM HD*r

因此,自动化测试是为了节省测试成本的这个指导思想应该一直贯穿在自动化测试设计到实施的过程中,最后评价自动化测试是否成功的标准不是测试程序有多么复杂多么大规模,实际上,一个灵光突现的想法+一段精短而实用的测试程序就可能是一个非常成功的自动化测试实施,只要它最后真正地节省了软件测试的人力成本或时间成本。51Testing软件测试网O4lG Qn H^s

51Testing软件测试网 f!_#_] jpwL2{dY r/u

要怎么判断是否“节省了软件测试成本”,甚至度量“节省了多少测试成本”呢?下面,我们来看一下自动化测试的效益分析。51Testing软件测试网p"R(kk&a:u E

:{Q5q9N#k!AW8@Q(~01.1.2 问题2:如何估算分析自动化测试效益?51Testing软件测试网CiSme7T_%e
在市场经济的今天,做任何事情都讲究经济效益,效益就是投入产出比,投入越少,产出越多,效益就越好。怎样度量测试自动化的效益呢?当然,要做的第一步就是要找出测试自动化的投入成本和收益。51Testing软件测试网!a}U'Cd'z)Y

51Testing软件测试网"UQL6[1o

【待续】

j!^8`z%]9E0

TAG:

 

评分:0

我来说两句

Open Toolbar