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