测试未来的预测
上一篇 / 下一篇 2007-11-01 21:03:40 / 天气: 阴雨 / 心情: 平静 / 精华(2) / 置顶(2)
Sh,H$A!{0
0@9Dm[7vM J0eTq*yW:l0 “预测是件很难的事情,尤其是预测未来” —Yogi Berra
y0v ?_|U0wd0ij6k\0G:n0
[0b!A-OU)u_br$~051Testing软件测试网%T|!`M!iwF7\ N |+r每年十二月,小报的“未来预测者”们会向大家切揭示即将到来的一年将要发生的事情:“麦丹娜将要乘坐航天飞机”,“美国将迁都 Wichita”,等等。我将加入这个潮流,对软件测试何去何从做一个我自己的预测。并且我希望,我的预测费用能够比我的那些值得尊敬的小报同事更高些。
uVp8{:D M0Unk$SH X Zg051Testing软件测试网o7Sp.c| e3| nd$_
;v1Lx)l:V2d5`Pv0 我的主要预测就是,将来的软件测试与现在的软件测试看起来很不一样。原因很直接:今天的软件测试很大程度上是臭名昭著的:软件测试参与到项目中的时间太 晚、贡献太少、花费太高。如果我们关心我们产品的质量以及我们的账本底线的话,我们就需要重新思考测试和质量的方法。51Testing软件测试网1q)w z[L
7~5F@v9R/m-l051Testing软件测试网(?T_?`)@
51Testing软件测试网b s;@4?S+P#RRY即使遭到一致反对,我也要说:更好的方法,对测试人员更好的培训、更好的欣赏将改革软件产业。具体地说,诸如可执行的说明书、基于模型的测试产生、BUG预防、系统模拟这些技术,将在这场演变过程中扮演重要的角色。
F*v`S'jB-N(D9Wm051Testing软件测试网Fn3ZBG-x(Q)|^51Testing软件测试网)wL(KLz2Bp2_W
51Testing软件测试网W1@1pQ/~;nnl#G X下面就是我们在将来的几年里可能看到的情形。事实上,某些趋势已经开始了。
r5Hs6WsSw$r[051Testing软件测试网-fiBpx*?/cL!]%iNB)q`3{Xg051Testing软件测试网)VNSZ2NT测试人员,需求撰写人员和开发人员,都将看到自己是其中的一份子。51Testing软件测试网4r6D4C/W B.{+c
51Testing软件测试网5@,s)O6tt,F;H2n(zE~V51Testing软件测试网:w7{ReSKa+[Z!U
51Testing软件测试网wi7G1G$V测试人员帮助需求撰写人员51Testing软件测试网QSt(^h
'jD,S`J1|&D0 测试人员与需求撰写人员共同工作,在需求完成以后,审查以及理解需求。早期的审查以及建模可以暴露很多关于一致性、完整性和模糊性的BUG,这个时候修补这些BUG付出的代价还十分小。
;Qb PU?6E!ok0ksx-S^f,p0
6st D)N|,YHT$t06ubS5Hg0 需求撰写人员帮助测试人员
1^.ov$~yefn051Testing软件测试网XX;Y:PWx3v测试小组建造模型,用于产生对其产品行为的测试。需求撰写人员审查模型,以确保他们充分覆盖了产品特征集。这样产生的测试模块将成为一个“可执行需求”。
f TY_Ox$K2[0M\ yMSF051Testing软件测试网}6An*^0bb*cB8b
51Testing软件测试网.ev4S7H'}x7C测试人员帮助开发人员51Testing软件测试网ac']5`cMC
@1m#YI?%f)A(XRX+a0 因为需求清楚,毫不含糊,开发人员更好的理解了他们的代码将要完成什么。
l/k^O/F u }1T0|Ra5|1d1YC$c0 在正式的将代码提交做测试之前,测试人员提供给开发人员一些模型,以便开发人员可以在自己的代码中实现它们。
b*O5H8u#mC"e0E_;y@ AA051Testing软件测试网 U$]5U9{'A/LW)v ^j
aE+vL;Faq~a*v0 开发人员帮助测试人员
I#lNAEA6QW051Testing软件测试网]a;?&VM2p-l基于”特征对特征”这样的方式(防止以往的“后期才介入开发,一股脑找出产品问题”的方式),开发人员和测试人员共同保证代码易于实施自动测试.开发人员的代码中处处都是易测试性的开关,使得错误检测更加容易.
5s0IZ \-f!u5N051Testing软件测试网%x I;S} O/g@ A F}@/Z:Va D0%k}~ S'u)D4J&S]\+v G8M0 测试人员帮助测试人员
-A2O5fq c/v0Z5]0*?Em]Xj0 测试用一种高级语言来模拟,因此别的特征的测试小组(甚至别的产品的测试小组)可以复查和改进测试模型.这就形成了一个测试专家的共同体.51Testing软件测试网t.Fy`%{
51Testing软件测试网[(~Tn'y [4jb^t]1T0l&?8L051Testing软件测试网 UkyH%Dq2LF@方法日趋完善
-G/Np/`M,U%Fk051Testing软件测试网E*~mOd9D4k1]ozJ6z4}K?y c!u$f051Testing软件测试网&KB.x BRUm9@mzBUG预防和早期检测
Zs+hEW&Y@+uj0&|/Uxq? q]QF0 因为现在把重点放在产品交付的质量上来了(而不是在于找到了多少BUG), 预防实践和静态分析仪这样的检测工具将成为主流.
K._*R.IaLp051Testing软件测试网!eQ8[E-n51Testing软件测试网'_V { mO1F Dc
51Testing软件测试网u;w1q!["]Xc7Pei仿真测试51Testing软件测试网#z/Pky5j)s
51Testing软件测试网(d(XI?\x`z仿真工具变得很普遍,使得仿造计算机环境变得容易起来.在开发过程的早期就可以进行意外和错误流程的测试.代码稳定后,再用真实环境验证仿真是否准确无误.51Testing软件测试网qe^5kU.Q.my
51Testing软件测试网QSJ LN1HQ51Testing软件测试网 o.iO9N\C ?G:Jc
51Testing软件测试网1H#AP/MX!x$b;@{及时的测试用例
-JQ yGo4EYd051Testing软件测试网y.L2G"D8@+Gz-`庞大的测试用例管理系统将成为昔日的东西,大量的测试用例生成了却没有被使用.测试用例将不再像腐烂的存货一样被收藏起来,因此,让测试用例保持最新变得容易起来.51Testing软件测试网]*eW,m~\"_
51Testing软件测试网 W ad8[&_K8cN ^/w51Testing软件测试网/|7iit+W"Q
51Testing软件测试网Q6Q6O&Y2~$L} ?积极的方法51Testing软件测试网\OD c\g4M E
51Testing软件测试网8g+vg!igZ3N}}:d]D^误导人的方法,比如计算BUG的数量、计算测试用例的数量,将不复存在.有用的方法,比如需求覆盖、模型覆盖、代码覆盖将驱动项目开发.
,x(I)v+ez M$m051Testing软件测试网7cx)[.s,L,Au+zE;Q)Y9o'q ]+Y5UZ%_h g:C051Testing软件测试网3Q3OG7N6m)UYx3J8F'Z更少更精的测试人员
T5\*]$~-xV051Testing软件测试网 ~;xu`5K;l,UX机器将代替测试人员做大部分他们以往创建测试所做的繁琐工作,测试小组需要比以往更少的测试人员,留下来的测试人员将是经过更多高度培训过的.他们所做的工作将更加有趣,因为在测试中他们将致力于更大的问题,而不是在抱怨中艰难地开展工作.51Testing软件测试网?!_Am;W&Zt v
51Testing软件测试网I,E8?Z8P*IO"xR b3po#ZF051Testing软件测试网j2qI/p hxN*T更多更好的测试
l C5pA/ps051Testing软件测试网!bIw,sj:W7z测试人员将可以在一天中进行成千上万的测试,所以,如何首先运行最有用的测试将成为一大挑战.相关的工具将允许测试人员为他们的测试区分优先级,以及将测试目标放在那些最易出现重大BUG的地方.51Testing软件测试网AaP2|%r+]W(~S
51Testing软件测试网f4PKe3V m3H9X1U51Testing软件测试网LOf2Y0y,J7F
51Testing软件测试网IsR0P{*E测试人员的角色更换51Testing软件测试网)D;zF a!x
+W0^ u y ]0
XaZB:z.Gh00C*[$i}OZL0 测试中界限模糊51Testing软件测试网\y[)c!f8@!r-k
51Testing软件测试网/ZM;W$j/u1P在测试领域工作使得专职测试的人员和专职创建测试工具的人员界限模糊,一个既是“通过程序破坏事物的测试员”又是”创建程序用于破坏事物的程序员”的专业出现了,――关于如何称呼这个新的专业,新闻圈内的人们还在进行着无休止的争论。51Testing软件测试网5S"R.J o FKj.b*ed2J@5e
51Testing软件测试网d9G0K2VOI{q51Testing软件测试网 T+B${(e:E[1{&N9n8R
%`3S5Jts&k-a[i0 测试与开发界限模糊51Testing软件测试网r"U5T?H?A
51Testing软件测试网$Uzi i#z*lP测试人员与开发人员一前一后,共同创造可测试的、高质量的代码。测试人员帮助开发人员消除需求中的问题,使得开发人员的工作更易完成,同时,开发人员写出更清晰、可测性更高的代码,使得测试人员的工作更易完成。
^GV1C]:o1}8[0e1|u:Uv4l%zB x051Testing软件测试网/nH6Q,I$_)AZO6\+W%U
5U!v l,[:w$Dxj&A%n6JY0 顾客反馈与测试合为一体
G.we'YA051Testing软件测试网R)N7zruP&k交付的产品质量更高。测试人员进行根本原因的分析,我们会问比如“我们怎么会遗漏了这个BUG呢?”或者“我们将来如何防止这类BUG?”这些问题,我们的工作就是使顾客满意。51Testing软件测试网 VA6sTig
9Si;f&L0cW-z$D051Testing软件测试网&p`nJ Z.Y)_
51Testing软件测试网2_FN-Qx%cOU7j!A新的挑战出现51Testing软件测试网H b z!lK1gZ(Q A/Q
51Testing软件测试网'aoQ.O#_ LX u B5A1wt复杂和相互关联的计算机世界使得了测试安全这一类的新问题让测试人员不断努力工作,但这没关系――因为这些挑战使测试人员精力充沛。51Testing软件测试网1~*CgV+Z
'N/u |G"HM x.TZNS~0
r} h;I1O5RZ/^+n051Testing软件测试网j6|-yIApsa9i测试人员获得尊重51Testing软件测试网0k9~ m'nsknZ
ajM0} i ] x0 测试人员将不再是在最后时刻才被叫来“对产品狂轰烂炸”,他们将在整个软件开发过程中提供一个可见的、重要的、增值的服务。人们意识到,测试是有益的、有趣的甚至富有乐趣。
2\M7BB vN\051Testing软件测试网:V |,n;It*y-?+r Z m51Testing软件测试网l T D^1}#m
51Testing软件测试网L0f i(iDou+D测试变得流行51Testing软件测试网[1R.H'Aj
Pt+XV8G'Ej0 软件测试人员开始扬眉吐气,而且,由于破坏事物至少可以带来创建事物一样的乐趣,人们开始在开发和测试角色之间转换,所有的人将学到更多关于如何得到良好代码的知识。51Testing软件测试网 |"L)aN1[_*Qj
51Testing软件测试网?yw!v7k b3{ l5B DK51Testing软件测试网jz1h!j+e/UCy
hEawb$X?7S0 激情“吸毒者”继续存在
VI&DH-Y8R,b[0o4}#GY_c6EC6BR;ZS0 新的过程运行得如此良好,使得需求撰写者,开发人员以及测试人员不再具有生命力,这就使得那些在激情掌控的世界被提升的人惶惶不可终日,那样的世界意味着 工作到深夜、最后一刻测试才参与,以及如同交战开火般的会议。而这些人对于那些还没有受新的运行过程控制的公司来说还具有吸引力。51Testing软件测试网 X)Z ZvN"b^
B~}${v`"\d0
3`g]!c7Y3v3F00DK/H c(v0 Elvis Presley是一个软件测试员51Testing软件测试网wv@5Ey+?vCj A
Gl\ J"wG0 他的会议发放材料的标题就是:“软件质量:就是现在,否则永远不可能”51Testing软件测试网'E5M9Jv![|aRF
,C v]hJ| W051Testing软件测试网Z4SMp!@j;}'V ]
2zf\)?1o.?051Testing软件测试网"e h*?eU
4Gnx@ K|0 今天就为将来准备51Testing软件测试网,S/t0s { xqw7c
;ayZ}C$r%CI&U0 不管我的预测是否成为现实,未来也会按照它自己的方式到来,下面就是如何准备面临未来的五个意见:
1S4P/maq&i5Ha s051Testing软件测试网%y&[Cny-^1Y*w1.积极地不满于现状
8lGNB7Xk051Testing软件测试网)|9s1p-~3d#f不要接受测试的现状,四处看看,并且思考“我们在做些什么毫无意义的事情?”