丈量软件质量

发表于:2009-02-11来源:作者:点击数: 标签:质量软件
对比十年前,虽然软件 开发 采用的语言进步了,开发工具更先进了,国家的投入也多了,但国产软件的 质量 仍然没有一个跨越性的提升。不坚实的软件质量带来了严重的后果,例如: 1. 国内用户形成思维定势,不认可国产软件的质量,导致用户倾向采购更为昂贵但
 对比十年前,虽然软件开发采用的语言进步了,开发工具更先进了,国家的投入也多了,但国产软件的质量仍然没有一个跨越性的提升。不坚实的软件质量带来了严重的后果,例如:

        1.  国内用户形成思维定势,不认可国产软件的质量,导致用户倾向采购更为昂贵但质量更好的国外软件,近而导致国产软件无法在市场上成为主流,特别是在基础平台软件领域。

        2.  国内开发人员潜意识中认可国外软件厂商的领先性和标准性,满足于跟踪学习,削弱了创新挑战的意识,进而更加深第一点。

        3.  大量的软件项目拖延导致软件开发成本急剧增加,导致软件企业利润微薄,无法完成资本积累走上良性发展的道路。

        4.  国产软件不能在质量,先进性和用户数上和国外产品较量,进而无法获得参与国际标准制定的门票,继续滞后。 

        ISO9001, CMM的推动都是希望能通过流程控制来保证软件质量,但具体如何保证,软件质量到底如何,仍然没有一个具体的方法和客观的衡量标准,而完全依赖开发人员自己的主观猜测( 注: ISO9001的文档化管理已经被证明不适用于软件开发, CMM只是规定了需要做到的功能点,但没有规定如何做)。

        同样的问题也困扰着西方的软件产业,从90年代末起,西方软件业兴起了敏捷开发的热潮,很多“新”的软件开发方法和概念被引入到商业软件开发中,例如测试先行的开发(Test-driven Development),自动回归测试( Auto-Regression Test ),持久集成测试( Continuous Integration ),共享代码( Celebrative Code Ownership )等。同时开源运动的发展也更近一步推动了敏捷开发的潮流(最著名的单元测试工具Junit就是开源产品),使这些由民间程序员自行总结和发起的敏捷开发方法迅速超越以往的CMM, RUP成为西方软件业的主流开发方法。IBM的RUP和微软最新的.NET Framework都提供了用于敏捷开发的工具和支持。而印度的外包软件企业也开始提供敏捷外包业务。

原文转自:http://www.ltesting.net