软件测试 - 错误生命周期
在软件测试中,错误生命周期或缺陷生命周期描述了缺陷的状态。根据情况,缺陷的状态也会发生变化。
什么是缺陷?
缺陷(也称为 bug)是在开发软件时引入的应用程序中的错误。这会导致软件无法按预期运行。换句话说,缺陷会导致软件的实际行为偏离预期行为。
开发软件时不可能没有缺陷。因此,测试人员的主要职责是尽可能多地检测缺陷(尤其是在软件开发的早期阶段),以便交付高质量的软件。但是,开发人员和测试人员都可以检测到错误。
因此,检测软件中的缺陷对于保持质量至关重要。缺陷的投资回报率很高。缺陷会在致力于修复缺陷的测试人员和开发人员之间建立有效的沟通和协调。
什么是 Bug 生命周期?
缺陷生命周期,也称为 Bug 生命周期,是缺陷在其生命周期中的旅程。它从引入新缺陷开始,直到其关闭。不同组织或团队遵循的缺陷生命周期的路径和阶段彼此不同。这是因为没有统一的测试流程。
遵循缺陷生命周期对开发人员和测试人员都有益。拥有缺陷生命周期的主要目的是在团队之间建立清晰的沟通和协调,以便更快地修复缺陷。
什么是缺陷状态?
缺陷状态表示缺陷的当前状况及其进展。因此,缺陷状态有助于检查缺陷的路径并检查其在缺陷生命周期中的进展。
缺陷状态列于下方 −
新
已提出但尚未验证的潜在缺陷具有新状态。这是缺陷生命周期的第一个状态。一旦测试团队开始其任务,它就会识别软件中所有可能存在实际结果和预期结果偏差的区域。所有这些差异都记录为软件中的新缺陷。
已分配
一旦将新缺陷分配给开发团队进行解决,其状态即为已分配。此时缺陷仍未解决。一旦它处于新状态,就会在会议上进行分类。讨论后,如果证明它是有效的,它仍分配给开发人员进行修复。
打开
一旦开发人员调查了缺陷,并开始着手修复代码中的错误,此时缺陷状态为打开。如果开发人员得出结论,提出的缺陷是不正确的或现在无法修复,他要么推迟要么拒绝该缺陷。
已修复
开发人员修复代码并进行必要的更改以消除软件中的错误,缺陷状态将更改为已修复状态。它还表明代码更改将准备好从即将到来的版本中进行测试。
测试
一旦缺陷得到修复,它就可以进行测试了,它会进入测试团队的存储桶以验证它是否仍然存在或已修复。缺陷的状态现在移至测试。
已验证
一旦缺陷经过重新测试并由测试人员验证,它现在处于已验证状态。重新测试后,如果测试人员确认该问题不再存在,并且开发人员提供了正确的修复,则缺陷状态将更改为已验证。
重新测试
一旦缺陷进入重新测试状态,测试人员将重新验证它以确认它是否仍然存在。
已关闭
这是缺陷的最终状态,测试人员在验证软件中不再存在缺陷后将其关闭。
重新打开
一旦缺陷被测试人员重新测试,并且测试人员发现它尚未修复,他会将其状态更改为重新打开。然后它再次移动到打开状态,以便开发人员修复它。
推迟
如果缺陷不会在当前周期内得到解决,则会将其推迟到未来的版本。如果发现的缺陷不是优先修复的,或者客户的需求可能发生变化,可以在未来的版本或冲刺中解决,则缺陷状态将更改为延期。
拒绝
缺陷可能因以下三个原因而被拒绝,即重复、不是缺陷、不可重现。开发人员也可能因为测试人员沟通不当或理解不当而拒绝缺陷。
无法修复
一旦记录了缺陷,并且开发人员发现修复需要额外的技术支持、技能和成本,那么缺陷状态将更改为无法修复。
重复
如果发现缺陷被提出不止一次,其状态将更改为重复。最终,重复的缺陷将转为已拒绝状态。
不是缺陷
如果记录的缺陷不影响软件的任何要求或功能,则将其转为非缺陷状态。
不可重现
如果由于某些原因缺陷未再次重现,开发人员会将该缺陷的状态更改为不可重现状态。
需要更多信息
如果开发人员当时未再次重现缺陷,则他将该缺陷的状态更改为需要更多信息状态。在此阶段,测试人员的任务是向开发人员提供有关缺陷的所有必要信息。
缺陷生命周期工作流程
缺陷生命周期工作流程如下图所示 −
缺陷或 Bug 生命周期所涉及的步骤列于下方 −
步骤 1 − 测试团队的一名成员记录一个缺陷,该缺陷的状态为"新"。
步骤 2 − 对缺陷进行分类并分配给开发人员进行进一步分析。
步骤 3 − 开发人员检查缺陷并开始处理。缺陷状态将变为"未解决"。
步骤 4 − 如果发现缺陷不影响任何功能或要求(不是缺陷),或者目前修复的优先级较低,将在未来版本中处理(推迟),或者是重复的,则缺陷状态将更改为"已拒绝"。
步骤 5 − 如果步骤 4 无效,开发人员将解决缺陷,代码更改将从下一个版本反映出来。此时缺陷状态将变为"已修复"。
步骤 6 − 测试人员重新测试缺陷并验证是否已解决。如果缺陷不再存在,则其状态将更改为已关闭,否则其状态将移至已重新打开状态,并再次分配回开发人员。
结论
至此,我们对软件测试 Bug 生命周期教程的全面介绍就结束了。我们首先描述了什么是缺陷或错误、什么是缺陷或错误生命周期、什么是缺陷或错误状态以及缺陷或错误工作流程。这使您深入了解了软件测试中的 Bug 生命周期。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。