... 第8章 软件质量管理与控制
8.1 目的 软件质量管理的目的是通过分析质量要素和质量目标,制定合适的质量计划,整合技术评审、软件测试、质量保证、缺陷(或问题)跟踪等手段,保证软件开发质量。 8.2 关键活动与流程 软件质量管理的流程如图8-1所示,关键活动是“制定质量计划”、“技术评审”、“软件测试”、“质量保证”、“缺陷跟踪和问题跟踪”。 图8-1中,在技术评审、软件测试和质量保证活动中发现的缺陷和问题,都采用缺陷跟踪工具和问题跟踪工具来管理。
制定质量计划
缺陷跟踪 技术评审 软件测试
测试人员 问题跟踪
质量保证
质量人员 图8-1 软件质量管理的流程
质量人员
开发人员 该流程的主要工作成果见表8-1。
表8-1 软件质量管理流程的主要工作成果 关键活动 制定质量计划 技术评审 主要工作成果 《质量计划》 《技术评审报告》 责任人 质量人员 软件开发人员
软件测试 质量保证 缺陷跟踪 问题
《软件测试报告》 《质量保证报告》 缺陷报表 问题报表
软件测试人员 质量人员 缺陷相关人员 问题相关人员 8.2.1 制定质量计划 质量计划是软件质量管理的行动纲领,通常由项目经理和质量人员共同协商制定质量计划。 如果机构有独立的质量人员,那么由质量人员起草《质量计划》,递交给项目经理和质量经理审批。如果机构没有独立的质量人员,那么项目经理兼任质量人员和质量经理的角色。 表8-2为《质量计划》的参考格式。
..
...
表8-2 质量计划 XXX软件质量计划 1. 质量要素和质量目标
提示:从商业利益和技术角度判断哪些质量属性是本软件的质量要素,说明为什么,这样相关人员可以把精力集中在改善质量要素上。给出各个质量要素的恰当目标,既要使客户感到满意,又要使开发方承受得起。 质量要素 .技术评审计划2 3.软件测试计划详见《测试计划》 4.质量保证计划 过程域 5.缺陷(问题)跟踪工具 提示:说明本项目采用何种缺陷(问题)跟踪工具,以及简要的使用约定。6.审批意见 提示:项目经理和质量经理审批计划
待评审的工作成果 优先级 目标、解释 评审时间 负责人
测试活动名称 时间 负责人
主要检查项 时间或频度 负责人
8.2.2 技术评审
技术评审的目的是通过同行专家对工作成果的评审进行讨论,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。 技术评审的主要好处有: ☆ 通过消除工作成果的缺陷而提高产品的质量。 ☆ 技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本。 ☆ 开发人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理解,更好地预防缺陷,一定程度上提高了开发生产率。 理论上讲,为了确保产品的质量,产品的所有工作成果都应当接受技术评审。现实中,为了节约时间,允许人们有选择地对工作成果进行技术评审。在制定质量计划的时候,应该确定技术评审计划。 技术评审是团体活动,一般地,机构没有专职的技术评审人员,当需要技术评审的时候临时组织人员就可以了。质量人员应当参与重要的技术评审会议,这样既监督了技术评审,又加深对工作成果的了解。 技术评审的一般流程如图8-2所示。
.. ...
Step2. 举行评审会议 Step1.准备评审 Step3.缺陷跟踪
主持人宣读
作者介绍工作成果
识别缺陷和答辩讨论缺陷解决方案
评审总结
图8-2 技术评审的流程 第一步 准备评审 ☆ 评审主持人首先确定评审会议的时间、地点、设备和参加会议的人员名单(包括评审员、记录员、作者、旁听者等),并告知所有相关人员。 ☆