Posted on 2005-03-04 06:23
Cure 阅读(8171)
评论(12) 编辑 收藏 网摘 所属分类:
敏捷开发及实践
前两天谈论的bug管理的问题,大家列举了很多bug跟踪软件,我觉得工具是一部分,但是主要还在bug管理的流程上。
在这些bug管理工具里,bug的一个最重要的属性就是“状态”,一般又有“新增(New或Active)”,“处理中(in progress)”,“已修正(Fixed)”,“重新打开(reopened)”,“关闭(Close)”等几个,这几个状态一看就很明白一个bug从发现到排除要走哪些流程:
1.测试人员发现bug,提交。bug状态为New
2.开发人员接收bug,bug状态为in Progress
3.开发人员修改完毕,提交,bug状态改为Fixed
4.测试人员针对开发人员作的修改,再次对bug进行测试,如果bug依然存在,就把bug状态置为reopened,流程到第二步重新开始,如果问题已经解决,就直接改为close,该bug的流程就走完了。
流程虽然简单,但是在实际使用中还是发现一些问题:
1.bug信息不全:
有的信息,比如项目,模块,指定处理人(也就是指派给谁处理)等,这些信息会用来作统计分析,哪个项目,哪个模块,谁的bug多,谁发现的bug多,谁改的bug多等,根据这些信息可以大致看出一个人的工作量和工作质量。所以不要嫌麻烦,把bug的信息写全些。
2.所提供的信息不准确:
有的bug描述一带而过,表述含糊不清,只是说出现了错误,但是错误的现象是什么,提示信息是什么,怎么操作才出现的,都不清楚,这样的bug交给开发人员,只会给开发人员增加负担,因为他自己还要再作测试,以发现更多的信息,去排除bug,或者他会到测试那边其讨论,询问详情,有时要多次反馈才能确定到底是什么问题。
3.开发人员关闭bug:
只有bug的提交人(也就是发现人)才能去关闭该bug,开发人员只能使用两个状态:“处理中”和“已修正”
4.bug的可重现性:
这个重要的属性是在bug管理软件中无法体现和度量的, 这个任务主要都在测试这边,如果你发现了一个bug,赶紧把开发人员叫过来,人家来了,你要给他看看这个bug,可是却怎么也不出现了,连自己都不知道这个bug是怎样操作后才出现的。这样不能重现的bug几乎就不能算作bug,也是最让人头疼的问题。那么作为测试人员,你的任务就是要尽可能的找到bug出现的规律,尝试各种可能,即使不能重现,起码也要让开发人员知道你已经作了哪些尝试,而他不必再去走弯路。
我觉得 “指定处理人(也就是指派给谁处理)等” 这个应该交给"专人",然后再由“专人”再分配,这个"专人"可以是项目经理,或者高级程序员什么的。否则让一个非开发人员了解某个东西应该交给谁,似乎要求太高了。
BUG的管理流程应该根据项目自身的情况定制,如项目规模、项目组的大小、人员分工等。人员少的时候,流程可以很简单;人员多的时候,自然可以分工更明确些。
现在的缺陷跟踪软件似乎还是有些麻烦,人性化不够,有些时候这些工具的一些缺陷反而影响了开发,很多不是很稳定的工具会给人很多的苦恼。
bug管理如果不能和管理流程相结合,很难用起来.
所以,支持自定义流程的BUG管理系统才能适应这种需求.
如果bug只有状态管理,没有流程定制,就无法实现修改分配,测试分配,仲裁等功能.
说到bug跟踪软件,我最近正在自己开发,不知道可否提供一两个比较好的bug跟踪软件,如果有源代码可以参考的话最好,没有也没关系。
我们的办法是,如果测试人员不知道具体应该把bug指定给谁,那么就直接指定给组长,然后由组长在分配