软件开发团队和软件测试团队有许多选择的缺陷管理工具,以帮助他们关于软件缺陷方面的工作。选择和使用一个有效的工具实际上只是整个缺陷管理系统的一部分,并不代表有了缺陷跟踪工具就完成了缺陷管理的工作。

从高层次的观点来看,缺陷管理系统由一些缺陷管理工具和缺陷管理过程组成。 这两个主要组成部分共同努力,相互支持。 忽略其中任何一个,可能就不能达到预期的结果。

缺陷管理流程

 在特定组织内部实施时,每一个高级别步骤都将有更详细的标准操作步骤以及执行这一步骤细节的政策。

1.发现- 希望发现缺陷的人是测试小组的成员。 在现实世界中,可以是任何人,包括项目团队中的其他人,在极少的情况下,是最终客户。

2.分类——当报告缺陷时,通常会分配给指定的团队成员,以确认缺陷实际上是一个缺陷,而不是由组织定义的增强或其他适当的类别。 一旦分类,缺陷将在进程中继续到下一个步骤,即优先级。

3.优先级——优先级通常是基于对用户的影响的严重性、相对的修复难度,以及与其他开放性缺陷的比较。 根据组织的规模和结构,优先次序通常由一个正式的变更控制委员会来处理。 优先权应该由管理层、客户和项目团队的代表来决定。

4.分配-一旦一个缺陷被优先排序,它就会被分配给开发人员或其他技术人员来修复。

5.解决方案——开发人员修复(解决)缺陷,并跟踪组织的过程,将修复过程转移到最初发现缺陷的环境中。

6.验证——根据发现缺陷的环境和应用的修复,软件测试团队或客户通常会验证修复实际上解决了缺陷。

7.关闭-一旦缺陷被解决和验证,缺陷标记为关闭。

8.管理报告——管理报告按照规定的报告要求定期提供给适当的人。 此外,还根据需要提供关于需求的报告。 ...

缺陷管理工具

缺陷管理工具的核心特性:提供一个集中的存储库,用于跟踪项目之间的缺陷。提供资源分配的自动通知。能够定义缺陷解析状态,以便映射回到您的缺陷管理过程。提供管理报告的能力,如按项目、严重程度和优先级等不同标准分组的开放缺陷数量。

以下是选择缺陷管理工具时值得一提的一些可选特性:

除缺陷外,还能够捕捉其他项目,如客户建议和项目相关问题。 如果没有在集中系统中登录,诸如客户投诉或增强建议等往往会丢失。 如果没有其他工具,则可以使用缺陷管理工具来跟踪这些类型的项目,只要它们可以很容易地过滤掉或从缺陷中逻辑地分离出来。

支持内部和外部团队的能力。 这个功能提供了让外部团队参与进来的机会,在某些情况下,如果合适的话,还可以吸引客户。 选择缺陷管理工具的另一个考虑因素是易用性。 比较一系列缺陷管理工具的功能是很有意义的,例如,系统对于那些不得不使用的人来说是否直观,这就提供了一个更具体的意义,即需要多少培训,以及系统的接受程度。

众所周知,缺陷越晚被发现,修复的代价越大。 如果缺陷被视为需要避免的负面事情,人们就不太可能披露它们,并且可能会花费太多的时间在某些任务上,以避免错误和随后的缺陷。 过度专注于避免缺陷可能适合某些情况,但对于大多数商业环境来说,对完美的不切实际的关注可能是一个致命的缺陷,导致不完美的表现,这可能导致的结果远比一些人努力避免的缺陷更加消极。

如果你真的想要有一个有效的缺陷管理系统,至少你需要一个明确的过程,有效的工具,以及一种理解缺陷是在现实世界中完成工作的一个简单副产品。 它们不是需要不惜一切代价避免或掩盖的错误。

缺陷管理系统由缺陷管理工具或工具和缺陷管理过程组成。 对于大多数软件测试环境来说,利用工具和过程来关注识别、跟踪和解决缺陷的速度是有意义的。 这为理解根本情况和适当改进流程提供了基础。