提高软件质量的基本方法

来源:51CTO 作者:51CTO
  
质量的死对头是缺陷,缺陷是混在产品中的人们不喜欢、不想要的东西。缺陷越多质量越低,缺陷越少质量越高。

Bug是缺陷的形象比喻,人们喜欢说Bug是因为可以把Bug当作"替罪羊"。软件的缺陷明明是人造成的,有了Bug这个词后就可以把责任推给Bug--"都是Bug惹的祸"。唉,当一只Bug真是太冤枉了!

软件存在缺陷吗?是的,有以下典故为证。

编程大师说:"任何一个程序,无论它多么小,总存在着错误。"

初学者不相信大师的话,他问:"如果有个程序小得只执行一个简单的功能,那会怎么样?"

"这样的程序没有意义,"大师说,"但如果这样的程序存在的话,操作系统最后将失效并产生错误。"

但初学者不满足,他问:"如果操作系统不失效,那会怎么样?"

"没有不失效的操作系统,"大师说,"但如果这样的操作系统存在的话,硬件最后将失效并产生错误。"

初学者仍不满足,继续问:"如果硬件也不失效,那会怎么样?"

大师长叹一声道:"没有不失效的硬件。但如果这样的硬件存在的话,用户就会想让那个程序做一件不同的事,这件事也是个错误。"

没有错误的程序世间难求。(摘自《编程之道》)

错误是严重的缺陷。医生犯的错误最终会被埋葬在地下,从此一了百了。但软件的错误不会自动消失,它会一直骚扰用户。据统计,对于大多数的软件产品而言,用于测试与改错的工作量和成本将占整个软件开发周期的30%,这是巨大的浪费。如果不懂得如何有效地提高软件质量,项目会付出很高的代价,你(开发人员)不仅没有功劳,也没人欣赏你的苦劳,你拥有最多的将只是疲劳。

怎样才能提高软件的质量呢?

还是先来听一个中国郎中治病的故事吧!

在中国古代,有一家三兄弟全是郎中。其中有一人是名医,人们问他:"你们兄弟三人谁的医术最高?"

他回答说:"我常用猛药给病危者医治,偶尔有些病危者被我救活,于是我的医术远近闻名并成了名医。我二哥通常在人们刚刚生病的时候马上就治愈他们,临近村庄的人都知道他的医术。我大哥深知人们生病的原因,所以能够预防家里人生病,他的医术只有我们家里才知道。"

提高软件质量的基本手段是消除软件缺陷。与上述三个郎中治病很相似,消除软件缺陷也有三种基本方式:

(1)在开发过程中有效地防止工作成果产生缺陷,将高质量内建于开发过程之中。这就是"预防胜于治疗"的道理,无疑是最佳方式,但是要求开发人员必须懂得正确地做事(门槛比较高)。我们学习"高质量编程"的目的就是要在干活的时候一次性编写出高质量的程序,而不是在程序出错后才去修补。

(2)当工作成果刚刚产生时马上进行质量检查,及时找出并消除工作成果中的缺陷-这种方式效果比较好,人们一般都能学会。最常用的方法是技术评审、测试和质量保证等(详见本章1.4节),已经被企业广泛采用并取得了成效。

(3)当软件交付给用户后,用着用着就出错了,赶紧请开发者来补救,这种方式的代价最高。可笑的是,当软件系统在用户那里出故障了,那些现场补救成功的人倒成了英雄,好心用户甚至还寄来感谢信。:

【责任编辑:book TEL:(010)68476606】
 

时间:2013-02-22 15:06 来源:51CTO 作者:51CTO 原文链接

好文,顶一下
(0)
0%
文章真差,踩一下
(0)
0%
------分隔线----------------------------


把开源带在你的身边-精美linux小纪念品
无觅相关文章插件,快速提升流量