在信息化建设当中,软件功能薄弱、漏洞众多等问题频频出现,软件质量理所当然地成为了关注焦点。业界专家认为,不成熟的软件产品是国内信息化项目失败的一个重要原因,同时,产品质量问题也将成为软件企业能否继续发展壮大的关键所在。纵观国内和国外的软件产业,技术上的差距当然是存在的,但更为明显的也是致命的差距就在于产品质量和过程当中的质量控制。
“什么叫成熟产品?只要有一个成功案例的产品就是成熟产品!”某国内大型软件公司CEO的这个经典观点广为流传,但其中的逻辑错误将风险带给了客户也带给了软件企业本身。国内一些软件企业居然一夜间成了万能公司,ERP?CRM?OA?WorkFlow?我们都行!然而这些企业对软件测试的重要性大多认识不足,重开发轻测试的现象过于严重,很多公司没有专门的测试部门,测试工程师太少,开发人员兼作测试工作的现象十分普遍,在这种状况下推出的缺少严格测试等环节的软件产品只能给客户带来悲剧。
近年来,我国的软件企业已越来越意识到软件测试的重要性,逐渐加大软件测试在整个软件开发的系统工程中的比重。据调查统计,在成本上一般来说是“需求分析”和“规划确定”各占3%,“设计”占5%,“编程”占7%,“测试”占15%,“投产和维护”占67%。近些年来,测试成本的比例更有上升趋势。
不成熟软件带来的风险
不成熟的软件产品是把测试成本交给了用户:企业往往是出于项目周期安排不当,或者根本没有安排专门测试,匆匆完成编码设计就将产品交付使用了。这样的后果自然是用户觉得产品漏洞百出,项目执行过程也遥遥无期,最后,项目双方都筋疲力尽,用户觉得受骗,而软件商则毁了声誉,追加了大量项目实施费用,可谓是“赔了夫人又折兵”。
企业逻辑的软件实现高于计算机技术:很多软件企业在没有做透前期调研的前提下就匆匆开始建设自己想象中的“大厦”,结果可想而知。当用户建立起真正的企业应用。才发现软件违背了企业逻辑,不得不进行修改。这样闭门造车无疑会给“大厦”带来致命伤害。
注重软件产品的质量和成熟度才会良性循环:有人把不成熟的软件产品比作是焦油坑中垂死挣扎的猛兽,布鲁克斯《人月神话》展示的可怕一幕在软件研发过程中屡见不鲜。很多软件企业常常将软件质量视为一种奢侈,如果有必要的话,为了更多功能、更快速开发或者更低成本,测试就可以被牺牲掉。然而,在实践中,如果软件开发组织对质量有一个坚定承诺,实际上可以加快开发,减少成本,并更容易地增加新的特性。在“已完成”的产品缺陷修复上花费的代价要比从一开始就修复高出很多倍。相反,一个从开始就加强产品质量的组织,是有远见和创新精神的,市场中的高质量软件将更具竞争力。