错误跟踪(Defect Tracking System-DTS)的研发与应用,是为控制和减轻潜在的不利因素对软件项目的影响而采取的一项活动。它用于集中管理和控制软件测试过程中发现的错误,并进行版本控制。通过DTS系统,将帮助我们更好的收集、跟踪、反馈软件系统在测试、运行过程中的错误和问题。DTS作为项目管理的一个重要方法和手段,能有效的帮助人们建立科学的、规范化的项目管理机制。
2 软件错误跟踪与缺陷管理
软件中的缺陷(Defect或Bug)将导致软件系统在某种程度上不能满足用户的需要,甚至造成系统的崩溃。及时发现、妥善处理软件中的缺陷,是软件生存、发展的根本。一个完备软件缺陷管理过程通常包括如下几个方面:
(1)发现与提交缺陷;(2)分析和定位缺陷;(3)提请修改相应的软件
(4)修改相应的软件;(5)验证修改
2.1 错误管理流程分析
流程管理作为现代企业管理的先进思想和有效工具,随着市场环境与组织模式的变化,在以计算机网络为基础的现代社会信息化背景下越发显示出其威力和效用。流程管理不仅是一种管理技术,更体现了现代管理的思想。流程管理的重点是:理清和管理好所有主、支流程间的关系,使他们相互协调发挥应有的作用。流程管理增加了部门的透明度,管理的对象不是“部门”和“部门员工”的概念,而是以工序流程为管理对象,注重流程中每一个过程和效率以及和上下游工序的关系,管理重点在于整体流程的完整性和顺畅性。运用流程管理方法和技术进行软件错误跟踪与缺陷管理,可以有效地改变软件错误跟踪与缺陷过程管理混乱的局面。软件错误跟踪与缺陷管理流程如图1所示:
图1 错误管理状态流程图
在图1中,圆括号方框代表Bug的状态,方框代表操作,圆角方框代表操作附加的信息。A1表示测试人员,A2表示高级测试人员,A3表示开发人员,A4表示评审委员会。其基本过程为:
(1)根据测试人员(错误报告提交人)提交新的错误信息(Bug),系统将错误状态置为New;
(2)高级测试人员进行错误验证,如果确认是错误,分配给相应的开发人员进行处理,设置状态为Open。如果不是错误,则拒绝,设置为Declined状态;
[Page](3)开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态;
(4)对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可;
(5)测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen。
为了保证错误确认的正确性,需要有丰富测试经验的测试人员验证提交的测试结果是否真实,测试步骤是否准确,并可以重复。对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例。
项目经理,测试经理和设计经理共同决定对错误信息的处理拒绝或延期。错误修复后必须由错误报告提交人验证,并确认已经修复后才能关闭错误。
2.2 错误缺陷的几种状态
一般把缺陷的生存周期的各个阶段用“状态”来描述,状态的转换,反映了对错误处理过程的结果,对状态的控制是错误跟踪系统的主要功能。软件缺陷的几种常见状态如下:
(1) 新信息(New):测试中新报告的软件缺陷。
(2) 打开(Open):被确认并分配给相关开发人员处理。
(3) 修正(Fixed):开发人员已完成修正,等待测试人员验证。
(4) 拒绝(Declined):拒绝修改缺陷。
(5) 延期(Deferred):不在当前版本修复的错误,下一版修复。
(6) 关闭(Closed):错误已被修复或过期。