软件测试中的质量保证(QA)是什么?
什么是质量?
质量非常难以定义,简单来说就是:“适合使用或目的”。它关乎产品在功能、设计、可靠性、耐用性和价格方面满足客户的需求和期望。
什么是保证?
保证是对产品或服务的积极声明,它能带来信心。它确保产品或服务能正常工作。它提供保证,确保产品能按照预期或要求无任何问题地运行。
软件测试中的质量保证是什么?
软件测试中的质量保证被定义为一项程序,旨在确保组织向客户提供的软件产品或服务的质量。质量保证侧重于改进软件开发过程,使其按照为软件产品定义的质量标准变得高效和有效。质量保证通常被称为 QA 测试。
如何进行质量保证:完整流程
质量保证方法论有一个明确的循环,称为 PDCA 循环或戴明循环。该循环的阶段是:
- 计划
- 执行
- 检查
- 行动
以上步骤重复进行,以确保对组织遵循的过程进行定期评估和改进。让我们详细了解上述 QA 过程步骤:
- 计划 – 组织应计划并建立与过程相关的目标,并确定交付高质量最终产品所需的过程。
- 执行 – 过程的开发和测试,以及对过程进行“变更”
- 检查 – 监控过程,修改过程,并检查其是否符合预定目标
- 行动 – 质量保证测试人员应实施必要的行动,以实现过程改进
组织必须使用质量保证来确保产品按照正确的程序设计和实施。这有助于减少最终产品中的问题和错误。
什么是质量控制?
质量控制通常缩写为 QC。它是一种软件工程过程,用于确保产品或服务的质量。它不处理用于创建产品的过程;相反,它检查“最终产品”和最终结果的质量。
质量控制的主要目的是检查产品是否符合客户的规格和要求。如果发现问题,需要在交付给客户之前进行修复。
QC 还评估人员的质量水平技能,并提供培训和认证。这种评估对于基于服务的组织是必需的,有助于向客户提供“完美”的服务。
质量控制和质量保证的区别是什么?
有时,QC 与 QA 混淆。质量控制是检查产品或服务并检查结果。软件工程中的质量保证是检查过程并对导致最终产品的过程进行更改。
QC 和 QA 活动的示例如下:
质量控制活动 | 质量保证活动 |
---|---|
走查 | 质量审计 |
测试 | 定义流程 |
检查 | 工具识别和选择 |
检查点审查 | 质量标准和流程培训 |
以上活动涉及任何产品(不限于软件)的质量保证和控制机制。对于软件而言,
- QA 成为 SQA(软件质量保证)
- QC 成为软件测试。
另请查看:- 质量保证与质量控制:有什么区别?
SQA 与软件测试的区别
下表解释了 SQA 和软件测试之间的区别
SQA | 软件测试 |
---|---|
软件质量保证是关于确保质量的工程过程 | 软件测试是在产品上线前测试产品是否存在问题 |
涉及与流程、程序和标准实施相关的活动。示例 – 审计培训 | 涉及与产品验证相关的活动。示例 – 审查测试 |
以过程为中心 | 以产品为中心 |
预防性技术 | 纠正性技术 |
主动措施 | 被动措施 |
SQA 的范围适用于组织将创建的所有产品 | 软件测试的范围适用于正在测试的特定产品。 |
质量保证的最佳实践
- 创建强大的测试环境
- 仔细选择发布标准
- 将自动化测试应用于高风险区域以节省资金。它有助于加快整个过程。
- 为每个过程分配适当的时间
- 根据软件使用情况确定错误修复的优先级非常重要
- 组建专门的安全和性能测试团队
- 模拟类似于生产环境的客户账户
质量保证职能
质量保证有 5 个主要职能
- 技术转让:此职能涉及获取产品设计文档以及试错数据及其评估。文档经过分发、检查和批准。
- 验证:此处为整个系统准备验证主计划。设定产品和过程验证的测试标准。进行验证计划执行的资源规划。
- 文档:此职能控制文档的分发和归档。任何文档的更改都通过采用适当的变更控制程序进行。所有类型文档的批准。
- 确保产品质量
- 质量改进计划
质量保证认证
行业中提供多种认证,以确保组织遵循标准质量流程。客户在选择软件供应商时将其作为合格标准。
ISO 9000
该标准于 1987 年首次建立,与质量管理系统相关。这有助于组织确保向客户和其他利益相关者提供质量。希望获得 ISO 9000 认证的组织根据其职能、产品、服务和流程进行审计。主要目标是审查和验证组织是否按照预期遵循流程,并检查现有流程是否需要改进。
此认证有助于 –
- 增加组织利润
- 改善国内外贸易
- 减少浪费,提高员工生产力
- 提供卓越的客户满意度
CMMI 级别
能力成熟度模型集成 (CMMI) 是一种专门为软件过程改进而开发的流程改进方法。它基于过程成熟度框架,并作为软件行业业务流程的通用辅助工具。该模型在软件开发组织中受到高度重视并广泛使用。
CMMI 有 5 个级别。组织根据其质量保证机制的成熟度获得 CMMI 1 至 5 级认证。
- 级别 1 – 初始:在此阶段,质量环境不稳定。简而言之,没有遵循或记录任何流程
- 级别 2 – 可重复:遵循一些可重复的流程。此级别确保在项目级别遵循流程。
- 级别 3 – 已定义: 在组织级别定义和记录了一组流程。这些已定义的流程在一定程度上需要改进。
- 级别 4 – 已管理:此级别使用过程指标并有效控制所遵循的流程。
- 级别 5 – 优化:此级别通过学习和创新专注于流程的持续改进。
另请查看:- 软件工程中的能力成熟度模型 (CMM) 及其级别
测试成熟度模型 (TMM)
此模型评估测试环境中流程的成熟度。该模型也有 5 个级别,定义如下:
- 级别 1 – 初始:此级别没有遵循测试流程的质量标准,只使用临时方法
- 级别 2 – 定义:已定义流程。进行测试策略、计划、测试用例的准备工作。
- 级别 3 – 集成:在整个软件开发生命周期 (SDLC) 中进行测试——这无非是与开发活动的集成,例如 V 模型。
- 级别 4 – 管理和测量:在此级别进行需求和设计审查,并为每个测试级别设置标准
- 级别 5 – 优化:测试流程中使用了许多预防技术,并使用工具支持(自动化)来改进测试标准和流程。
另请查看:- 软件测试中的测试成熟度模型 (TMM) 是什么?
结论
质量保证是为了检查开发的产品是否适合使用。为此,组织应制定并遵循流程和标准,并定期加以改进。它主要关注我们在软件实施期间或之后向客户提供的产品/服务的质量。