软件质量保证
一、软件质量保证(SQA)概念
1.SQA是什么?
软件质量保证(SQA)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。 它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。
- SQA目标:为满足质量需求提供信任,从一开始避免缺陷。
2.软件质量保证4种手段:评审、审查、走查、审计
评审review、审查inspection、走查walkthrough、审计audit
- 评审:目的:实现我们想要的,有技术人员完成
- 审查:像静态测试(软件不运行进行软件测试),发现缺陷
- 走查:根据已经提出的测试用例,用人工的方法执行用例。人工按照代码的逻辑走一遍
对象:复杂的、不熟悉的、易疏忽的
方法:形成问题单
3. 如何保证和提高软件质量的两种途径
1.尽量在开发时期减少缺陷
2.通过分析和测试发现和纠正缺陷
好的开发方法和技术–关键+测试-不可缺少
4.在软件开发全过程实施SQA:有哪些环节?
需求评审:
需求规格说明审查:
设计评审:设计评审检查表进行审查……
设计审查
编程评审:程序可维护性、代码审查……
5.SQA面向软件开发过程
- 软件过程控制被提出:产品质量由其生产过程的质量决定
- iSO9000:SQA体系最低标准
- CMM:通过持续改进的过程说明什么是SQA
SQA其他知识:
-
SQA有更加广泛定义:
项目评审类型:
管理评审
同行评审:越正规形式化程度越高:审查>小组评审>走查
项目后评审
状态评审 -
SQA:
工作产品类型与审查人员
评审的度量
评审效率
审查所需的文档:审查勘误表、问题记录单…… -
SQA包括过程质量和产品质量
-
问题驱动的软件质量过程控制–以缺陷为导向进行软件过程控制,是一种特殊是过程控制方法
二、软件质量保证和软件测试的联系和区别
1.两者关系:
软件质量保证不是静态测试。SQA与软件测试两个属于两个范畴,没有包含关系
SQA是一系列活动,软件测试是一门技术一套方法,没有谁包含谁。
SQA一列活动中需要用到各种测试技术,主要方法是开展一系列的评审、审查等活动。代码走查、评审这些活动是静态测试的一种方法。
软件测试是SQA的一个措施。SQA的内容不讨论软件测试 软件测试这种技术在SQA的过程中一定会用到,但不互相包含。
2.SQA
SQA包括审计、评审,发布报告、问题反映处理。