建立缺陷生命周期指南


缺陷生命周期究竟是什么?

在软件测试中,缺陷生命周期或错误生命周期是指缺陷或错误在其存在期间经过的一系列阶段。缺陷生命周期的目标是使不完整的工作流程协调和沟通缺陷的当前状态,这些状态会发生变化并指派给多个负责人,以及使缺陷修复过程系统化和高效化。

术语“缺陷生命周期”指的是缺陷的整个路径,从测试团队检测到缺陷开始,到开发团队修复并关闭缺陷结束。通过确保缺陷不再可重复或被开发团队拒绝来关闭缺陷。

软件缺陷被描述为软件不满足预期标准的情况。为了更合适地处理项目,只需要处理开发和发布。但是,应该知道,除了开发和发布之外,还必须了解如何处理出现的问题。

在这种情况下,需要一个缺陷生命周期来更合适有效地规范和处理缺陷。缺陷必须经历的状态总数因项目而异。缺陷可能发生在软件开发生命周期 (SDLC) 的任何步骤中,包括需求收集、软件设计、开发阶段、测试阶段或最终用户在使用产品时进行的客户验收测试。

创建缺陷生命周期的指南

指南是必须遵循的必要程序,以便有效地执行缺陷生命周期。这些指南如下:

  • **了解缺陷状态** - 不言而喻的是,在开始处理项目之前,我们需要了解与该项目相关的一切,包括其各个状态、设计和操作。同样,在我们开始处理缺陷生命周期中的缺陷之前,整个团队必须完整清晰地理解缺陷的不同阶段以及每个缺陷状态的真正含义。

  • **了解责任** - 为了获得更高效和更好的结果,每个人都应该在开始处理某些事情之前了解他们的责任。那些不知道自己责任的人不会全力以赴工作,不会尽最大努力,并且会对自己的工作或责任不太专注。结果,后果会变得更严重,产生的结果将是不准确和不正确的。因此,有必要确保每位员工都了解自己的责任。同样,在缺陷生命周期中,任何被分配任何与缺陷生命周期相关的任务的个人都应该非常彻底地了解和掌握他们的角色,以便获得更准确和更好的结果。

  • **缺陷跟踪工具** - 最好避免接受任何与缺陷相关的请求,该请求不会导致缺陷跟踪工具中缺陷状态的可接受更改。为了确保缺陷之间的一致性,应更小心地处理和管理此工具。这将为缺陷生命周期工作流程提供统一性。如果我们走捷径,我们将永远不会获得最新的、可靠的缺陷指标进行分析。

  • **正确的文档记录** - 缺陷生命周期应更彻底地记录在案。如果正确遵循文档记录过程,将来就不会对任何状态感到困惑或遇到困难。

缺陷状态

错误或缺陷状态 指的是缺陷或错误在缺陷生命周期中的当前状态。缺陷状态的目标是正确表达缺陷或错误的当前状态或进度,以便更好地跟踪和理解缺陷生命周期。

问题经过的状态数量因项目而异。下面的生命周期图显示了所有可能的状态。

  • **新建 (New)** - 当新缺陷首次注册和上传时,它被认为是新的。它被赋予状态“新建”。

  • **已分配 (Assigned)** - 测试人员发布错误后,测试人员主管确认该错误并将其分配给编程团队。

  • **打开 (Open)** - 开发人员开始研究和修复问题。

  • **已修复 (Fixed)** - 当开发人员执行必要的代码修改并验证更改时,错误状态将更改为“已修复”。

  • **等待重新测试 (Pending retest)** - 一旦缺陷得到纠正,开发人员就会向测试人员提供一个独特的代码来重新测试代码。因为软件测试仍在测试人员方面等待,所以状态为“等待重新测试”。

  • **重新测试 (Retest)** - 在此步骤中,测试人员重新测试代码以查看开发人员是否已解决缺陷,并将状态更改为“重新测试”。

缺陷的生命周期

  • **已验证 (Verified)** - 开发人员解决问题后,测试人员会重新测试该问题。如果程序中没有发现错误,则该错误得到解决,状态更改为“已确认”。

  • **重新打开 (Reopen)** - 如果开发人员解决问题后问题仍然存在,则测试人员将状态设置为“重新打开”。该错误必须再次经历生命周期。

  • **关闭 (Closed)** - 如果错误不再存在,测试人员将其标记为“关闭”。

  • **重复 (Duplicate)** - 如果缺陷重复出现两次或缺陷与错误的相同想法有关,则状态将更改为“重复”。

  • **拒绝 (Rejected)** - 如果开发人员认为缺陷不是真实的,则该缺陷将标记为“拒绝”。

  • **延期 (Deferred)** - 如果当前问题不是首要任务,并且预计将在将来的版本中解决,则会将其赋予状态“延期”。

  • **不是错误 (Not a bug)** - 如果缺陷对应用程序的功能没有影响,则赋予它的状态是“不是错误”。

缺陷生命周期的解释

缺陷或错误的生命周期 - 您需要了解的内容!

  • 测试人员发现了缺陷。

  • 该缺陷已被赋予“新建”状态。

  • 向项目经理报告问题以进行调查。

  • 项目经理确定缺陷是否合法。

  • 在这种情况下,缺陷无效,因此状态为“拒绝”。

  • 因此,项目经理赋予“拒绝”状态。如果问题未被拒绝,则下一步是确定它是否在项目的范围内。

  • 假设我们有另一个功能——同一应用程序的电子邮件功能——并且您发现了它的错误。但是,当此类问题被赋予推迟或延期的状态时,它们不包含在当前版本中。

  • 然后,经理检查之前是否报告过类似的问题。如果答案为是,则缺陷被赋予“重复”状态。

  • 如果不是,则问题将分配给开发人员,开发人员开始处理代码。

  • 此时,缺陷被赋予“进行中”状态。

  • 代码被纠正后。缺陷被赋予“已修复”状态。

  • 然后测试人员将重新测试代码。如果测试用例成功,则缺陷得到解决。如果测试用例再次失败,则缺陷将重新打开并分配给开发人员。

  • 考虑以下情况:在航班预订的第一个版本中,在传真订单中发现了一个缺陷,该缺陷已得到纠正并被赋予“关闭”状态。相同的错误在第二次升级版本中再次出现。在这种情况下,先前关闭的缺陷将重新打开。

这就是错误生命周期的结束。

借助示例,本培训视频阐述了错误(即缺陷)生命周期的各个阶段及其重要性。

问答

问答 1)在软件测试的上下文中,缺陷究竟是什么?

答案 - 缺陷是应用程序中的任何故障或错误,它通过使应用程序的预期行为与其实际行为不匹配来阻碍其正常流程。

问答 2)错误、缺陷和故障的主要区别是什么?

答案 -

  • 错误 - 当开发人员在开发阶段发现应用程序的实际行为和预期行为之间存在差异时,他们将其称为错误。

  • 缺陷 - 当测试人员在测试阶段发现应用程序的实际行为和预期行为之间存在差异时,就会发生缺陷。

  • 故障 - 当客户或最终用户在生产阶段发现应用程序的实际行为和预期行为之间存在差异时,他们将其称为故障。

问答 3)发现缺陷时,缺陷的状态是什么?

答案 - 当发现新的缺陷时,它处于新建状态。这是新发现缺陷的初始状态。

问答4)当开发者批准并修复问题时,缺陷生命周期中的各个阶段是什么?

回答 - 在此示例中,缺陷的不同状态为新建、已分配、打开、已修复、等待重新测试、重新测试、已验证和关闭。

问答5)如果测试人员发现已由开发者解决的缺陷存在问题会发生什么?

回答 - 测试人员可能会将缺陷的状态标记为……如果他仍然发现修复后的缺陷存在问题,他应该重新打开它,并且缺陷应该分配给开发者进行重新测试。

更新于:2021年10月30日

浏览量 190

开启你的职业生涯

通过完成课程获得认证

开始学习
广告