软件测试代码中BUG问题的一些记录
上一篇 / 下一篇 2012-04-06 09:39:59 / 个人分类:杂谈
你越了解你的对手——BUG,你的测试就越做的更好,软件质量就越可靠。51Testing软件测试网2r dg3n5o4r:N @*t
51Testing软件测试网 i'_%S'a-\.Q虽然很难将其他组织的经验数据应用到自己所在的组织,甚至有些数据和直觉相反,但你需要行动起来,借助一些方法,评估自己的情况,去改进。
T;W jjf"\051Testing软件测试网:B9a+J#u.Y$o#v8IBUG不是均匀分布
/lWd]yB q0\&{]0~}aw-NLb0 如果没有经过分析,自然的想法是BUG的分布会比较分散的,等概率的存在于整个系统。事实上经典的2-8原则这里依然有效:
Ox\VS$sxG RZHN051Testing软件测试网_Q? y;T#w4vE20%的类/子程序中存在80%的BUG,换言之,20%的类/子程序占用了80%的开发成本;甚至有人统计出50%的BUG存在于5%的类中;
G$S^&b9x7Y_051Testing软件测试网5a7[`v#] ?%q)G有资料说IBM对自己的OS/360操作系统的分析发现,只占少数的容易出问题的子程序每千行代码BUG高达50个,修复的代价是开发整个系统的成本的10倍(这个成本包括了客户支持和现场维护)
OAQ^x'Q,_:YG051Testing软件测试网NQ_z#C([因为复杂造成BUG集中的类/子程序,则需要设计时考虑降低复杂度,已经开发的应该考虑重构方案。
Jm ^,ou.E T q051Testing软件测试网(vFib+e|大多数BUG的影响范围是有限的
4v"YDsL|z(Q051Testing软件测试网)|.[Iys1c^ y-@研究发现,85%的BUG可以在修改不超过一个类/子程序的范围内被修正。51Testing软件测试网6P@9j-K9E qL)GF&f\V
b(O5~d\q3i0 大部分BUG都很容易修正51Testing软件测试网F,TOK)HCE u,[/vC
)p sa W$aU'Bi0 大约85%的BUG可以在几个小时内修正;大约15%的BUG需要几个小时到几天;只有不到15的BUG需要更长的时间;51Testing软件测试网7}ol"CFs1Q4O3m
A4S/g|az|q1a0 程序员错误理解设计引起的BUG的情况51Testing软件测试网He9k-\\R],J
51Testing软件测试网l!?$BJ?4zd'o Y有研究表明16%的BUG是这个原因造成的,另一个研究结果该原因带来了19%的BUG。因此花点时间彻底了解设计是很值得的。51Testing软件测试网5s%yc:\,c.`4X
51Testing软件测试网 k D'I9K y软件设计编码之外最常见的三种BUG源头:51Testing软件测试网^q aUG9NcQ"V
51Testing软件测试网8H Q&uvgE2|Ew9v● 缺乏应用领域的知识;51Testing软件测试网(DX!hEK4XjWD
F,~#C'\I^K%z`(Y0 ● 频繁变动或者矛盾的需求;
8\b%x9uCo+tqx0&af+A)pZ0 ● 沟通和协调的失效;
0]1}U$SgQ051Testing软件测试网?(t\;P0V1nX6r#F a软件设计构件期的BUG源头分布情况是:
)j/{Td3F0cH9ev q051Testing软件测试网(Hp U#r`0e#Y95%的BUG是程序开发人员造成的,系统软件造成的为2%,硬件原因为1%,其他软件为2%;51Testing软件测试网!\n2G-Q9wh%W
#`']-gc3C?;E0 特别的,拼写错误是一个很常见的BUG源51Testing软件测试网%B(Ov9W!o4f)C
GSJ_N!E:c!|}0 不同类型的软件系统,拼写带来的BUG情况差别是比较大,从4%到36%不等。
wj*P tJd/[L#o:A0gW5n r$_8H0 想一想人类有史以来三个最昂贵的软件BUG——分别价值16亿、9亿和2.45亿美元,都是因为一个不正确的字符造成的。51Testing软件测试网 W:[$jL+N`_A*_G
7r6TLe!lQ8J7p0 我自己曾经因为把user拼写为uesr带来很大麻烦,昨天下午检查数据库数据时又无意中发现一个把organization拼写为organiztion的BUG。51Testing软件测试网-XT8l{?%yA9v#}
51Testing软件测试网@!\W't-QU{7XXl*rR业界经验,在已经发行的大多数软件中平均千行代码中有1-25个BUG。51Testing软件测试网1h9J2|1P s(T*|H
8F ^#G5V(D `0 微软的数据是内部测试千行代码有10-20个缺陷,已经发布的产品则下降为0.5。
;D,V wjK051Testing软件测试网:x D*{OR;|&z8MA国防和航天类系统则能达到每50万行0个BUG的水平。
$CE9z7NU-e0