实施测试活动过程中,针对缺陷开展有效跟踪管理是测试工程师质量保证活动的重点。因此,在一个成熟的测试团队或组织内,缺陷管理流程的完善与否直接决定了测试活动的质量。
缺陷管理流程通常由角色定义、流程定义、工具应用、缺陷分析模型等几个关键因素构成:
-
角色定义:表述了在缺陷管理流程中所涉及的若干角色及其职责内容,从而清晰明确定义每个流程节点中角色所需完成的事务。
-
流程定义:规定了在项目或产品实施测试活动时所需遵循的流程规则。
-
工具应用:从项目或产品规模、团队流程、成本控制、风险防范等多个角度考虑,选择何种缺陷管理工具更能提升测试效果,提高缺陷管理效率。
-
缺陷分析模型:是针对缺陷进行综合判断,分析缺陷风险的科学方法,目前业内常用的模型有ODC、四象限和Gompertz等。
【1】角色定义
缺陷管理流程活动一般包括测试工程师、测试负责人、开发负责人、开发工程师和项目经理等若干角色。
1.测试工程师
测试工程师负责实施测试活动,发现缺陷,及时提交缺陷,确认校验缺陷,实施回归测试。
2.测试负责人
测试负责人评审缺陷,检查测试工程师新增的缺陷是否符合规范,是否因为不熟悉需求、理解偏差而引起的误提,并负责缺陷产生争议后的协调处理。
3.开发负责人
开发负责人负责缺陷分配活动,将需修复的缺陷根据缺陷修复任务分配给对应的开发工程师,协调解决争议缺陷。
4.开发工程师
当缺陷提交给开发工程师后,开发工程师负责缺陷的确认区修复活动。
5.项目经理
当对提交的缺陷有分歧、被拒绝时,可由项目经理、测试负责人、开发负责人等进行缺陷评审活动,商定问题如何处理,是否保留或当前版本不做处理等结论。
【2】流程定义
不同公司因组织结构不同,所采用的管理流程亦不相同。大部分公司使用流程如图所示:
注:流程中操作关键词以HP商用的项目管理工具 ALM 为例.
流程说明:
1.测试工程师或其他人员发现缺陷,经过确认后提交缺陷,缺陷状态设置为“新建(New)”,“指派(Assign)”下步处理人为测试负责人。
2.测试负责人针对需要自己处理的缺陷进行“评审(Review)”操作。检查测试工程师提交的缺陷是否符合缺陷报告规范,如语言描述是否清晰、问题定位是否准确等,或者判断该问题是否确实是一个缺陷,还是因测试工程师不熟悉需求、理解偏差而引起的误提。
如有问题,将该缺陷“指派(Assign)”至测试工程师,让其修改后再提交,此时缺陷状态为“新建( New )”’。如无问题,确定是缺陷,则将该缺陷提交给开发负责人,缺陷状态为“打开 ( Open )”。
3.如果测试负责人“评审(Review)”后,缺陷“指派( Assign)”至测试工程师处,测试工程师则需再次确认缺陷是否误提,是则“关闭(Close)”缺陷,并注明缺陷关闭原因,否则再次“指派(Assign)”至测试负责人处,缺陷状态为“新建(New )”,并注明原因。测试负责人重复步骤2。
4.开发负责人将测试负责人“评审(Review)”后的缺陷根据缺陷修复任务分配给相应的开发工程师,开发负责人一般仅分配缺陷,不再过滤缺陷,此时缺陷状态为“打开(Open)"。
5.开发工程师根据缺陷描述确认是否是缺陷,如果是,则进行缺陷修复活动,修复完成后,缺陷状态置为“修复(Fix)”,并将对应缺陷“指派 (Assign)”至缺陷发现者。如果不是缺陷,则将缺陷状态置为“扣绝(Reject )",由测试工程师再次确认处理。
6.测试工程师针对“拒绝(Reject)” 的缺陷进行再次确认验证,如果确认缺陷属于误提或不再存在,则可"关闭(close)"对应缺陷,并注明关闭原因,若确认是缺陷,则需“重新打开(Reopen)”缺陷至开发工程师处,并注明“重新打开(Reopen)”原因。开发工程师重复步骤5。
7.当缺陷无法确认或产生争执时,由测试、开发负责人及项目经理评审确认并给出最终处理结果。测试工程师及开发工程师原则上不直接沟通,避免产生无效沟通。一般来讲,缺陷处理是一个循环反复的过程。当出现争议时,必须由项目经理参与缺陷处理活动,而不能由开发组或者测试组单方面决定缺陷的处理方式。
上述流程可根据测试流程及时间进度适当调整,一般适用于5~10 人的团队,可精简为适合3~5人团队的流程,也可细化为适合10~15人的中型测试团队。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!