SQA 组件

软件质量保证 (SQA) 是一组确保软件工程流程质量的活动。它确保开发的软件符合定义或标准化的质量规范。SQA 是软件开发生命周期 (SDLC) 中的一个持续过程,它定期检查开发的软件以确保其符合所需的质量指标。

无论使用哪种底层软件开发模型,大多数类型的软件开发都实施了 SQA 实践。SQA 结合并实施软件测试方法来测试软件。SQA 流程不是在完成后检查质量,而是在开发的每个阶段测试质量,直到软件完成。使用 SQA,软件开发过程只有在当前/上一阶段符合所需的质量标准后才会进入下一阶段。 SQA 通常基于一个或多个行业标准开展工作,这些标准有助于制定软件质量指南和实施策略。

它包括以下活动 −

  • 流程定义和实施
  • 审计
  • 培训

流程可能 −

  • 软件开发方法
  • 项目管理
  • 配置管理
  • 需求开发/管理
  • 估算
  • 软件设计
  • 测试等。

一旦流程定义并实施,质量保证就有以下职责 −

  • 识别流程中的弱点
  • 纠正这些弱点以持续改进流程

SQA 系统的组成部分

SQA 系统总是结合了广泛的 SQA 组件。这些组件可分为以下六类 −

项目前期组成部分

这确保项目承诺已明确定义,考虑到所需资源、时间表和预算;并且开发和质量计划已正确确定。

项目生命周期活动评估的组成部分

项目生命周期由两个阶段组成:开发生命周期阶段和运营维护阶段。

开发生命周期阶段组件可检测设计和编程错误。其组件分为以下子类:评审、专家意见和软件测试。

在运营维护阶段使用的 SQA 组件包括专门的维护组件以及开发生命周期组件,主要用于改进维护任务的功能。

基础设施错误预防和改进组件

这些组件的主要目标是根据组织积累的 SQA 经验,消除或至少降低错误率,并应用于整个组织。

软件质量管理组件

此类组件涉及多个目标,例如开发和维护活动的控制,以及引入早期管理支持行动,主要防止或尽量减少进度和预算失败及其后果。

标准化、认证和 SQA 系统评估组件

这些组件在组织内实施国际专业和管理标准。本课程的主要目标是利用国际专业知识,改善组织质量体系与其他组织的协调,并根据通用标准评估质量体系的成就。各种标准可分为两大类:质量管理标准和项目过程标准。

组织 SQA - 人为因素

SQA 组织基础包括管理人员、测试人员、SQA 部门和对软件质量感兴趣的人员,如 SQA 受托人、SQA 委员会成员和 SQA 论坛成员。他们的主要目标是启动和支持 SQA 组件的实施,检测与 SQA 程序和方法的偏差,并提出改进建议。

项目前软件质量组件

这些组件有助于改进在开始项目之前采取的初步步骤。它包括 −

  • 合同审查
  • 开发和质量计划

合同审查

通常,软件的开发是为了与客户协商的合同或内部订单,以开发嵌入硬件产品的固件。在所有这些情况下,开发部门都致力于商定的功能规范、预算和时间表。因此,合同审查活动必须包括对项目提案草案和合同草案的详细审查。

具体而言,合同审查活动包括 −

  • 澄清客户要求

  • 审查项目进度和资源需求估算

  • 评估专业人员执行拟议项目的能力

  • 评估客户履行义务的能力

  • 评估开发风险

开发和质量计划

与组织或同一组织的内部部门签订软件开发合同后,将制定项目开发计划及其综合质量保证活动。这些计划包括基于先前计划的附加细节和所需修订,这些计划为当前提案和合同提供了基础。

大多数情况下,从提交投标到签订合同需要几个月的时间。在此期间,人员可用性、专业能力等资源可能会发生变化。然后对计划进行修订,以反映在此期间发生的变化。

项目开发计划中处理的主要问题是−

  • 时间表
  • 所需的人力和硬件资源
  • 风险评估
  • 组织问题:团队成员、分包商和合作伙伴
  • 项目方法、开发工具等
  • 软件重用计划

项目质量计划中处理的主要问题是−

  • 以适当的可衡量术语表达的质量目标

  • 开始和结束每个项目阶段的标准

  • 审查、测试和其他预定的验证和确认活动的清单