这个图片看起来很复杂,但是只要考虑到缺陷生命周期中的这些重要步骤,你很快会明白缺陷生命周期的含义了。

  记录完了缺陷之后,开发人员或者测试经理会去检查这些缺陷报告。测试经理可以把缺陷状态设置为“打开”,可以把这个缺陷指派给某个开发人员,或者延迟到下一个版本再进行处理。

  当开发人员收到指派的缺陷的时候,可以开始进行处理了。开发人员可以把状态改为“不修复”、“无法重现”、“需要更多信息”或者“已修复”。

  如果开发人员把缺陷的状态改为“需要更多信息”或者“已修复”,那么QA人员可以采取相应的行动。如果缺陷已经被修复了,那么QA人员要验证这个缺陷的修复情况(即需要做回归测试),并根据验证结果把状态改为“确认关闭”或者是“重新打开”。

  缺陷状态描述:

  软件缺陷生命周期有很多个阶段。根据不同的缺陷跟踪管理系统,下面的状态名称也会有所不同。

  1)新建(打开):当QA人员汇报新的缺陷时

  2)延后处理:如果这个缺陷跟当前发布的这个版本没有直接关系,或者当前版本无法修复,或者这个缺陷不是很严重,不需要立刻修复,那么项目经理可以把状态设为“延后处理”。

  3)已指派:“指派给”这个值是由项目组长或者项目经理来填,指定给具体的某个开发人员。

  4)已解决/已修复:当开发人员做了某些必要的代码改动,并且确认修改之后,那么他/她可以把状态改为“已修复”,然后交给测试组进行回归测试。

  5)无法重现:如果开发人员根据QA人员在缺陷报告里面描述的步骤,都无法重现这个缺陷的时候,那么开放人员可以把这个缺陷标为“无法重现”。QA人员需要检查这个缺陷是否可以重现,并且把更为详细的重现步骤提供给开发人员。

  6)需要更多信息:如果开发人员认为QA人员提供的缺陷重现步骤不够清晰,因而无法重现缺陷的时候,那么他/她可以把状态标记为“需要更多信息”。在这种情况下,QA人员需要提供更为详细的重现步骤,并把缺陷返回给开发小组。

  7)重新打开:如果QA人员不满意这个修复结果,或者说即使在修复之后,依然出现同样的问题,那么QA人员可以把状态标记为“重新打开”,这样的话,开发人员可以采取相应的行动了。

  8)关闭:如果QA小组已经验证过这个缺陷的修复结果,并且问题是已经得到了解决的,那么QA人员可以把状态改为“关闭”。

  9)驳回/无效:有些时候,如果这个系统的确是按照规格说明来运行的,而缺陷的产生只是由于误解而引起的,那么开发人员或者小组组长可以把这些缺陷标记为“驳回”或者“无效”。