出自:http://softtest.chinaitlab.com/qxian/867105.html
什么是缺陷?
维基百科对缺陷的定义是:软件缺陷是指存在于计算机程序中的错误、缺陷、失效,或者是由于程序中的故障而令到计算机无法正常工作或产生不正确的结果。软件缺陷的产生是由于在程序编码或设计的过程中出现的错误而引起的。
其它的一些定义:
软件或者硬件中多余的并且不是计划中的,特别是那些会引起故障的属性。
或者是:
存在于程序中的故障,使得程序无法正常工作。
最后,我们给缺陷一个笼统的概念就是:“与规格说明不一致”。
如果你想在开发阶段初期就发现并解决这些缺陷,那么缺陷跟踪和软件开发阶段就必须同时开始。
我们会在另外的一篇文章中详细讨论一下关于如何写有效的缺陷报告。现在我们主要讲一下软件缺陷生命周期的内容。
软件缺陷的生命周期:
把新的缺陷写成日志
当测试员要把任何新的缺陷写成日志的时候,以下这些项是必填的:
版本号,提交日期,产品名称,模块名称,严重性,重现缺陷的概要和描述。
如果你是在用人工来记录跟踪缺陷的话,可以在上面的列表中,适当的增加一些可填项,这些可填项包括:客户名称,浏览器,操作系统,文档附件或截图。
下面这些项可以指定或者保留为空:
如果你有权限去添加缺陷状态,优先级和“指派给谁”,那么你可以指定这些值。没有的话,就留给测试经理来做吧,他会设定缺陷的状态,缺陷的优先级,以及把缺陷指派给相应模块的负责人。
请看下面这个软件缺陷生命周期流程图:
这个图片看起来很复杂,但是只要考虑到缺陷生命周期中的这些重要步骤,你很快就会明白缺陷生命周期的含义了。
记录完了缺陷之后,开发人员或者测试经理就会去检查这些缺陷报告。测试经理可以把缺陷状态设置为“打开”,可以把这个缺陷指派给某个开发人员,或者延迟到下一个版本再进行处理。
当开发人员收到指派的缺陷的时候,就可以开始进行处理了。开发人员可以把状态改为“不修复”、“无法重现”、“需要更多信息”或者“已修复”。
如果开发人员把缺陷的状态改为“需要更多信息”或者“已修复”,那么QA人员就可以采取相应的行动。如果缺陷已经被修复了,那么QA人员就要验证这个缺陷的修复情况(即需要做回归测试),并根据验证结果把状态改为“确认关闭”或者是“重新打开”。
缺陷状态描述:
软件缺陷生命周期有很多个阶段。根据不同的缺陷跟踪管理系统,下面的状态名称也会有所不同。
1)新建(打开):当QA人员汇报新的缺陷时
2)延后处理:如果这个缺陷跟当前发布的这个版本没有直接关系,或者当前版本无法修复,或者这个缺陷不是很严重,不需要立刻修复,那么项目经理可以把状态设为“延后处理”。
3)已指派:“指派给”这个值是由项目组长或者项目经理来填,指定给具体的某个开发人员。
4)已解决/已修复:当开发人员做了某些必要的代码改动,并且确认修改之后,那么他/她就可以把状态改为“已修复”,然后就交给测试组进行回归测试。
5)无法重现:如果开发人员根据QA人员在缺陷报告里面描述的步骤,都无法重现这个缺陷的时候,那么开放人员可以把这个缺陷标为“无法重现”。QA人员需要检查这个缺陷是否可以重现,并且把更为详细的重现步骤提供给开发人员。
6)需要更多信息:如果开发人员认为QA人员提供的缺陷重现步骤不够清晰,因而无法重现缺陷的时候,那么他/她可以把状态标记为“需要更多信息”。在这种情况下,QA人员需要提供更为详细的重现步骤,并把缺陷返回给开发小组。
7)重新打开:如果QA人员不满意这个修复结果,或者说即使在修复之后,依然出现同样的问题,那么QA人员可以把状态标记为“重新打开”,这样的话,开发人员就可以采取相应的行动了。
8)关闭:如果QA小组已经验证过这个缺陷的修复结果,并且问题是已经得到了解决的,那么QA人员就可以把状态改为“关闭”。
9)驳回/无效:有些时候,如果这个系统的确是按照规格说明来运行的,而缺陷的产生只是由于误解而引起的,那么开发人员或者小组组长可以把这些缺陷标记为“驳回”或者“无效”。