BugFree基于PHP和MySQL开发,是免费且开发源代码的缺陷管理系统。服务器端在Linux和Windows平台上都可以运行;客户端无需安装任何软件,通过IE,FireFox等浏览器就可以自由使用。
如何有效地管理软件产品中的 Bug,是每一家软件企业必须面临的问题。遗憾的是很多软件企业还是停留在作坊式的研发模式中,其研发流程、研发工具、人员管理不尽人意,无法有效的保证质量、控制进度,并使产品可持续发展。
针对这个问题, 我们使用BugFree来管理Bug,不断提高产品质量的.
Bugfree 客户端使用手册
目录
一、 前言
BugFree是借鉴微软的研发流程和Bug管理理念,使用PHP+MySQL独立写出的一个Bug管理系统。如果你以前没有用过 Bug管理系统,那么一开始的时候也许你会觉得这个工具是在浪费时间,因为一个测试人员需要费神把发现 Bug的详细步骤记录下来, 有时还要贴一张示意图,这一切都不如当面说来得直接。但是使用一段时间,你会发现 BugFree很有用,它忠实的记录着每个问题的处理过程, 不断提醒你存在的问题,永远不会丢失和忘记。如果你参与过较大软件项目或产品的研发,就会理解它对软件可持续发展是至关重要的。而且研发的规模越大,BugFree 的作用就会越大。
二、 使用说明
a) 登录
图表 1 登录界面
默认用户名是成员的姓名拼音首字母组成,例如刘亮龙的用户名是lll。 密码是123456。
b) 界面概述
图表 2 功能界面
可以快速切换当前项目,项目模块框2和查询结果框6显示相应的模块结构和记录。
显示当前项目的模块结构。点击某一模块,查询结果框6会显示所选模块的所有记录。
a) 指派给我:
显示最近10条指派给我的记录。
b) 由我创建:
显示最近10条由我创建的记录。
c) 我的查询:
保存查询框⑤的查询条件。
切换Bug, Test Case和Test Result模式。默认登陆为Bug模式。
设置查询条件。
显示当前查询的结果。
a) 自定义显示:
设置查询结果的显示字段。
b) 统计报表:
显示当前查询结果的统计信息。
c) 导出:
将查询结果显示的自定义字段导出到XML文件。最多可同时导出5000条记录。
d) 导入(仅支持Test Case模式):
以将导出的XML文件在Excel进行编辑后,再导入到BugFree中,实现Test Case批量编辑。最大支持2M大小的XML文件。
e) 批量运行(仅支持Test Case 模式):
可以对查询结果的Test Case同时创建Test Result。最多支持100个Test Case。
显示当前登录用户名等信息。
c) 主要功能
为了保持用户体验的一致性,新建Bug, Test Case和Test Result的界面布局基本保持一致,只是具体填写字段有所不同。
1. Test Case
测试用例(Test Case)是在测试执行之前设计的一套详细的测试计划,包括测试环境、测试步骤、测试数据和预期结果。在导航栏点击Test Case,即切换到Test Case模式,点击[新建Case],创建测试用例。可以通过页面上方的[复制]按钮快速创建类似的测试用例。
2. Test Result
Test Result只能通过运行已有测试用例来创建。打开一个已有的测试用例,点击页面上方[运行]按钮,进入创建Test Result页面。Case标题、模块路径和步骤等信息自动复制到新的Test Result中。同时,Test Result相关 Case自动指向该测试用例。记录执行结果(Passed或Failed)和运行环境信息(运行Build、操作系统、浏览器等信息),保存测试用例。针对执行结果为Fail的Test Result,点击页面上方的[新建 Bug]按钮,创建新Bug。Result标题、模块路径、运行环境和步骤等信息自动复制到新的Bug中。同时Test Result相关Bug指向新建Bug。
3. Bug
新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。已经Closed的Bug如果重新复现,也可以直接激活。
d)
Test Case
|
Bug
|
开始
|
结束
|
Test Result |
Failed |
Passed |
图表 3 工作流程 |
一般由测试员或程序员提出TestCase, 由测试员进行测试并提交相应的TestResult, 如果测试不通过,由测试员提出Bug,再由程序员进行修改Bug, 再由测试员进行验证。
三、 Bug详解
a) Bug生命周期
图表 4 bug生命周期详述
无(Bug)
|
Active(Bug) |
创建者 |
Resolved (Bug) |
解决者 |
创建者 |
验证(Bug) |
Failed:创建者 |
Close (Bug) |
Passed:创建者 |
图表 5 Bug生命周期简述 |
新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为Closed,Bug生命周期结束。已经Closed的Bug如果重新复现,也可以直接激活。
b) Bug的三种活动状态
状态 | 说明 |
Active(活动) | Bug的初始状态。任何新建的Bug状态都是Active。可以通过编辑修改Bug的内容,并指派给合适的人员解决。 |
Resolved(已解决) | 解决Bug之后的状态。 |
Closed(已关闭) | 已修复Bug在验证无误之后关闭,该Bug处理完毕。如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为Active。 |
c) Bug的七种解决方案
类型 | 解决方案 | 详细说明 |
三种无效的Bug | By Design | 设计需求就是这么设计的 |
Duplicate | 这个问题别人已经发现 | |
Not Repro | 无法复现的问题 | |
四种有效的Bug | Fixed | 问题被修复 |
External | 外部原因(比如浏览器、操作系统、其他第三方软件)造成的问题 | |
Postponed | 发现的太晚了,下一个版本讨论是否解决 | |
Won’t Fix | 是个问题,但是不值得修复 |
d) Bug与Case的区别
Case是需求,目标。 Bug是结果而且是有错的。 Case不一定产生错误,但Bug一定是错误。
e) 邮件功能
建立Bug时,使用抄送功能,将对被抄送者发送bug邮件。
四、 使用快捷键
以下快捷键需要浏览器支持。
页面 | 快捷键 | 说明 |
主页面 | Ctrl + G | 弹出一个对话框。输入ID后,直接打开相应编号的Bug,Case或Result |
Bug, Case和Result 通用快捷键 | Alt + P | 显示查询结果的上一个记录 |
Alt + N | 显示查询结果的下一个记录 | |
Alt + E | 编辑当前记录 | |
Alt + S | 保存记录 | |
Bug页面 | Alt + R | 解决Bug |
Alt + C | 关闭Bug | |
Alt + A | 激活Bug | |
Case页面 | Alt + C | 复制Case |
Alt + R | 运行Case | |
Result页面 | Alt + B | 创建Bug |
五、 附录
a) 附录A 术语表
1. Bug 字段说明
Bug 标题:为包含关键词的简单问题摘要,要有利于其他人员进行搜索或通过标题快速了解问题。
项目名/模块路径:指定问题出现在哪个项目的哪个模块。Bug处理过程中,需要随时根据需要修改项目或模块,方便跟踪。如果后台管理指定了模块负责人,选择模块时,会自动指派给负责人。
指派给:Bug的当前处理人。如果不知道Bug的处理人,可以指派给Active,项目或模块负责人再重新分发、指派给具体人员。如果设定了邮件通知,被指派者会收到邮件通知。状态为Closed的Bug,默认会指派给Closed,表示Bug生命周期的结束。
抄送给:需要通知相关人员时填写,例如测试主管或者开发主管等。可以同时指派多个,人员之间用逗号分隔。如果设定了邮件通知,当Bug有任何更新时,被指派者都会收到邮件通知。
严重程度:Bug的严重程度。由Bug的创建者视情况来指定,其中1为最严重的问题,4为最小的问题。一般1级为系统崩溃或者数据丢失的问题;2级为主要功能的问题;3级为次要功能的问题;4级为细微的问题。
优先级:Bug处理的优先级。由Bug的处理人员按照当前业务需求、开发计划和资源状态指定,其中1的优先级最高,4的优先级最低。一般1级为需要立即解决的问题;2级为需要在指定时间内解决的问题;3级为项目开发计划内解决的问题;4级为资源充沛时解决的问题。
其余选项字段(Bug类型、如何发现、操作系统、浏览器):可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。
创建Build:Bug是在哪个版本(Build或者Tag)被发现的。
解决Build:Bug是在哪个版本(Build或者Tag)被解决的。
解决方案:参考Bug的七种解决方案。如果解决方案为Duplicated,需要指定重复Bug的编号。
处理状态:Bug处理过程的附属子状态,例如Local Fix表示已在本地修复;Checked In表示修复代码已经提交;Can’t Regress表示修复的问题暂无法验证等。
机器配置:测试运行的硬件环境,例如Dell G280 2G/200G。
关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对于跨团队的项目开发,可以约定一个关键词统一标记项目。
相关 Bug:与当前Bug相关的Bug。例如,相同代码产生的不同问题,可以在相关Bug注明。
相关 Case:与当前Bug相关的Case。例如,测试遗漏的Bug可以在补充了Case之后,在Bug的相关Case注明。
上传附件:上传Bug的屏幕截图,Log日志或者Call Stack等,方便处理人员。
复现步骤:[步骤]要描述清晰,简明扼要,步骤数尽可能少;[结果]说明Bug产生的错误结果;[期望]说明正确的结果。可以在[备注]提供一些辅助性的信息,例如,这个bug在上个版本是否也能复现,方便处理人员。
2. Test Case 字段说明
Case 标题:测试点的简单描述(30字以内)或测试的目的。
项目名/模块路径:指定测试用例对应的项目名称和模块路径。
指派给:执行Test Case的人员。如果不知道具体的用例执行人员,可以指派给Active 。
抄送给:需要通知相关人员时填写。可以同时指派多个,人员之间用逗号分隔。
优先级:Case执行的优先级。1:冒烟测试及每次测试都需执行的用例,严重程度最高;2:覆盖产品所有主要功能;3:次要功能;4:细节功能(资源有限时,可以不执行)。其余选项字段(Case类型、测试方法、测试计划等):可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。
标记删除:用来标记已失效的用例,再通过查询条件进行排除。
关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对于跨团队的项目开发,可以约定一个关键词统一标记项目。
显示顺序:通过输入0~255之间的任一整数实现对TestCase的自定义排序。例如,按照业务执行的流程重新排列Case的显示顺序。
下载地址:http://testing.etao.com/sites/default/files/bugfree3.0.3.zip