在本节中,我们将了解缺陷管理过程的工作。
同时还有软件测试中的缺陷,缺陷管理过程的目标,缺陷管理过程及其优缺点。
首先,我们将了解缺陷管理的过程,并且将了解软件测试中的缺陷。
1. 软件测试中的缺陷
- 由程序员在代码中宣布的错误,称为缺陷。
- 换句话说,我们可以说,当应用程序未按照要求工作时,称为缺陷。
- 它被指定为应用程序或软件的实际和预期结果的不规则性。
- 缺陷是实际结果与预期产出之间的差异。
- 测试工程师可以识别缺陷,并且开发人员在软件开发生命周期的开发阶段修复了该缺陷。
- 当测试工程师测试一段代码时,会遇到预期输出与现有输出的差异,这称为缺陷。缺陷的替代词可以进一步称为软件测试中的问题、错误和事件。
2. 什么是缺陷管理过程?
缺陷管理过程是软件测试的核心。一旦确定了缺陷,任何组织最重要的活动就是管理缺陷,不仅对测试团队,而且对参与软件开发或项目管理过程的每个人。
众所周知,缺陷预防是减少缺陷数量的有效方法。缺陷预防是一个非常经济高效的过程,用于修复在软件过程的早期阶段发现的缺陷。
缺陷管理过程是大多数组织管理缺陷发现、缺陷消除和过程改进的过程。
顾名思义,缺陷管理过程 (DMP) 通过纯粹检测、解决或修复故障来管理缺陷。
使软件100%错误或无缺陷是不可能的,但是可以通过修复或解决它们来消除一些缺陷。
缺陷管理过程主要侧重于停止缺陷,在早期阶段发现缺陷,并调节缺陷的影响。
3. 缺陷管理过程 (DMP) 的目标
缺陷管理过程的主要目标如下所述:
- DMP 的主要目标是在软件开发过程的早期阶段暴露缺陷。
- 缺陷管理过程的执行将帮助我们增强软件的过程和实施。
-
缺陷管理过程减少了缺陷对软件的影响。
- 缺陷管理过程 (DMP) 帮助我们避免缺陷。
-
缺陷管理过程的主要目标是解决或修复缺陷。
对于不同的组织或项目,缺陷管理过程的关键目标如下:
- 缺陷管理过程允许我们提供有关缺陷的状态和进度报告的输入。
-
找出缺陷如何发生以及如何处理它的主要原因。
-
提供输入,以获取与缺陷释放相关的信息。
4. 缺陷管理过程的各个阶段
缺陷管理过程包括几个阶段,如下所示:
- 缺陷预防
-
可交付成果基线
-
缺陷发现
-
缺陷解决
- 过程改进
-
管理报告
让我们一一讨论:
4.1 缺陷预防
缺陷管理过程的第一阶段是缺陷预防。在这个阶段,程序、方法和标准方法的执行降低了缺陷的风险。在初始阶段消除缺陷是减少其影响的最佳方法。
因为在初始阶段修复或解决缺陷的成本较低,并且影响也可以减少。
但对于未来的阶段,识别故障然后修复它是一个昂贵的过程,缺陷的影响也可能被放大。
缺陷预防阶段包括以下重要步骤:
- 估计可预测的影响
-
将预期影响降至最低
-
识别关键风险
步骤 1:估计可预测的影响
在此步骤中,如果遇到风险,那么我们可以计算每个关键场合的估计财务影响。
步骤 2:将预期影响降至最低
当发现所有关键风险时,我们可以承担如果遇到可能对系统造成危险的最主要风险,并尝试减少或消除它。
那些无法消除的风险将减少存在的可能性及其财务影响。
第 3 步:识别关键风险
在缺陷预防方面,我们可以快速识别系统的关键风险,如果它们在整个测试过程中或未来阶段发生,这些风险将产生更大的影响。
4.2 可交付基线
缺陷管理过程的第二阶段是可交付成果基线。在这里,可交付成果定义了系统、文档或产品。
我们可以说,一旦可交付成果达到其预定义的里程碑,即可交付成果就是基线。
在此阶段,可交付成果从一个步骤进行到另一个步骤;系统的现有缺陷也会进入下一步或里程碑。
换句话说,我们可以说,一旦可交付成果被设定为基准,任何其他更改都会受到控制。
4.3 缺陷发现
缺陷管理过程的下一阶段是缺陷发现。在缺陷管理过程的早期阶段,缺陷发现非常重要。后来,它可能会造成更大的损害。
如果开发人员已批准或记录缺陷为有效缺陷,则只有缺陷被视为已发现。
正如我们所理解的,实际上不可能从系统中消除每个缺陷并使系统无缺陷。但是我们可以在缺陷对项目造成成本之前及早发现它们。
缺陷发现阶段包括以下阶段:
阶段 1:识别缺陷
在缺陷发现的第一阶段,我们需要在成为关键问题之前找到缺陷。
第 2 阶段:报告缺陷
一旦测试团队发现缺陷,他们需要将已知问题分配给开发团队进行进一步评估和修复过程。
第 3 阶段:确认缺陷
一旦测试工程师将缺陷移交给指定的开发人员,现在开发团队有责任确认故障,并在缺陷有效的情况下继续修复它。
4.4 缺陷解决
一旦缺陷发现阶段成功完成,我们进入缺陷管理过程的下一步,缺陷解决。
缺陷解决是修复缺陷的分步过程,或者我们可以说这个过程对于指定和跟踪缺陷是有益的。
此过程从将缺陷移交给开发团队开始。开发人员需要继续解决缺陷并根据优先级修复它们。
选择缺陷后,开发人员会向测试经理的测试团队发送解决缺陷报告。
缺陷解决过程还涉及向测试工程师发送通知,以确认解决方案已验证。
我们需要按照以下步骤完成缺陷解决阶段:
步骤 1:确定风险的优先级
在缺陷解决的第一步中,开发团队评估缺陷
并安排故障修复。如果缺陷对系统的影响更大,则开发人员需要以高优先级修复这些缺陷。
步骤2:修复缺陷
在第二步中,开发人员将根据优先级修复缺陷,这意味着首先解决优先级较高的缺陷。然后开发人员将修复优先级较低的缺陷。
步骤3:报告决方案
在缺陷解决的最后一步,开发人员需要发送修复的缺陷报告。因为开发团队有责任确保测试团队充分了解何时修复缺陷以及如何修复故障。
此步骤将有利于测试团队了解缺陷的根源。
4.5 过程改进
在上述阶段(缺陷解决),缺陷已经安排和修复。
现在,在过程改进阶段,我们将研究优先级较低的缺陷,因为这些缺陷也是必不可少的,并且会影响系统。
从过程改进阶段的角度来看,所有公认的缺陷都等于一个关键缺陷,需要修复。
参与此特定阶段的人员需要回忆并检查缺陷的起始位置。
根据这一点,我们可以在验证过程、基线文档、审查过程中进行修改,以便在过程的早期发现缺陷,并使过程成本更低。
这些小缺陷使我们能够了解如何改进过程并避免存在任何可能影响系统或未来产品故障的缺陷。
4.6 管理报告
管理报告是缺陷管理过程的最后阶段。它是缺陷管理过程中重要且必不可少的一部分。需要管理报告,以确保生成的报告具有目标并增加缺陷管理过程。
简单来说,我们可以说缺陷信息的评估和报告支持组织和风险管理、过程改进和项目管理。
项目团队收集的有关特定缺陷的信息是管理报告的根源。因此,每个组织都需要考虑在整个缺陷管理过程中收集的信息以及单个缺陷的分组。
5. 缺陷工作过程和状态
在一个工具的帮助下实现软件测试的各种组织,该工具在缺陷生命周期中跟踪缺陷,并且还包含缺陷报告。
通常,缺陷生命周期的每个状态都有一个缺陷报告的所有者,负责完成将缺陷报告移动到连续状态的任务。
有时,如果我们可能面临以下情况,缺陷报告在缺陷生命周期的最后阶段可能没有所有者:
- 如果缺陷无效,则取消缺陷报告。
-
如果缺陷不会作为项目的一部分进行修复,则缺陷报告被视为延迟。
-
如果无法再检测到故障,则缺陷报告被视为不可重现。
-
如果缺陷已修复和测试,则缺陷报告被视为已关闭。
5.1 缺陷状态
如果在整个测试过程中发现缺陷,测试团队必须在以下三种状态下管理它们:
1. 初始状态 -
它是缺陷的第一个状态,也称为开放状态。
-
一名或多名测试工程师负责收集所有必需的数据,以修复此状态下的缺陷。
2. 返回状态 -
缺陷的第二个状态是返回状态。在这种情况下,接收测试报告的人拒绝并要求报告创建者提供更多信息。
-
在返回状态下,测试工程师可以提供更多信息或接受报告的拒绝。
-
如果各种报告被拒绝,测试经理应注意初始信息收集过程本身的错误。
-
返回的状态也称为澄清状态或拒绝状态。
3. 确认状态 -
缺陷的最后一个状态是确认状态,测试工程师执行确认测试以确保缺陷已修复。
-
它是通过重复在测试时发现缺陷的步骤来实现的。
-
如果缺陷已解决,则报告将关闭。
-
如果缺陷未解决,则报告将被视为已重新打开,并报告给以前保留缺陷报告以进行修复的所有者。
-
确认状态也称为已验证或已解决状态。
6. 缺陷管理过程的优势
以下是缺陷管理过程的最显著优势:
6.1 确认分辨率
6.2 自动化工具的可访问性 -
缺陷管理过程中最重要的程序之一是缺陷或错误跟踪过程。
-
对于缺陷跟踪,我们有市场上可用的各种自动化工具,可以帮助我们在早期阶段跟踪缺陷。
-
如今,可以使用各种不同的工具来跟踪不同类型的缺陷。例如
-
软件工具:这些类型的工具用于识别或跟踪非技术问题。
-
面向用户的工具:这些类型的工具将帮助我们发现与生产相关的缺陷。
6.3 提供有价值的指标
- 缺陷管理过程还为我们提供了有价值的缺陷指标以及自动化工具。
-
这些有价值的缺陷指标有助于我们进行报告和持续改进。
7. 缺陷管理过程的缺点
缺陷管理过程的缺点如下:
- 如果缺陷管理过程执行不当,那么我们可能会失去客户、收入损失和品牌声誉受损。
-
如果缺陷管理过程处理不当,那么在产品价格上涨的蔓延中将产生巨大的放大成本。
-
如果在早期阶段没有适当地完成缺陷,那么之后,缺陷可能会造成更大的损害,修复缺陷的成本也会增加。
8. 总结
在本文中,我们已经看到了软件测试中的缺陷、缺陷管理过程、优点和缺点。
在软件测试中,缺陷管理过程很重要,因为我们知道任何软件编写的代码,缺陷都需要测试。
缺陷管理的过程包括发现软件中的缺陷并修复它们。完整的缺陷管理过程将帮助我们在早期阶段发现缺陷,并确保提供高质量的产品。
缺陷管理过程的执行可确保在将应用程序移动到生产环境时,应用程序中没有其他缺陷。这样做的结果将节省很多费用。
在敏捷方法中,缺陷管理过程特别重要,因为开发冲刺还必须包含测试工程师的参与和行动。
在任何组织中,高级管理层也应该从公司改进的角度理解和支持缺陷管理过程。
|