文档介绍:西安交通大学刘海岩
1
第9章软件质量保证
软件质量及质量保证的概念
软件质量保证过程中的数据
软件质量保证的实施
软件评审
软件可靠性与容错技术
西安交通大学刘海岩
2
软件质量及质量保证的概念
1、软件质量定义与软件质量的特性
软件质量是软件产品、体系或过程的一组固有特性满足用户和其他相关方要求的程度。
在1991年制定的《信息技术软件产品评价质量特性及使用指南》中对质量的定义是:与软件产品满足明确或隐含需求的能力有关的特性和特性的总和。
西安交通大学刘海岩
3
软件质量的特性:
在《信息技术软件产品评价质量特性及使用指南》定义了描述与评价软件产品质量的6个特性以及与其有关的 21个子特性(见教材P153)。6个特性为:
•功能性
•可靠性
•易用性
•效率
•可维护性
•可移植性
西安交通大学刘海岩
4
2、软件质量保证的概念
软件质量保证(Software Quality Assurance,SQA)是一种应用于整个软件过程的庇护性活动,包含:
•一种质量管理方法
•有效的软件工程方法和工具
•过程中采用的正式技术评审
•一种多层次的测试策略
•对软件文档及其修改的控制
•保证规程符合软件开发标准
•软件度量及报告机制
等等方面的内容。
西安交通大学刘海岩
5
软件质量保证过程中的数据
SQA过程中必然产生有关产品、过程和体系质量的多种数据,是进行下一步工作的决策依据,对于提高质量管理效果和改进质量管理过程至关重要。要收集、存储、及时分析和使用这些数据,才能做好质量保证工作。
质量数据有多种:
•项目规模:FP表示软件大小,以功能点计数;
•工作量E:表示项目的人力总投入,以人月
计数;
•生产率: P=FP/E;
西安交通大学刘海岩
6
•缺陷数:D1表示软件交付前发现的错误数,
D2表示交付后发现的缺陷数;
•质量:Q=D2/FP,表示每个功能点包含多少
交付后的缺陷数;
•缺陷引入率:DI=(D1+D2)/FP,整个项目生
存期中每功能点发现的缺陷数;
•缺陷排除率: DR=D1/DI
西安交通大学刘海岩
7
软件质量保证的实施
1、SQA小组的职责
SQA活动与两种不同的参与者相关:做开发工作的软件工程师和独立的SQA小组。
软件开发人员对质量的考虑:
采用可靠的技术方法,进行正式的技术评审,严格的、按计划的测试软件。
SQA小组的职责是:
辅助开发人员得到高质量的产品,负责质量保证的计划、监督、记录、分析及报告工作。
西安交通大学刘海岩
8
2、SQA过程的进入与退出
•进入准则:
①方针明确
②能力具备
③项目已定义
④已有SQAP制定规程和偏差处理规程
•退出准则:
①产品符合需求
②数据记录完整、受控
西安交通大学刘海岩
9
•进入SQA的输入与输出:
输入包括合同中的有关说明或协议,软件开发标准和规范,软件设计准则,软件测试标准或规范,软件配置管理规范,软件质量保证规范,软件质量数据采集规程等。
输出包括SQAP,项目采用的标准和规程,各种评审和审核活动的记录和报告、问题报告、问题解决报告和软件质量有关的其它数据。
3、SQA活动流程(见下图)
西安交通大学刘海岩
10