自动错误预防的五大法则51Testing软件测试网/yi"T.p{;h}o,s
51Testing软件测试网
P/OA%{%Wo5WM3N+~.K
陈能技
,y+X G9J2t3?02007-10-1351Testing软件测试网'l'_f%TL
51Testing软件测试网A/TM$zyqw
摘自:Parasoft公司的文档Automated Error Prevention: Delivering Reliable and Secure Software On Time and On Budget51Testing软件测试网
nUvk4v,@ \
51Testing软件测试网3[0`*N;Z.O9}:I
r
AEP51Testing软件测试网'wvbEy
Automated Error Prevention,简称AEP,是指通过在整个软件开发周期中自动地预防错误来提高产品质量。51Testing软件测试网!}"ql~+Nty
\+h%dV7wb
G0AEP是基于质量大师戴明的质量模型的基础上加入了自动化的元素。戴明提倡质量改进应该通过分析错误根源和消除错误原因。但是对于软件行业,这种手工的质量改进方式很难实现,需要花费大量时间和精力,因此有必要引入自动化的实现方式。
LW`bp:p4I0 51Testing软件测试网{nv9ECG.C.`
Parasoft公司提出的AEP方法论是对AEP概念的具体实现。旨在帮助软件企业从低效的错误检测转移到全面的自动化错误预防。51Testing软件测试网nv"jZA
S `rxhs4N
(Ii9?x5g&o0为此,Parasoft的AEP方法论提出了5大法则来实现软件的自动错误预防:51Testing软件测试网*D-o!bCh n)]K0U4w
1、 应用行业最佳实践来防止普遍错误并建立全寿命的错误预防基础。51Testing软件测试网6ob3kDl5F|2j
2、 按需要修改实践来预防特殊的错误
?? C!q
Os#Y*S03、 确保每个小组都能正确地和始终如一地执行AEP
.|)s#vM9e8t04、 循序渐进地采用每一个实践
aC}.i R;P05、 利用统计来稳定每一个过程,让它发挥价值
/L2h,c
_!C0
M[&M/`M9gTa0自动错误预防法则一:应用行业最佳实践来防止普遍错误并建立全寿命的错误预防基础51Testing软件测试网wC;? e0|5|
A8Vq
综合的最佳实践是软件行业专家研究不同的语言的最普遍的错误而得出来的产物,然后形成设计的最佳实践用于预防这些普遍的错误。它们代表了前期大量的AEP概念的5个步骤循环积累而形成的知识财富。51Testing软件测试网"Cu1q{gzQ\0fp
-dq[4p)W0通过借用这些已经形成的最佳实践,你可以在自己实践5大循环步骤之前就能开始预防很多普遍的严重错误,尤其是不需要经过长时间的、大量的开发、测试来形成最佳实践,而是采用行业专家通过分析大量的代码和错误而得出的宝贵经验。51Testing软件测试网9N&Ze2wj2K
h/Mn4[)d9~WR0自动化是AEP的精华。如果缺少了自动化的技术,AEP会变得太难实现,也不能彻底地始终如一地贯彻错误预防的思想。51Testing软件测试网@
d8P$}'G8S)dD1~
51Testing软件测试网9i4ho NT&H,ccS
自动错误预防法则二:按需要修改实践来预防特殊的错误51Testing软件测试网U` DiTWB-X
因为每一个开发过程和项目都有自己独特的挑战,因此某些错误是最佳实践不能预防的。AEP通过一些机制来个性化地修改这些实践,从而预防那些错误。51Testing软件测试网:gN;`h;eJ-Q7nI
51Testing软件测试网5MbGk$A;Z|f9a
每一次发现逃过了现有的错误预防实践的错误,你应该应用AEP的核心5大步骤:
4P-\0pp V[g0T01、 识别错误
w,H;z9w/vYQ4C#p#RD02、 找出错误原因
STO3J
G4]K2e5k03、 定位产品产生错误的地方
LlFe4zy*Z04、 修改现有的实践(或者添加一些新的)来确保相同的错误不再出现
5pk7Xl4d!U05、 坚持检查这个实践来监视实践是否被遵循了51Testing软件测试网Q9Z?*]W+Y)I#E
;y#DbG"Z9Z#e7Y0自动错误预防法则三:确保每个小组正确地、始终如一地贯彻执行AEP
@!xH-Mnv6JF'S01、 按小组逐个引入AEP
GO"I.W:Yb0从一个小组开始,等到这个小组已经有效地实行AEP了,然后才开始另外一个组。51Testing软件测试网\sfTpw(p8`
2、 确保每个组都有一个合适的支持体系51Testing软件测试网uR!AC$l"@R;rRp
在开始实行AEP之前,每个组都应该有能正常工作的源代码控制系统、自动化构建过程。
1` Mq7i!B$b03、 建立小组的工作流程来确保错误预防被恰当地执行51Testing软件测试网N ?&R c$U3W&t
例如,下图是一个推荐的工作流程:51Testing软件测试网i5uzvq{
51Testing软件测试网 h2f&b"q@3pK+G*}!e
u
51Testing软件测试网J.M;[8?)}?+i
51Testing软件测试网h,s?o^5Y&`
||(l
"A&e)F&@ vQ0自动错误预防法则四:循序渐进地采用每一个实践51Testing软件测试网)u
d+[gpe
最佳实践的贯彻执行会失败的其中一个原因是:开发人员一开始就接受大量的信息,以致拒绝接受或忽略这些最佳实践的检查结果。
a`x)r ~BH0
{1Kr8ZzFG0所以应该循序渐进地引入最佳实践。不要让项目组一开始就学习和遵循大量的处理不了的新要求。其中一种策略是把实践分成几个等级:关键的、重要的、建议的,然后分阶段逐步引入每一个等级。或者把实践应用到某个预定的开发阶段完成后的修改和创建的代码文件。
|1GI0L?%`6hz\C0 51Testing软件测试网J Pr%vL Z\+?
自动错误预防法则五:利用统计来稳定每一个过程,让它发挥价值
E T1d@1gS0只有过程是稳定的和有能力的,AEP才能发挥它的最大价值。一个稳定的过程是可预见的,它的变量是受控的。一个有能力的过程是稳定的并且平均变化落在指定的限制范围内。
)^9a8H3w'vdDlZ}*u E0 51Testing软件测试网a)W.o)yNs nz?T
例如,下图所示的用于度量小组对所有错误预防实践的坚持程度的置信因子。51Testing软件测试网`.[I.K'|k3l P
`%O3ZA^u0 51Testing软件测试网y m)b^#Pq,}
-FgZ]W5t4[#F)zi0
Gu+z}+h/V0虽然随着时间推移波动比较稳定,显示这个过程是稳定的,但是平均置信因子的水平不够高,因此过程的能力还不够强。
j5OYc"ZXL{2O0 51Testing软件测试网 _)sx q%H2kRAW