BugFree 2.0.2使用帮助

BugFree官方网址:http://www.bugfree.org.cn
BugFree
论坛:http://www.bugfree.org.cn/forum

目录

BugFree简介... 2

BugFree服务器安装... 3

全新安装BugFree 2.0.2. 3

BugFree 2.0 RTM2.0.1升级... 4

BugFree 1.1升级... 4

BugFree 界面... 4

主界面... 4

创建界面... 5

Bug管理... 6

Bug3种状态... 6

Bug 生命周期... 6

Bug7种解决方案... 7

Bug 字段说明... 7

Test Case管理... 8

Test Result管理... 8

查询结果... 9

设置查询条件... 9

快速筛选... 9

自定义显示字段... 10

查询结果排序... 10

统计报表... 11

BugFree使用技巧... 11

发送邮件通知... 11

BugCase中使用UBB代码... 12

更改上传附件的大小... 13

使用快捷键... 13

后台管理... 14

BugFree管理帐户设置... 14

项目管理... 14

模块管理... 14

禁用和激活项目... 14

用户管理... 14

禁用和激活用户... 15

分组管理... 15

用户日志... 15

BugFree应用程序接口... 15

 

BugFree简介

BugFree是借鉴微软内部Bug管理工具Product Studio,基于Browser/Server架构,免费且开发源代码的缺陷管理系统。BugFreePHP语言和MySQL数据库实现。服务器端在LinuxWindows平台上都可以运行;客户端无需安装任何软件,通过IEFireFox等浏览器就可以自由使用。

BugFree 2.0 BugFree 1.1的基础上,集成了Test CaseTest Result的管理功能。具体使用流程是:首先创建Test Case(测试用例),运行Test Case产生Test Result(测试结果),运行结果为FailCase,直接创建BugTest Case标题、步骤和Test Result运行环境等信息直接复制到新建的Bug中。如下图所示。

bugfreeworkflow.PNG

BugFree服务器安装

全新安装BugFree 2.0.2

在安装BugFree之前,需要首先安装Apache, PHP, Mysql支持软件包,例如XAMPPEASYPHP等。
下面以XAMPP为例进行说明。请先访问http://www.apachefriends.org/zh_cn/xampp.html 下载并安装最新的XAMPP版本。

1.       下载BugFree2.0.2安装包,解压后复制到XAMPP系统的htdocs子目录下
如果是Linux系统,安装路径一般为/opt/lampp/htdocs/bugfree; Window系统的安装路径一般为C:\xampp\htdocs\bugfree

2.        进入bugfree的安装目录,复制文件Include/Config.inc.Sample.php 为新文件Include/Config.inc.php,编辑新创建的文件,修改数据库链接设置:

/* 3. Define the username and password of the BugFree database. */

$_CFG['DB']['User']        = 'root';          // 数据库登录用户名

$_CFG['DB']['Password']    = '';             // 数据库登录用户密码

$_CFG['DB']['Host']        = 'localhost';     // 数据库服务器地址

$_CFG['DB']['Database']    = 'bugfree2';    // 指定BugFree数据库名称

$_CFG['DB']['TablePrefix'] = 'bf_';            // 数据库表前缀,默认为bf_。除非有冲突,不建议修改或为空

$_CFG['DBCharset']         = 'UTF8';        // 数据库编码设置,保留默认值

3.       如果是Linux 系统,修改下列目录和文件的权限,如果是Windows系统,跳过这一步

a)         chmod 777 Data/TplCompile/

b)         chmod 777 BugFile/

c)         chmod 777 Include/Config.inc.php

4.       在浏览器访问http://servername/bugfree。如果设置的数据库不存在,按照提示创建数据库,再点击继续安装

5.       点击“安装全新的 BugFree2”。

6.       安装成功后,显示首次登录的默认管理员帐号和密码,按照提示首先使用默认管理员用户名和密码登陆BugFree

BugFree 2.0 RTM2.0.1升级

升级之前,为防止数据丢失,建议在浏览器退出BugFree 2.0,并备份BugFree 2.0的数据库和虚拟目录

1.       下载BugFree2.0.2安装包,解压后复制到BugFree 2.0 RTM的安装目录下,覆盖原有文件

2.       在浏览器访问http://servername/bugfree

3.       点击“从现有的BugFree2 升级”,完成到2.0.2的升级

BugFree 1.1升级

升级之前,为防止数据丢失,建议在浏览器退出BugFree 1.1,并备份BugFree 1.1的数据库和虚拟目录

1.       下载BugFree 2.0.2安装包,解压后复制到BugFree 1.1的安装目录下,覆盖原有文件

2.       进入bugfree的安装目录,复制文件Include/Config.inc.Sample.php 为新文件Include/Config.inc.php,编辑新创建的文件,并复制Include/ConfigBug.inc.php的相应设置

3.       点击“从BugFree1 升级”,完成BugFree 1.1 2.0.2的升级

注意:如果BugFree1.1升级到2.0之后显示乱码,请修改Include/Config.inc.php$_CFG['DBCharset']值为空,再恢复原有的BugFree1.1数据库,重新进行升级

$_CFG['DBCharset']         = ''

 

BugFree 界面

主界面

访问http://servername/bugfree,输入用户名和密码登录成功后,显示BugFree主界面:

mainpage.PNG

1.       项目选择框:可以快速切换当前项目,项目模块框(2)和查询结果框(6)显示相应的模块结构和记录。

2.       项目模块框:显示当前项目的模块结构。点击某一模块,查询结果框(6)会显示当前模块的所有记录。

3.       个性显示框:

a)         指派给我:显示最近10条指派给我的记录。

b)         由我创建:显示最近10条由我创建的记录。

c)         我的查询:保存查询框(5)的查询条件。

4.       模式切换标签:切换Bug, Test CaseTest Result模式。默认登陆为Bug模式。

5.       查询框:设置查询条件。

6.       查询结果框:显示当前查询的结果。

a)         自定义显示:设置查询结果的显示字段。

b)         全部导出:将当前查询结果记录导出到网页。

c)         统计报表:显示当前查询结果的统计信息。

7.       导航栏:显示当前登录用户名等信息。

创建界面

为了保持用户体验的一致性,新建Bug, Test CaseTest Result的界面布局基本保持一致,只是具体填写字段有所不同。

以新建Bug为例,在主界面模式切换标签选择Bug,点击[新建 Bug]打开新建Bug页面。如下图,黄色标注字段为必填项。

Bug管理

Bug3种状态

状态

说明

Active(活动)

Bug的初始状态。任何新建的Bug状态都是Active。可以通过编辑修改Bug的内容,并指派给合适的人员解决。

Resolved(已解决)

解决Bug之后的状态。

Closed(已关闭)

已修复Bug在验证无误之后关闭,该Bug处理完毕。如果没有真正解决或者重新复现,可以重新激活,Bug状态重新变为Active

 

Bug 生命周期

新建的Bug处于Active状态,可以通过编辑指派给合适的解决者。解决Bug之后,Bug状态变为Resolved,并自动指派给创建者。创建者验证Bug。如果未修复,再重新激活,Bug状态重新变为Active;如果已经修复则可以关闭,Bug状态变为ClosedBug生命周期结束。已经ClosedBug如果重新复现,也可以直接激活。具体流程如下图所示。

buglifecycle.PNG

Bug7种解决方案

 

3种无效的Bug

By Design

设计需求就是这么设计的

Duplicate

这个问题别人已经发现

Not Repro

无法复现的问题

 

4中有效的Bug

Fixed

问题被修复

External

外部原因(比如浏览器、操作系统、其他第三方软件)造成的问题

Postponed

发现的太晚了,下一个版本讨论是否解决

Won’t Fix

是个问题,但是不值得修复

 

Bug 字段说明

Bug 标题:为包含关键词的简单问题摘要,要有利于其他人员进行搜索或通过标题快速了解问题
项目名/模块路径:指定问题出现在哪个项目的哪个模块。Bug处理过程中,需要随时根据需要修改项目或模块,方便跟踪。如果后台管理指定了模块负责人,选择模块时,会自动指派给负责人
指派给Bug的当前处理人。如果不知道Bug的处理人,可以指派给Active,项目或模块负责人再重新分发、指派给具体人员。如果设定了邮件通知,被指派者会收到邮件通知。此外,状态为ClosedBug,默认会指派给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来自定义

创建BuildBug是在哪个版本(Build或者Tag)被发现的
解决BuildBug是在哪个版本(Build或者Tag)被解决的
解决方案:参考Bug7中解决方案。如果解决方案为Duplicated,需要指定重复BugBug编号。

处理状态:Bug处理过程的附属子状态,例如Local Fix表示已在本地修复;Checked In表示修复代码已经提交;Can’t Regress表示修复的问题暂无法验证等。
机器配置:测试运行的硬件环境,例如Dell G280 2G/200G
关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对本地解决的Bug可以首先标记localfix,等真正提交新版本时,查询所有关键词包含localfixbug,统一进行解决
相关 Bug:与当前Bug相关的Bug。例如,相同代码产生的不同问题,可以在相关Bug注明
相关 Case:与当前Bug相关的Case。例如,测试遗漏的Bug可以在补充了Case之后,在Bug的相关Case注明
上传附件:上传Bug的屏幕截图,Log日志或者Call Stack等,方便处理人员

复现步骤[步骤]要描述清晰,简明扼要,步骤数尽可能少;[结果]说明Bug产生的错误结果;[期望]说明正确的结果。可以在[备注]提供一些辅助性的信息,例如,这个bug在上个版本是否也能复现,方便处理人员

Test Case管理

测试用例(Test Case)是在测试执行之前设计的一套详细的测试计划,包括测试环境、测试步骤、测试数据和预期结果。在导航栏点击Test Case,即切换到Test Case模式,点击[新建Case],创建测试用例。可以通过页面上方的[复制]按钮快速创建类似的测试用例。

Test Result管理

Test Result只能通过运行已有测试用例来创建。打开一个已有的测试用例,点击页面上方[运行]按钮,进入创建Test Result页面。Case标题、模块路径和步骤等信息自动复制到新的Test Result中。同时,Test Result相关 Case自动指向该测试用例。记录执行结果(PassFail)和运行环境信息(运行Build、操作系统、浏览器等信息),保存测试用例。针对执行结果为FailTest Result,点击页面上方的[新建 Bug]按钮,创建新BugResult标题、模块路径、运行环境和步骤等信息自动复制到新的Bug中。同时Test Result相关Bug指向新建Bug

查询结果

设置查询条件

BugFree默认显示2个查询组,每组有3个查询字段(总共6个查询字段)。假设要查询项目Project 1, Project 2Project 3200811日起所有未关闭的Bug,可以设置如下的查询条件:
querybuilder.PNG

点击[保存查询]按钮,可以将当前的查询条件保存到右下角个性查询框“我的查询”标签页。这样,在下次登录的时候,就可以直接通过点击已保存的查询显示相应的搜索结果。

注意:BugFree默认支持6个查询字段,可以通过修改Include/Config.inc.php下面的值更改查询字段的数量。

$_CFG['QueryFieldNumber'] = 6;      // The fields number to query in QueryBugForm.php

 

快速筛选

在搜索结果列点击某一字段的值,可以快速进行筛选,筛选列高亮显示。例如,要查看所有解决方案为By DesignBug,如下图,点击任一解决方案为By DesignBug
filter.PNG
注意:筛选会忽略当前设置的查询条件。

自定义显示字段

在查询结果框右上角,点击[自定义显示]链接,可以显示或隐藏查询结果的字段和显示顺序。
customfield.PNG

查询结果排序

点击搜索结果标题某一字段的标题栏,可以按该字段对搜索结果进行排序。再次点击则切换升序或降序。例如,需要查看最近更新的Bug,首先添加“最后修改日期”自定义字段,再在查询结果标题栏点击该字段。
sorting.PNG

统计报表

在查询结果框右上角,点击[统计报表]链接打开新窗口。统计报表可以显示Bug, Test CaseTest Result当前查询结果的统计信息。

在统计报表页面的左侧选择统计项,点击[查看统计]按钮,右侧显示Flash统计图表。如下图:

report.PNG

BugFree使用技巧

发送邮件通知

在安装过程或者通过编辑Include/Config.inc.php文件可以启用邮件通知功能。例如,修改如下SMTP服务器信息。

/* 9. SMTP param setting. */

$_CFG['Mail']['SendParam']['Host']     = 'localhost';   // The server to connect. Default is localhost

$_CFG['Mail']['SendParam']['SMTPAuth'] = false;       // Whether or not to use SMTP authentication. Default is FALSE

$_CFG['Mail']['SendParam']['Username'] = '';          // The username to use for SMTP authentication.

$_CFG['Mail']['SendParam']['Password'] = '';          // The password to use for SMTP authentication.

BugFree可以实时和定时发送邮件通知。在新建BugTest Case并保存后,指派给和抄送给将收到实时邮件通知。可以在“抄送给”编辑框输入多个用户帐号或者邮件地址,地址之间用逗号分隔。如下图,BugFree自动按照输入的字母对用户名进行筛选。

cc.PNG

BugFree还可以发送定期邮件通知。

1.       如果需要定期对所有未关闭Bug的当前指派者发送邮件提醒,在Linux环境下定期执行bugfree/Shell/NoticeBug.shWindows环境下则定期执行bugfree/Shell/NoticeBug.bat

2.       如果需要发送每周Bug统计报告和累计Bug统计报告,步骤如下。

a)         通过编辑Include/Config.inc.php文件修改需要通知的用户。假设需要给user1user2发送定期邮件通知,修改如下

/* Define report user list. Like this: array('admin', 'someone@example.com');*/

$_CFG['MailReportUser'] = array('user1', ‘user2’);

b)         Linux环境下,通过crontab定期执行bugfree/Shell/StatBug.shWindows环境下则则可以通过定时任务程序定期执行bugfree/Shell/StatBug.bat

BugCase中使用UBB代码

BugFree2.0 提供了对基本UBB代码的支持,可以在编写复现步骤和注释时添加链接、设置字体、嵌入图像等,也可以直接引用bugcaseresult

例如,编辑状态下输入文字:

链接[url]www.bugfree.org.cn[/url]

字体[b]加粗[/b], [i]斜体[/i], [u]下划线[/u]

引用bug#[bug]100[/bug], case#[case]11[/case], result#[result]6[/result]

嵌入图像[img]http://www.bugfree.org.cn/buglifecycle.png[/img]

保存后的显示效果:
ubb2.png

更改上传附件的大小

BugFree默认附件大小为1000K,可以编辑Include/Config.inc.php文件下列设置更改上传文件大小。

$_CFG['File']['MaxFileSize']       = 1024 * 1000;    // The max file size(Byte).

 

使用快捷键

以下快捷键需要浏览器支持。

页面

快捷键

说明

主页面

Ctrl + G

弹出一个对话框。输入ID后,直接打开相应编号的BugCaseResult

Bug, CaseResult

通用快捷键

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

 

后台管理

BugFree管理帐户设置

如果是管理员登陆,主页面上方导航栏会显示一个[后台管理]的链接。全新安装BugFree之后,会自动创建一个默认的管理员帐号admin。你可以通过编辑BugFree目录下的Include/Config.inc.php文件,增加其他管理员帐号。

例如,假设要将user1设置为BugFree管理员。编辑Include/Config.inc.php文件,将user1添加到下面的行。

/* 2. Define admin user list. Like this: array('admin','test1') */
$_CFG['AdminUser'] = array('admin',
’user1’);

注意:如果user1不存在,首先需要登录默认管理员帐号创建该用户。

项目管理

点击[添加项目]的链接,创建新的项目。项目默认显示顺序是按照创建的先后次序排列的。如果需要将某个项目排在最前面,编辑该项目,将显示顺序设置为0-255之间的数值。

模块管理

创建了项目之后,通过[Bug模块][Case模块]链接,可以分别为BugTest Case创建树形模块结构。一个项目可以包含多个模块,一个模块下面可以包含多个子模块。原则上,对子模块的层级没有限制。与项目的显示顺序类似,可以编辑模块的显示数据值更改同级模块的排列顺序。

如果指定模块负责人,在创建该模块下的BugTest Case时,会自动指派给该负责人。

如果删除一个模块之后,该模块下面的BugTest Case将自动移动到父模块中。

禁用和激活项目

点击[禁用]后,可以隐藏某个项目,但并不真正从数据库删除记录,该项目将对所有人员不可见。

再次点击[激活],将恢复该项目所有的记录。

用户管理

添加新用户,输入用户名、真实姓名、密码和邮件地址。用户名和密码用于登录BugFree;真实姓名则显示在指派人列表中用于选择。当有BugTest Case指派给该用户时,该用户设定的邮件地址会收到邮件通知。建议用户名与邮箱前缀一致,真实姓名则使用易读的中文名字。

禁用和激活用户

点击[禁用]后,该用户将无法登录BugFree,并从所在分组删除。包含该用户的记录将不再显示该用户的真实姓名,而以用户名代替。

再次点击[激活],将恢复该用户,但需要重新指派分组权限。

分组管理

创建完成项目和用户之后,需要进行分组管理,指定哪些用户可以访问哪些项目。新用户只有在指派至少一个项目之后才可以登录BugFree系统。

可以将多个用户同时指派给多个项目。例如,将用户user1, user2, user3同时指派给project1, project2

用户日志

用户日志用例记录用户的登录信息,包括登录的用户名,登录机器的IP地址和登录时间。

 

BugFree应用程序接口

具体使用说明请参考API接口文档:bugfree_api.html

API应用示例下载:api-example.tar.gz