1引言
1. 1编写目的
让所有人员更快的掌握BugFree的使用方法,更好的开展今后的工作。
1.2前景
a. 软件名称: BugFree;
b. 用户: 所有开发人员
c.目标: 记录所有的bug产生以及处理过程;
统一Bug发现之后的处理方法,有效地管理软件产品中的bug,更好保证质量,控制进度,并且保持产品的可持续发展,所以决定在全公司开展BugFree的使用。
1.3定义
BugFree是一个bug管理工具,重要的是掌握其中蕴含的软件研发的流程思想。能够记录每个问题的处理过程,不断的提醒开发者现在还存在的问题,不会丢失和忘记。对于软件可持续发展至关重要。
在工作中,基本上都是和解决其他人提出的要求和发现问题,再提出给相应的人解决。
使用BugFree,我们所有人都可以创建,指派Bug,或者改变Bug状态。
过程大致如下
1)当测试人员(美术和策划部门的人员在发现问题时同样算测试人员)发现问题就立即新建一个Bug予以跟踪并且指派给相关的开发小组长(Dev Lead)(例如,程序,策划,美术方面相应负责人)
2)开发小组长判断这个Bug属于某个特定开发人员,并指派给他处理
3)开发人员根据Bug的详细描述信息找到问题所在,修改程序或相应资源解决bug并且将bug返回给当初的测试人员;或者在有争议的时候,把Bug指派给这个部分的设计人员,要求一个澄清说明。
4)测试人员(提出Bug者)在看到某个Bug被解决后,就需要去验证这个bug是否当真不存在了,根据最初的发现步骤去证实问题真的解决了,就关闭这个bug;若还能重现,或不同意开发人员的解法,可以激活这个bug,返还给当初的开发人员做进一步调查处理
5)当测试人员和开发人员无法达成一致意见时,由对应的设计者出面做出协调,判断这个Bug的严重程度、对用户可能的影响,根据产品的进度和项目资源作出评估,是否真的需要修理掉这个进度(这种协调和讨论大部分将在一个相对固定的时间,如例会上进行)
最后要强调两点
第一:团队中的每个人发现问题时都可以创建个Bug来跟踪
第二:不仅仅是软件功能上的Bug,其他各种问题,如需求文档(Spec)的改动,界面上的错别字、帮助文档的遣词造句问题,某项任务的指派等等
“Everything Should be tracked in this soft!”
1.4参考资料
网址: http://www.bugfree.org.cn/
2软件征述
2.1软件的结构
由开放源代码的PHP+MySQL写成,基于浏览器方式运行。
2.2程序表
使用时,直接用IE就可以了。
3安装与初始化
没有客户端,根本不需要运行或者安装,只需要通过IE访问。
4运行说明
4.1运行表
BugFree的使用分为三个步骤:
a. 建立项目模块以及其子模块;(这一步只在项目的最开始由管理员Admin建立)
b. 用自己的id登陆管理模块;
c. 处理分配给自己的bug以及任务,发现新的bug之后通过BugFree发送给相应的人处理;
4.2运行步骤
通过IE浏览器,访问http://192.168.0.16/BugFree/Login.php,这样就能进入我们公司的BugFree登陆界面,输入自己的用户名和密码,就可以登陆。(192.168.0.16是当前我们用来作BugFree的机器地址)
登陆进入以后就可以看到如下界面
1 左侧栏
1.1 切换查询和创建
1.1.1 查询模式:你可以设定不同的查询条件,寻找你想找的bug们。
1.1.2 创建Bug:新建一个Bug,这个是Bug生命的开始。注意,你必须要选定该Bug对应的模块。填写完相关的Bug说明后,点击“创建Bug”按钮即宣告一个Bug的诞生。
1.2 项目及其模块列表:你选择不同的项目,系统会自动列出下属模块。
1.3 项目文档和项目进度分别对应BugFree的后台管理中添加的两个链接(现在我们还没有添加这两个链接,这个两个功能直接由VSS上的文档完成)。
1.4 最近5个指派给我的Bug:此处列出分派给你的最近五个没有被关闭(终止生命)的Bug。
1.5 最近5个由我创建的Bug:此处列出你最近新建的五个没有被关闭(终止生命)的Bug。
1.6 我自定义的查询条件:你可以在[Query Bug(查询Bug)]中把查询条件起个名字永久保留起来,这里将会显示出所有你个人定义的查询条件。
2 右侧栏
2.1 页面组成
2.1.1 缺省显示的查询页面:上面显示查询条件,下面显示查询出来的符合条件的Bug们;
2.1.2 点击左侧的Bug名,或右边bug中列表Bug的编号,右栏将显示该Bug的所有信息。
基本画面如下
2.2 查询:根据自己需要选择不同的查询条件,比如查找Bug ID(Bug编号) Smaller Than(小于)100,下面就会倒序显示所有ID号小于100的Bug们。
2.3 保存查询:你也可以选择“Save Query(保存查询)”,给这次定义的查询命名永久保存起来,然后就可以在【左栏】的“您自定义的查询条件”中随时使用这个查询。
2.4 一个Bug的处理过程:新建一个Bug后,或者查询出符合条件的Bug们点击一个后,【右栏】显示该Bug详细信息。在中间的四个Action按钮,你可以:
2.4.1 Edit(编辑)
该动作允许你该动这个Bug所有可以改动的信息。最常见的是把这个Bug指派给(Assign To)某同事,同时描述信息中加上你的新注释。
2.4.2 Resolve(解决)
一个Bug有7种解法:
By Design - 就是这么设计的,无效的Bug
Duplicate - 这个问题别人已经发现了,重复的Bug
External - 是个外部因素(比如浏览器、操作系统、其他第3方软件)造成的问题
Fixed - 问题被修理掉了。Tester要尽可能找到这种Bug
Not Repro - 无法复现你这个问题,无效的Bug
Postponed - 是个问题,但是目前不必修理了,推迟到以后再解
Won't Fix - 是个问题,但是不值得修理了,不管它吧
2.4.3 Close(关闭)
当一个Bug被解决之后,如果当初上这个Bug的Tester同意此解决方法,则关闭这个Bug。意味着这个Bug生命周期的终结。
2.4.4 Activate(激活)
如果Tester不同意该Bug的解决方法,则可将其激活之。该Bug会自动被指派给当初解决(Resolve)的同事,当然在激活的时候应该写上为什么怎么做,让别人明白你激活它是有道理的。
注意事项:
1.不能正确的改变Bug的状态
一个Bug只有3种状态:Active、Resolved、Closed。实践中经常有不熟悉的同事通过“编辑”(Edit)来改变所有的状态,那是不合适的。正确的状态转换方法应该是:
1.1某个状态自己到自己的改变,使用“编辑(Edit)”。比如一个Active的Bug,从一个人指派到另外一个人;
1.2 Active -> Resolved 只能用“解决 (Resolve)”;
1.3 Resolved -> Closed 只能用“关闭 (Closed)”;
1.4 Resolved -> Active 和 Closed -> Active 只能使用“激活 (Activate)”
2. 没有正确的设置项目/模块
上bug的时候没有选择所属的项目/模块,仅使用缺省的当前项目/模块。
3. 没有正确的设置严重程度
明确各项目中严重程度1、2、3、4分别代表那些类型的缺陷,分门别类去设置。
4. 不能正确的设置解决方案
解决一个Bug的时候,一共有7种不同的解决方案。需要根据这个Bug的具体情况来设置。