对于质量管理来说,结果很重要,过程也很重要。
(一)获取过程质量
有过程就必然有过程质量。软件产品是需要经过一系列的过程才得以形成的。根据软件工程理论,在瀑布式软件开发过程中定义了软件产品的基本开发过程:需求分析 →规格说明→概要设计→详细设计→代码编写/单元测试→集成测试→系统测试。软件工程的基本目标是优质、高产。为了保证所开发的软件的质量,在瀑布模型的每个阶段都应该坚持两个重要做法:
1.每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。完整、准确的合格文档不仅是软件开发时期各类人员之间相互通信的媒介,也是运行时期对软件进行维护的重要依据。
2.每个阶段结束前都要对完成的文档进行评审,以便尽早发现问题,改正错误。事实上,越是早期阶段犯下的错误,暴露出来的时间就越晚,排除故障改正错误所付出的代价也越高。因此,及时审查,是保证软件质量,降低软件成本的重要措施。
瀑布式软件开发过程:
(1)在软件需求定义阶段会产生“需求质量”;
(2)在软件设计阶段会产生“设计质量”;
(3)在软件实现阶段会产生“实现质量”。
(二)过程质量控制
过程质量控制=规范+输入/输出标准+反馈(控制点或检查点)
从整个研发过程看,需要制定一些规章制度和项目研发规范来使工序部门之间的工作能够协调开展,比如设置工序部门的工件输入、输出标准,让质量低下的工件不会流入下一个工序环节,起到“缺陷预防”的作用。
如果我们单独看某一个工序部门,如负责需求分析的产品组,为了确保需求描述文档的准确性与易读性,可以制定一种“需求设计规范”或“需求文档编写规范”来使需求设计工作实现内部理解一致,即让需求分析人员编写出格式统一,表述统一的需求文档。这样的文档才能便于程序员去理解和实现,同时测试人员也可以从这样的高质量需求文档中获益,提高测试工作质量。同样地在程序设计方面,可以制定“程序设计规范”、“代码编写规范”来实现程序设计质量的提升。[3]
将软件最终质量分解到过程中,为:“需求质量”、“设计质量”、“实现质量”、“发布和维护质量”。质量控制点一般设置在工序节点处,这样比较经济一些。
控制点一般采用“评审”或“审查”为主,当然技术手段也很重要。
(三)需求管理与质量
目前,迭代式开发方式已基本替代了瀑布式开发方式而被越来越多的软件企业所采用。迭代式开发方式主要解决了风险与需求变更问题,那么需求管理在迭代式开发方式中也显得极为重要,需求管理好了,项目开发过程将会事半功倍,开发将会有节奏,项目可视化程度将会得到提高;需求管理不好,项目将面临频繁返工、功能混乱、重构代码工程次数高、测试用例维护成本增长和工作低效率、低质量的境地。
文章来源于领测软件测试网 https://www.ltesting.net/