软件质量保证组件
软件质量保证 (SQA) 是一组用于确保软件工程过程中质量的活动。它确保开发的软件满足并符合已定义或标准化的质量规范。SQA 是软件开发生命周期 (SDLC) 中一个持续进行的过程,它定期检查已开发的软件,以确保其满足所需的质量标准。
无论使用何种底层软件开发模型,大多数类型的软件开发中都会实施 SQA 实践。SQA 集成并实施软件测试方法来测试软件。SQA 过程并非在完成之后才检查质量,而是在软件开发的每个阶段都进行质量测试,直到软件完成。使用 SQA,只有在当前/上一阶段符合所需的质量标准后,软件开发过程才能进入下一阶段。SQA 通常基于一个或多个行业标准,这些标准有助于构建软件质量指南和实施策略。
它包括以下活动:
- 流程定义和实施
- 审计
- 培训
流程可能包括:
- 软件开发方法
- 项目管理
- 配置管理
- 需求开发/管理
- 估算
- 软件设计
- 测试等。
一旦定义并实施了流程,质量保证就具有以下职责:
- 识别流程中的弱点
- 纠正这些弱点以持续改进流程
SQA 系统的组件
SQA 系统始终结合了广泛的 SQA 组件。这些组件可以分为以下六类:
项目前组件
这确保了项目承诺已在考虑所需资源、进度和预算的情况下明确定义;并且开发和质量计划已正确确定。
项目生命周期活动评估组件
项目生命周期由两个阶段组成:开发生命周期阶段和运行维护阶段。
开发生命周期阶段组件检测设计和编程错误。其组件细分为以下子类:评审、专家意见和软件测试。
在运行维护阶段使用的 SQA 组件包括专门的维护组件以及开发生命周期组件,这些组件主要用于改进维护任务的功能。
基础设施错误预防和改进组件
这些组件贯穿整个组织实施,其主要目标是基于组织积累的 SQA 经验来消除或至少降低错误率。
软件质量管理组件
此类组件处理多个目标,例如控制开发和维护活动,以及引入主要的早期管理支持行动,以防止或最大限度地减少进度和预算失败及其后果。
标准化、认证和 SQA 系统评估组件
这些组件在组织内实施国际专业和管理标准。此类的主要目标是利用国际专业知识,改进组织质量系统与其他组织的协调,并根据通用标准评估质量系统的成就。各种标准可分为两大类:质量管理标准和项目流程标准。
SQA 的组织——人员组件
SQA 组织基础包括管理人员、测试人员、SQA 单元以及对软件质量感兴趣的人员,例如 SQA 受托人、SQA 委员会成员和 SQA 论坛成员。他们的主要目标是启动和支持 SQA 组件的实施,发现与 SQA 程序和方法的偏差,并提出改进建议。
项目前软件质量组件
这些组件有助于改进在项目开始前采取的初步步骤。它包括:
- 合同评审
- 开发和质量计划
合同评审
通常,软件是为与客户协商的合同而开发的,或者是为了开发嵌入硬件产品中的固件的内部订单而开发的。在所有这些情况下,开发单元都致力于商定的功能规范、预算和进度。因此,合同评审活动必须包括对项目建议草案和合同草案的详细审查。
具体来说,合同评审活动包括:
澄清客户的需求
审查项目的进度和资源需求估算
评估专业人员执行拟议项目的能力
评估客户履行其义务的能力
评估开发风险
开发和质量计划
与组织或同一组织的内部部门签订软件开发合同后,将准备项目的开发计划及其集成的质量保证活动。这些计划包括基于为当前提案和合同提供基础的先前计划的更多详细信息和必要的修订。
大多数情况下,从招标提交到合同签署之间需要几个月的时间。在此期间,资源(例如员工可用性、专业能力)可能会发生变化。然后修改这些计划以反映在此期间发生的更改。
项目开发计划中处理的主要问题包括:
- 进度安排
- 所需人力和硬件资源
- 风险评估
- 组织问题:团队成员、分包商和伙伴关系
- 项目方法、开发工具等。
- 软件重用计划
项目质量计划中处理的主要问题包括:
质量目标,以适当的可衡量术语表达
开始和结束每个项目阶段的标准
评审、测试和其他预定验证和确认活动的清单