Quality Assurance(QA) 过程、方法和实例

在我们学习质量保证之前,先了解一下-

什么是质量?

质量是很难定义的,简单地说就是:“适合使用或目的”。这一切都是为了满足客户在产品的功能、设计、可靠性、耐用性和价格方面的需求和期望。

什么是保证?

保证只不过是对产品或服务的肯定声明,给人以信心。它保证产品按照预期或要求正常工作,不会出现任何问题。

软件测试中的质量保证

软件测试中的质量保证被定义为确保组织向客户提供的软件产品或服务的质量的过程。质量保证的重点是改进软件开发过程,使其按照为软件产品定义的质量标准高效有效。质量保证通常称为QA测试。

在本教程中,将了解-

  • 如何做好质量保证:完整的流程
  • 什么是质量控制?
  • 质量控制和质量保证的区别是什么?
  • SQA与软件测试的区别
  • 质量保证的最佳实践
  • 质量保证职能
  • 质量保证认证
  • CMMI级别
  • 测试成熟度模型(TMM)

如何做好质量保证:完整的流程

质量保证方法有一个定义的循环,称为PDCA循环或戴明循环。此周期的阶段包括:

  • 计划
  • 行动
  • 检查
  • 执行

质量保证流程

Quality Assurance Process
Quality Assurance Process

重复上述步骤以确保定期评估和改进组织中遵循的过程。让我们详细了解一下上述QA流程步骤-

  • 计划-组织应计划和建立与过程相关的目标,并确定交付高质量最终产品所需的过程。
  • 执行-过程的开发和测试,以及过程中的更改
  • 检查-监控流程,修改流程,检查是否满足预定目标
  • 行动-质量保证测试人员应该实现在过程中实现改进所必需的行动

组织必须使用质量保证来确保产品的设计和实现符合正确的程序。这有助于减少最终产品中的问题和错误。

什么是质量控制?

Quality Control
Quality Control

质量控制,通常缩写为QC。它是一个软件工程过程,而不是用来检查“最终产品”和最终结果的质量。

质量控制的主要目的是检查产品是否符合客户的规格和要求。如果发现问题或问题,则需要在交付给客户之前进行修复。

QC还对员工的质量水平、技能组合进行评估,并提供培训和认证。这项评估是以服务为基础的组织所必需的,有助于为客户提供“完美”的服务。

质量控制和质量保证的区别是什么?

有时,QC与QA混淆。质量控制就是检查产品质量保证。软件工程中的质量保证就是检查过程,并对导致最终产品的过程进行更改。 质量控制与质量保证

Difference between Quality Control and Quality Assurance
Difference between Quality Control and Quality Assurance

QC和QA活动示例如下:

质量控制活动 质量保证活动
任意查看 质量审核
测试 定义流程
检查 识别和选择
检查点审查 质量标准和流程的培训

上述活动与任何产品的质量保证和控制机制有关,而不是软件的质量保证和控制机制。关于软件

  • QA变成SQA(软件质量保证)
  • QC变成了软件测试。

SQA与软件测试的区别

下表说明了SQA和软件测试之间的区别:

SQA 软件测试
软件质量保证是关于确保质量的工程过程 软件测试是在产品上线之前测试产品是否存在问题
涉及与实现过程、程序和标准相关的活动。示例-审核培训 涉及与产品示例验证相关的活动-评审测试
以流程为中心 以产品为中心
预防技术 矫正技术
积极主动的措施 反应措施
SQA的范围适用于组织将创建的所有产品 软件测试的范围适用于被测试的特定产品。

质量保证最佳实践:

  • 创建强大的测试环境
  • 仔细选择发布标准
  • 将自动化测试应用于高风险领域,以节省资金,有助于加快整个过程。
  • 为每个进程适当分配时间
  • 根据软件使用情况确定错误修复的优先顺序非常重要
  • 组建专门的安全和性能测试团队
  • 模拟类似于生产环境的客户帐户

质量保证职能:

主要有5个质量保证职能:

  1. 技术转让:此功能包括获取产品设计文档以及试错数据及其评估。对文件进行分发、审核和审批
  2. 验证:这里准备了整个系统的验证主计划。完成用于执行验证计划的资源规划。
  3. 文档:此功能控制文档的分发和存档。批准所有类型的文件。
  4. 保证产品质量
  5. 质量改进计划

质量保证认证:

行业中有几种认证可确保组织遵循标准质量流程。客户在选择软件供应商时将此作为资格标准。

ISO 9000

本标准于1987年首次制定,与质量管理体系相关。主要目标是审查和验证组织是否按预期遵循流程,并检查现有流程是否需要改进。 本认证有助于-

  • 增加组织的收益
  • 改善国内和国际贸易
  • 减少浪费,提高员工的工作效率
  • 提供卓越的客户满意度

CMMI级别

能力成熟度模型集成(CMMI)是专门为软件过程改进而开发的过程改进方法。该模型在软件开发组织中受到高度重视和广泛应用。

CMMI有5个级别。组织根据其质量保证机制的成熟度获得CMMI级别1到5的认证。

  • 级别1-初始:在此阶段质量环境不稳定。简单地说,没有遵循或记录任何流程
  • 级别2-可重复:遵循一些可重复的流程。此级别确保在项目级别遵循流程。
  • 级别3-定义:在组织级别定义并记录一组过程。这些已定义的流程需要进行一定程度的改进。
  • 级别4-管理:此级别使用流程指标并有效控制所遵循的流程。
  • 级别5-优化:此级别的重点是通过学习和创新不断改进流程。

测试成熟度模型(TMM):

此模型评估测试环境中流程的成熟度。即使这个模型也有5个级别,定义如下-

  • 级别1-初始:测试过程没有遵循质量标准,此级别仅使用特殊方法
  • 第2级-定义:定义的过程。完成测试策略、计划、测试用例的准备工作。
  • 级别3-集成:测试在整个软件开发生命周期(SDLC)中执行-这只不过是与开发活动(例如,V-Model)集成。
  • 级别4-管理和度量:在此级别对需求和设计进行评审,并为每个级别的测试设置了标准
  • 级别5-优化:许多预防性技术用于测试过程,自动化工具用于改进测试标准和过程。

结论:

质量保证是检查所开发的产品是否适合使用。为此,组织应具有主要集中在我们在软件实现期间或之后向客户提供的产品/服务质量的过程。

IT赶路人

专注IT知识分享