从用户角度考虑的立场,用户主要关注的软件运行的功能和性能,维护的方便性,为此用户对软件质量特性可分解成五个质量特性因子:功能性、使用性、可靠性、维护性和移植性,它们包含了软件的基本特征。
作为软件产品开发人员,为了开发高质量的软件,需要在深入理解和实现用户质量特性因子上,尽量全面覆盖软件开发的质量特性因子设计的质量指标,以便减少软件维护、扩展和移植等后期管理成本。
以用户为中心的软件质量管理
软件的最终使用者是用户,因此提高软件质量要以用户满意为中心,以影响软件质量特性因子为基础,综合考虑开发方和用户方关注的质量特性因子。
从软件生命周期的过程来看,软件质量特性因子的各项指标贯穿于软件需求、软件开发、软件交付和软件维护的各个环节。作为软件开发工程人员,仅仅考虑满足用户的现实需求是不够的,还需要考虑软件未来扩展的方便性,考虑在软件开发过程中模块的可重用性。
软件质量特性因子偏重于软件技术方面的要求,主要靠有效选择和应用合适的软件开发和测试技术来实现。除此之外,一个高质量的软件项目要取得成功,软件团队、软件过程和项目管理是关键要素。
显然,提高软件质量需要“多管齐下”的综合技术、过程、团队和管理等各个关键要素,下面分别论述如何更好的应用这些要素。
设计为本,测试辅助
近年来,软件测试对保证软件质量的重要性已经得到软件企业的广泛认识。但是,从软件测试的技术和方法看,当前的软件测试技术不能保证软件没有缺陷,只能尽量的、被动的发现缺陷。也就是说,单纯的靠软件测试进行质量把关是做不到的。
提高软件质量重要的是分析软件缺陷的根本来源。软件测试的实践统计表明,大部分软件缺陷是由于需求不准确、架构设计不合理、软件编码错误引起的。进一步分析表明,比较严重的软件缺陷都是在需求分析和架构设计阶段产生的。
因此,提高软件质量的最有效方法是准确获取用户的真实需求(功能和性能),采用合理的软件架构设计技术(扩展性、安全性、移植性),在软件编码阶段遵守编程规范(使用性、可靠性、重用性)。在此基础上,尽早和全面的实施测试的验证和确认技术。 “设计为本,测试辅助”的方法可以在保证软件质量方面实现从被动检测到主动预防,从事后质量检测,转变为事前和事中检测。
规范过程,不拘标准
软件开发是一系列过程和阶段相互衔接的产品生产方式。可以简单的划分为项目规划、需求分析、架构设计、编码、测试、维护等阶段。每一个当前过程的输入都是前一个过程的输出,当前过程的输出作为后一个过程的输入。
无论软件开发采用传统的“瀑布模型”还是“RUP”模型,过程的规范程度是影响软件质量的因素。通过规范过程改进提高软件质量,这是CMM/CMMI规范的基本思想。
规范软件过程没有统一的标准和模式。ISO9001,ISO15504 (SPICE),CMM/CMMI,六西格玛,全面质量管理(TQM)等都是可以参考的标准和过程规范。现在CMM/CMMI正在大行其道,但是对于非外包行业的中小软件企业而言,如果内部的开发过程不很规范,笔者建议初期采用ISO9001标准作为过程改进的基础,另外结合公司的技术和资源现状,确立公司的过程管理准则。
规范过程的基本要求是划分过程和阶段,确定过程基线(里程碑),明确各个过程的目标、角色、进入、输入、输出、退出、验证与确认的准则,采用统一的模板化的文档、流程化和可视化的跟踪、度量和评估过程的实施情况。
文章来源于领测软件测试网 https://www.ltesting.net/