软件质量保证(Software Quality Assurance)
-what一系列用于监测和控制的活动;保证整个软件有序进行,有信心达到目标。(保证Assurance:都是未发生的事情。)
-when:在软件开发的整个过程中。(像一把保护伞)
-who:1.dev开发人员 2.SQAgroup
!不仅仅是SQA group的工作,更是dev
-How:SQA通过使用制定质量控制的指导,开保证整个软件整个软件生命周期
的完整性和可靠性。开发都依据软件质量保证计划。
-Components :主要组成:
1.测试:是风险测量,用来证明达到了功能需求。测试是有局限性的,依赖于测试用例,并不是所有的错误都可以找到,而且is too late
2.软件配置管理:一系列的规格说明,用于约定开发过程版本控制。每一个模块都有不同的版本,模块间还有各种关系,所以噢诶之管理能够很好的识别模块和模块版本。包括:1.模块ID
2.版本控制 3.配置building。 4.变更控制
3.质量监控:用来监控和观察软件开发过程和方法是否达到了需求。包括:review,inspection,check
相关文档:standards, practices,conventions, and specification
质量保证关系如下图:
中间的三角为一个公司可能做到的SQA,每个公司关注点不同所以三个部分所占有的比例也会不同,有的公司如IBM软件质量保障做的很深,所以三角可能占有面积很大。有些小的公司可能刚刚起步,所以主要关注点事testing,整个三角中心偏向左上角。
!!SCM(software configuration management)包括 1.模块ID(component identification) 用于唯一标识每个模块 2.version control 常用工具如svn,git,vss等 3. configuration building 选个每个模块进行一个版本的build。 4. change control 由CCB变更委员会通过进行变更。注意一旦软件改变了,文档一定要变。