软件测试代码中BUG问题的一些记录

上一篇 / 下一篇  2012-04-06 09:39:59 / 个人分类:杂谈

题记51Testing软件测试网!_9{(y2f.l{9b ZK!j

  你越了解你的对手——BUG,你的测试就越做的更好,软件质量就越可靠。51Testing软件测试网2rdg3n5o4r:N @*t

51Testing软件测试网i'_%S'a-\.Q

  虽然很难将其他组织的经验数据应用到自己所在的组织,甚至有些数据和直觉相反,但你需要行动起来,借助一些方法,评估自己的情况,去改进。

T;W jjf"\051Testing软件测试网:B9a+J#u.Y$o#v8I

  BUG不是均匀分布

/lW d]yB q0

\&{]0~}aw-NLb0  如果没有经过分析,自然的想法是BUG的分布会比较分散的,等概率的存在于整个系统。事实上经典的2-8原则这里依然有效:

Ox\VS$sxG RZHN051Testing软件测试网_Q? y;T#w4vE

  20%的类/子程序中存在80%的BUG,换言之,20%的类/子程序占用了80%的开发成本;甚至有人统计出50%的BUG存在于5%的类中;

G$S ^&b9x7Y_051Testing软件测试网5a7[`v#] ?%q)G

  有资料说IBM对自己的OS/360操作系统的分析发现,只占少数的容易出问题的子程序每千行代码BUG高达50个,修复的代价是开发整个系统的成本的10倍(这个成本包括了客户支持和现场维护)

OA Q^x'Q,_:YG051Testing软件测试网NQ_z#C([

  因为复杂造成BUG集中的类/子程序,则需要设计时考虑降低复杂度,已经开发的应该考虑重构方案。

Jm ^,ou.ETq051Testing软件测试网(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 saW$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软件测试网^qaUG9NcQ"V

51Testing软件测试网8H Q&uvgE2|Ew9v

  ● 缺乏应用领域的知识;51Testing软件测试网(DX!hEK4X jWD

F,~#C'\I^K%z`(Y0  ● 频繁变动或者矛盾的需求;

8\b%x9uCo+tqx0

&af+A)pZ0  ● 沟通和协调的失效;

0]1}U$S gQ051Testing软件测试网?(t\;P0V1nX6r#F a

  软件设计构件期的BUG源头分布情况是:

)j/{ T d3F0cH9ev q051Testing软件测试网(Hp U#r`0e#Y

  95%的BUG是程序开发人员造成的,系统软件造成的为2%,硬件原因为1%,其他软件为2%;51Testing软件测试网!\n2G-Q9wh%W

#`']-gc3C?;E0  特别的,拼写错误是一个很常见的BUG源51Testing软件测试网%B(O v9W!o4f)C

GSJ_N!E:c!|}0  不同类型的软件系统,拼写带来的BUG情况差别是比较大,从4%到36%不等。

wj*P tJd/[L#o:A0

gW5n 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

p jQ[ Y0  有报告宣称使用TSP方式的开发小组,可以达到千行代码0.06个BUG的水平。

)f w\l:x0

|p~w;e6k%l0  除开特殊类型的软件系统,一般情况下,开发高质量的软件,比开发低质量软件然后修正的成本要低。51Testing软件测试网(`2n q-Q,N bW

51Testing软件测试网(R ]Z1{ l%q1z

  不再调试上花时间?——这是一个很有价值,并值得努力的目标

TG zL2F`SS~/u/`0

TAG:

 

评分:0

我来说两句

Open Toolbar