也谈缺陷跟踪管理
51CMM.COM原创 作者:关河
缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得到处理是测试工作的一项重要内容。
1、 缺陷跟踪管理的目标
缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下的目标:
确保每个被发现的缺陷都能够被解决;这里解决的意思不一定是被修正,也可能是其他处理方式(例如,在下一个版本中修正或是不修正),总之,对每个被发现的BUG的处理方式必须能够在开发组织中达到一致;
收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;决定测试过程是否结束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。
收集缺陷数据并在其上进行数据分析,作为组织的过程财富。
上述的第一条是最受到重视的一点,在谈到缺陷跟踪管理时,一般人都会马上想到这一条,然而对第二和第三条目标却很容易忽视。其实,在一个运行良好的组织中,缺陷数据的收集和分析是很重要的,从缺陷数据中可以得到很多与软件质量相关的数据。
2、 缺陷的描述
对缺陷的描述应该包含以下的内容:
缺陷的描述项中用淡紫色描述的是缺陷在处理阶段填写的内容;用淡青色描述的是缺陷在验证阶段填写的内容。除上述描述项外,从统计的角度出发,还可以添加上“缺陷引入阶段”、“缺陷修正工作量”等项目。
3、 缺陷管理的一般流程
缺陷管理的流程比较简单,图1是一个缺陷状态图。
流程中的角色:
1、 测试人员:进行测试的人员,缺陷的发起者;
2、 项目经理:对整个项目负责,对产品质量负责的人员;
3、 开发人员:执行开发任务的人员,完成实际的设计和编码工作;
4、 评审委员会:对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力。
缺陷的状态
1、 初始化:缺陷的初始状态;
2、 待分配:缺陷等待分配给相关开发人员处理;
3、 待修正:缺陷等待开发人员修正;
4、 待验证:开发人员已完成修正,等待测试人员验证;
5、 待评审:开发人员拒绝修改缺陷,需要评审委员会评审;
6、 关闭:缺陷已被处理完成。
4、 缺陷数据统计
如前所述,缺陷数据统计也是缺陷跟踪管理系统的目标。一般而言,生成的缺陷数据统计图表包括缺陷趋势图、缺陷分布图、缺陷及时处理情况统计表等。
5、 缺陷跟踪管理系统
目前已有的缺陷跟踪管理软件包括Compuware公司的TrackRecord软件(商业软件)、Mozilla公司的Buzilla软件(免费软件),以及国内的微创公司的BMS软件,这些软件在功能上各有特点,可以根据实际情况选用。当然,也可以自己开发缺陷跟踪软件,例如基于Notes或是ClearQuese开发缺陷跟踪管理软件。我公司采用的是自己开发的基于Notes的缺陷跟踪系统,除了具有上述功能外,还能够通过Notes的邮件系统方便地向相关人员发送提醒信息(缺陷处理超时提醒、缺陷待处理提醒等)。
除此之外,作为一个缺陷跟踪管理系统,还必须注意权限分配的问题。缺陷记录作为软件开发过程中的重要数据,不能轻易被删除;对于已经关闭的缺陷,也不能随意进行修改。因此,缺陷跟踪管理系统必须设置严格的管理权限,非相关人员不得进行相应操作,修改相应数据。在这一点上,通过Notes也很容易控制。