软件质量保证SQA(Software Quality Assurance)又称为软件质量工程师或QA等。在国内普遍做的一般,很多人对他们的印象是:周扒皮,不懂技术,欺上媚下,只知道要数据;QA不管事就是对研发的最大帮助,甚至一些公司的QA就是寻花问柳的闲职。
不过也有极少数QA"言行一致",从实施软件质量原则和实践中获得的 "经验教训",并积极主动地参与软件工程和质量领域的管理、程序和技术进步,已经学会增加他们对最终软件产品的价值。
SQA的主要角色之一是作为管理信息源,使软件质量像成本和进度一样,在需要制定商业计划和决策时被管理层所关注。SQA必须不断提高他们的技能和知识组合。SQA不只使用测试或审计,要能理解和应用包括以下方面的知识。
- 软件质量管理
制定组织的战略质量目标和目的,建立组织、项目和产品质量规划,以及提供必要的监督以确保组织的质量管理系统的有效性和效率所涉及的过程和活动。软件质量管理领导建个综合的、跨职能的文化,以便生产高质量的软件。
- 软件质量工程
定义、计划和实施与软件有关的过程、项目和产品的质量管理系统所需的过程和活动。这包括定义、建立和持续改进与软件有关的系统、政策、流程和工作指令,以帮助防止缺陷并在软件中建立质量。
- 软件质量保证
有计划、有系统的所有行动和活动的集合,提供足够的信心以保证。
软件符合标准,并在产品中建立了质量。
组织的质量管理系统(或每个单独的过程)足以满足组织的质量目标和目的,适当地计划、记录和改进,遵守,并且是有效和高效的。
- 软件质量控制
有计划、有系统的一套,监测和测量软件项目、过程和产品的所有行动和活动,以确保特殊原因没有给这些项目、过程和产品带来不必要的变化。
- 软件验证和确认
用于确保软件产品满足其特定要求和预期用途的过程和活动。验证和确认有助于确保 "软件是正确的 "和 "构建了正确的软件"。
- 软技能
软件质量工程师还需要所谓的 "软技能",以有效地影响他人的质量。软技能 "的例子包括领导力、团队建设、促进、沟通、激励、解决冲突、谈判,等等。