兰州:如何从根本上提高软件开发的质量

  在软件开发过程中,有几条准则是已经被无数次验证的。

  1、在项目发布后发现和修复Bug的成本是需求和设计阶段所需的一百倍!

  3、大约80%的缺陷来自20%的模块,而约半数的模块是几乎没缺陷。

  4、90%的软件的停工期最多来自于10%的缺陷。

  上面四条原则说明了两个问题,一是错误越早发现成本越低,而且大部分的错误都是在软件开发的前面阶段引入的。二是大部分的错误都集中在少数的模块。

  测试作为有效的“马后炮”,一直被认为有效的保证软件质量的手段。果真那么有质量吗?先得考虑一下这个问题:“为什么80%的缺陷会在20%的模块,而过半数的模块几乎没缺陷呢?”。

  缺陷集中出现有两种可能,一是大量出现缺陷的模块特别复杂,以至于软件设计者和程序员没能力确定程序没错误。二是编写这些模块的程序员比编写其他模块的程序员水平要低,或者做事情要毛糙。一种可能是可以避免的,如果模块太复杂将其分解为若干更小的模块,直道划分的模块够简单为止,这也是模块划分过程中应该要做的。

  核心技术应该由骨干人员进行技术攻关,确定其正确无误的实现。至今也没听说过有程序员实现不了的软件,程序员、特别是优秀的软件设计师的能力无需怀疑的。那么问题出现在编写程序的程序员的水平有高低,或者质量意识不够强。10个程序员中如果9个编写的程序都没有问题,另外1个人水平欠缺可能导致问题都出现在他编写模块中。

  等到软件编码完成后,进行测试的时候发现了问题,这个时候再去改正,那么错误修正费用已经发生了。何不一开始替换掉能力低下的程序员,或者干脆少了这两个程序员而延长项目开发时间来确定软件的质量呢?测试虽然能够发现问题,却不能节约成本。

  将测试引入到需求分析阶段,将需求的问题,在需求分析阶段就找出来。这样可以节约100倍修复开销,这样的只赚不赔的事情为什么不做呢?

  软件质量靠的不仅是测试,而是软件企业对软件质量的关注程度,如果一开始将质量放到一个比较高的位置,我想测试这种“马后炮”才能够更充分的发挥它的作用。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月1日
下一篇 2022年10月1日

相关推荐