缺陷管理流程

2025年3月17日 | 阅读 10 分钟

在本节中,我们将了解缺陷管理流程的工作原理。

另外,请参阅软件测试中的缺陷、缺陷管理流程的目标缺陷管理流程、缺陷管理流程的优缺点

但首先,我们将了解缺陷管理流程,并了解软件测试中的缺陷

软件测试中的缺陷

  • 程序员在代码内部报告的 bug 称为
  • 换句话说,当应用程序未按预期工作时,就被称为缺陷
  • 它被指定为应用程序或软件的实际结果和预期结果之间的不一致。
  • 缺陷是实际结果与预期输出之间的差异。
  • 测试工程师可以识别缺陷,并且在软件开发生命周期的开发阶段由开发人员修复。
  • 当测试工程师测试一段代码时,他/她会发现预期输出与现有输出之间的差异,这就是缺陷。在软件测试中,缺陷的替代词可以是问题、bug 和事件

什么是缺陷管理流程?

缺陷管理流程是软件测试的核心。一旦识别出缺陷,任何组织最重要的活动就是管理这些缺陷,这不仅对测试团队,也对所有参与软件开发或项目管理过程的人员都至关重要。

我们知道,缺陷预防是减少缺陷数量的有效方法。缺陷预防是一个极具成本效益的过程,用于修复在软件过程早期阶段发现的缺陷。

缺陷管理流程是一个流程,大多数组织在此流程中管理缺陷发现、缺陷消除,然后是过程改进

正如其名称所建议的,缺陷管理流程 (DMP) 通过纯粹地检测和解决或修复故障来管理缺陷。

要使软件 100% 无错误或无缺陷是不可能的,但可以通过修复或解决来减少一些缺陷。

缺陷管理流程主要侧重于阻止缺陷、在早期阶段发现缺陷以及减轻缺陷的影响。

缺陷管理流程 (DMP) 的目标

缺陷管理流程的主要目标如下:

  • DMP 的主要目标是在软件开发的早期阶段暴露缺陷。
  • 执行缺陷管理流程将帮助我们改进软件的流程和实现。
  • 缺陷管理流程减少缺陷对软件的影响。
  • 缺陷管理流程 (DMP) 有助于我们避免缺陷。
  • 缺陷管理流程的主要目标是解决或修复缺陷。

对于不同的组织或项目,缺陷管理流程的关键目标如下:

  • 缺陷管理流程允许我们为缺陷的状态和进展报告提供输入。
  • 找出缺陷发生的根本原因以及如何处理。
  • 为缺陷发布提供相关信息。

缺陷管理流程的各个阶段

缺陷管理流程包括几个阶段,如下所示:

  1. 缺陷预防
  2. 交付物基线
  3. 缺陷发现
  4. 缺陷解决
  5. 过程改进
  6. 管理报告

让我们一一讨论。

Defect Management Process

1. 缺陷预防

缺陷管理流程的第一个阶段是缺陷预防。在此阶段,通过执行程序、方法和标准方法来降低缺陷的风险。在初始阶段消除缺陷是减少其影响的最佳方法。

因为在修复或解决缺陷的初始阶段成本较低,并且影响也可以减小。

但对于未来的阶段,识别故障然后修复它是一个昂贵的过程,并且缺陷的影响也会被放大。

缺陷预防阶段包括以下重要步骤:

  • 估算可预测的影响
  • 最小化预期影响
  • 识别关键风险
Defect Management Process

步骤 1:估算可预测的影响

在此步骤中,如果遇到风险,我们可以计算每个关键事件的估计财务影响。

步骤 2:最小化预期影响

当所有关键风险都被发现后,我们可以考虑可能对系统造成危险的最高风险,并尝试将其减小或消除。

无法消除的风险将降低其发生的可能性及其财务影响。

步骤 3:识别关键风险

在缺陷预防中,我们可以快速识别系统在测试过程中或未来阶段发生时会产生更大影响的关键风险。

2. 交付物基线

缺陷管理流程的第二阶段是交付物基线。在此,交付物定义了系统、文档或产品

一旦交付物达到其预定义的里程碑,我们就可以说交付物是基线

注意:预定义的里程碑描述了软件应该完成什么。

在此阶段,交付物从一个步骤传递到另一个步骤,系统的现有缺陷也会传递到下一个步骤或里程碑。

换句话说,一旦交付物被基线化,任何额外的更改都会受到控制。

3. 缺陷发现

缺陷管理流程的下一阶段是缺陷发现。在缺陷管理流程的早期阶段,缺陷发现非常重要。之后,它可能会造成更大的损害。

只有当开发人员批准或记录了该缺陷是有效缺陷时,该缺陷才被视为已发现

正如我们所理解的,从系统中消除每一个缺陷并使系统无缺陷实际上是不可能的。但我们可以在缺陷变得对项目昂贵之前就检测到它们。

缺陷发现阶段包括以下阶段,让我们详细了解它们:

  • 识别缺陷
  • 报告缺陷
  • 确认缺陷
Defect Management Process

阶段 1:识别缺陷

在缺陷发现的第一阶段,我们需要在缺陷成为严重问题之前找到它们。

阶段 2:报告缺陷

一旦测试团队识别出缺陷,他们就需要将其分配给开发团队进行进一步评估和修复。

阶段 3:确认缺陷

一旦测试工程师将缺陷移交给指定的开发人员,现在就由开发团队负责确认缺陷,并在缺陷有效的情况下进一步进行修复。

4. 缺陷解决

一旦缺陷发现阶段成功完成,我们就进入缺陷管理流程的下一步,即缺陷解决

缺陷解决是修复缺陷的逐步过程,或者我们可以说这个过程对于指定和跟踪缺陷是有益的。

此过程从将缺陷移交给开发团队开始。开发人员需要根据优先级进行缺陷的解决和修复。

一旦选择了缺陷,开发人员就会将解决报告发送给测试经理的测试团队。

缺陷解决过程还包括通知测试工程师以确认解决方案已得到验证。

我们需要遵循以下步骤来完成缺陷解决阶段。

  • 确定风险优先级
  • 修复缺陷
  • 报告解决方案
Defect Management Process

步骤 1:确定风险优先级

在缺陷解决的第一步,开发团队评估缺陷

并安排故障修复。如果缺陷对系统影响更大,那么开发人员需要优先修复这些缺陷。

步骤 2:修复缺陷

在第二步中,开发人员将根据优先级修复缺陷,这意味着高优先级缺陷将首先得到解决。然后开发人员将修复低优先级缺陷。

步骤 3:报告解决方案

在缺陷解决的最后一步,开发人员需要发送已修复缺陷的报告。因为开发团队有责任确保测试团队充分了解何时将修复缺陷以及如何修复故障。

此步骤将有助于测试团队了解缺陷的根源。

5. 过程改进

在上述阶段(缺陷解决)中,缺陷已被安排并修复。

现在,在过程改进阶段,我们将查看低优先级缺陷,因为这些缺陷也很重要并且会影响系统。

从过程改进的角度来看,所有已确认的缺陷都与关键缺陷相当,并且需要修复。

参与此特定阶段的人员需要回忆并检查缺陷的起源。

根据这些,我们可以修改验证过程、基线文档、评审过程,这些修改可以及早发现问题,并使过程成本更低。

这些小缺陷使我们能够学习如何改进流程,并避免出现任何可能影响系统或导致产品将来失败的缺陷。

6. 管理报告

管理报告缺陷管理流程的最后阶段。它是缺陷管理流程的一个重要组成部分。管理报告的目的是确保生成的报告具有客观性并改进缺陷管理流程。

简单来说,我们可以说,缺陷信息的评估和报告支持组织和风险管理、过程改进和项目管理。

项目团队收集的关于特定缺陷的信息是管理报告的根源。因此,每个组织都需要考虑在缺陷管理过程中收集的信息以及单个缺陷的分类。

缺陷工作流和状态

许多组织借助工具来实现软件测试,这些工具在bug/缺陷生命周期期间跟踪缺陷,并包含缺陷报告。

通常,在缺陷生命周期的每个阶段,都有一位缺陷报告的所有者负责完成一项任务,该任务会将缺陷报告移至下一个状态。

有时,在缺陷生命周期的最后阶段缺陷报告可能没有所有者,如果我们遇到以下情况:

  • 如果缺陷无效,则取消缺陷报告。
  • 如果项目不再修复该缺陷,则认为该缺陷报告被延迟
  • 如果无法再检测到故障,因此缺陷报告被视为不可重现
  • 如果缺陷已被修复并经过测试,则认为缺陷报告已关闭

缺陷状态

如果在测试过程中识别出缺陷,测试团队必须将其管理在以下三个状态:

  • 初始状态
  • 退回状态
  • 确认状态
Defect Management Process

1. 初始状态

  • 这是缺陷的第一个状态,也称为打开状态。
  • 在此状态下,一名或多名测试工程师负责收集所有必要的数据来修复缺陷。

2. 退回状态

  • 缺陷的第二个状态是退回状态。在此状态下,接收测试报告的人员拒绝并要求报告创建者提供更多信息。
  • 在退回状态下,测试工程师可以提供更多信息或接受报告的拒绝。
  • 如果拒绝了多个报告,则测试经理应检查初始信息收集过程本身是否存在问题。
  • 退回状态也称为澄清状态或拒绝状态

3. 确认状态

  • 这是缺陷的最后一个状态,即确认状态,测试工程师在此状态下执行确认测试以确保缺陷已得到修复。
  • 这是通过重复在测试期间发现缺陷的步骤来实现的。
  • 如果缺陷已解决,则报告将被关闭。
  • 如果缺陷未解决,则报告被视为重新打开并报告给先前保存了该缺陷报告以进行修复的所有者。
  • 确认状态也称为已验证或已解决状态

缺陷管理流程的优点

以下是缺陷管理流程的最重要好处:

确认解决方案

  • 缺陷管理流程还将帮助我们确保正在跟踪的缺陷得到解决。

自动化工具的可访问性

  • 缺陷管理流程最重要的程序之一是缺陷或 bug 跟踪过程
  • 对于缺陷跟踪,市面上有各种自动化工具,可以帮助我们在早期阶段跟踪缺陷。
  • 如今,有各种不同的工具可用于跟踪不同类型的缺陷。例如,
    • 软件工具:用于识别或跟踪非技术问题的工具。
    • 面向用户的工具:这些工具将帮助我们发现与生产相关的缺陷。

提供有价值的指标

  • 缺陷管理流程还通过自动化工具为我们提供有价值的缺陷指标。
  • 这些有价值的缺陷指标有助于报告和持续改进。

缺陷管理流程的缺点

缺陷管理流程的缺点如下:

  • 如果缺陷管理流程执行不当,我们可能会面临客户流失、收入损失和品牌声誉受损。
  • 如果缺陷管理流程处理不当,那么产品价格的上涨(成本增加)将会大大增加。
  • 如果缺陷没有在早期得到妥善处理,那么之后缺陷可能会造成更大的损害,并且修复缺陷的成本也会增加。

概述

在本文中,我们了解了软件测试中的缺陷、缺陷管理流程、优点和缺点

软件测试中,缺陷管理流程很重要,因为我们知道任何编写的代码都需要进行测试。

缺陷管理过程包括发现软件中的缺陷并修复它们。完整的缺陷管理过程将帮助我们在早期阶段发现缺陷,并确保交付高质量的产品。

执行缺陷管理流程可确保在将应用程序移至生产环境时不再存在其他缺陷。其结果将节省大量资金。

在敏捷方法中,缺陷管理流程尤为重要,因为开发冲刺也必须包含测试工程师的参与、协作和行动。

在任何组织中,高层管理人员也应该从公司发展的角度理解和支持缺陷管理流程。


下一个主题回归测试