bugfree

BugFree解决方案的说明

帮助文档使用说明

 

BugFree解决方案的说明

目中使用了BugFree来进行Bug管理,但对于解决方案的那几个选项还不了解,这里列出来以供参考。

 

BugFree 说明
Fixed 已修复
By Design 不是问题,设计需求就是这么设计的
Won’t Fix 无法修改
Duplicate 重复的问题.
Not Repro 无法重现
External 表示外部原因(比如浏览器、操作系统、其他软件)造成的问题
Postponed 以后版本解决

 

 

本文档已按照最新版本的BugFree 2进行了更新,部分内容可能不适用于老版本的BugFree。建议访问BugFree下载页面,下载并升级至最新版本的BugFree

BugFree简介

BugFree基于PHPMySQL开发,是免费且开发源代码的缺陷管理系统。服务器端在LinuxWindows平台上都可以运行;客户端无需安装任何软件,通过IEFireFox等浏览器就可以自由使用。

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

BugFree服务器安装

全新安装BugFree 2

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

1.       下载BugFree 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.x升级

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

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

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

3.       点击“从现有的BugFree 2 升级”,完成升级。

BugFree 1.1升级

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

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

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

3.       点击“从BugFree 1 升级”,完成BugFree 1.1 BugFree 2的升级。

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

$_CFG['DBCharset']         = ''

 

BugFree 界面

主界面

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

项目选择框①:可以快速切换当前项目,项目模块框②和查询结果框⑥显示相应的模块结构和记录。

项目模块框②:显示当前项目的模块结构。点击某一模块,查询结果框⑥会显示所选模块的所有记录。

个性显示框③:

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

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

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

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

查询框⑤:设置查询条件。

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

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

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

c)         导出:将查询结果显示的自定义字段导出到XML文件。最多可同时导出5000条记录。

d)         导入(仅支持Test Case模式):可以将导出的XML文件在Excel进行编辑后,再导入到BugFree中,实现Test Case批量编辑。最大支持2M大小的XML文件

e)         批量运行(仅支持Test Case 模式):可以对查询结果的Test Case同时创建Test Result。最多支持100Test Case

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

创建界面

为了保持用户体验的一致性,新建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如果重新复现,也可以直接激活。具体流程如下图所示。

Bug的七种解决方案

类型

解决方案

详细说明

 

三种无效的Bug

By Design

设计需求就是这么设计的

Duplicate

这个问题别人已经发现

Not Repro

无法复现的问题

 

四种有效的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)被解决的。
解决方案:参考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在上个版本是否也能复现,方便处理人员。

Test Case管理

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

Test Case 状态

Case状态

详细说明

Active

标示有效的测试用例。所有新建Case都默认为该状态

Blocked

当前Case因为其他原因,无法正常运行。通过编辑Case进行修改

Investigating

待研究确认的测试用例。通过编辑Case进行修改

Reviewed

通过测试用例评审的用例。通过编辑Case进行修改

Test Case 字段说明

Case 标题:测试点的简单描述(30字以内)或测试的目的。
项目名/模块路径:指定测试用例对应的项目名称和模块路径。
指派给:执行Test Case的人员。如果不知道具体的用例执行人员,可以指派给Active
抄送给:需要通知相关人员时填写。可以同时指派多个,人员之间用逗号分隔。
优先级:Case执行的优先级。1:冒烟测试及每次测试都需执行的用例,严重程度最高;2:覆盖产品所有主要功能;3:次要功能;4:细节功能(资源有限时,可以不执行)。其余选项字段(Case类型测试方法测试计划等):可以通过编辑Lang/ZH_CN_UTF-8/_COMMON.php来自定义。

标记删除:用来标记已失效的用例,再通过查询条件进行排除。
关键词:主要用于自定义标记,方便查询。关键词之间用逗号或者空格分隔。例如,对于跨团队的项目开发,可以约定一个关键词统一标记项目。
显示顺序:通过输入0~255之间的任一整数实现对TestCase的自定义排序。例如,按照业务执行的流程重新排列Case的显示顺序。

Test Result管理

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

Test Case的执行结果

Case状态

详细说明

Passed

运行成功的Test Case

Failed

运行失败的Test Case

 

查询结果

设置查询条件

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

查询技巧:
1. 点击[保存查询]按钮,可以将当前的查询条件保存到右下角个性查询框“我的查询”标签页。点击已保存的查询,可以对查询条件进行编辑和修改。
2. 日期类型字段支持相对日期的查询。例如,创建日期 = -1将查询所有昨天创建的Bug
3. 通过“包含”操作,可以指定多个查询值。例如,创建者包含user1,user2,搜索结果将显示两个创建者的Bug

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

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

 

快速筛选

在搜索结果列点击某一字段的值,可以快速进行筛选,筛选列高亮显示。例如,要查看所有解决方案为By DesignBug,如下图,点击任一解决方案为By DesignBug

注意:筛选会忽略当前设置的查询条件。

自定义显示字段

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

查询结果排序

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

统计报表

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

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

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自动按照输入的字母对用户名进行筛选。

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

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

2.       如果需要每周接收各项目/模块的过去7天新增Bug和超过7天未处理的Bug的邮件通知:

a)         后台管理页面,编辑指定的项目,在通知邮箱编辑框输入邮件接收的地址。

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

BugCase中使用UBB代码

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

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

链接http://www.cnblogs.com/aaa6818162/admin/www.bugfree.org.cn

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

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

嵌入图像

保存后的显示效果:

更改上传附件的大小

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的管理员包括系统管理员、项目管理员和用户组管理员三种角色。可以同时指派任意用户为任意角色。这三种管理员登陆BugFree之后,主页面上方导航栏会显示一个[后台管理]的链接。

系统管理员

全新安装BugFree之后,会自动创建一个默认的系统管理员帐号admin。你可以通过编辑BugFree目录下的Include/Config.inc.php文件,增加其他系统管理员帐号。

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

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

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

项目管理员

项目管理员只能由系统管理员指派,指定哪些用户组可以访问当前项目。该角色负责维护BugCase的模块结构。

用户组管理员

用户组管理员可以由系统管理员或者其他用户组管理员指派,负责维护一个用户组。一般情况下,用户组管理员和项目管理员可以是同一个用户。但是在大型的组织,在人员很多的情况下,可以指派专人对用户组进行维护。技术负责人则担当项目管理员的角色,负责维护BugCase的模块结构。

管理员的具体权限

系统管理员、项目管理员和用户组管理员三种角色的详细权限如下表所列。

 

系统管理员

项目管理员

用户组管理员

项目管理

可以添加项目

可以查看和编辑所有项目

可以修改项目名称和显示顺序

可以指派项目用户组

可以指派项目管理员

可以编辑BugCase模块

不可以添加项目

仅可以查看和编辑自己是项目管理员的项目

不可以修改项目名称和显示顺序

可以指派项目用户组

不可以指派项目管理员

可以编辑BugCase模块

无权限

用户管理

可以查看所有用户

可以添加用户

可以编辑、禁用或激活所有用户

可以查看所有用户

可以添加用户

可以编辑、禁用或激活自己创建的用户或本人

可以查看所有用户

可以添加用户

可以编辑、禁用或激活自己创建的用户或本人

用户组管理

可以查看所有用户组

可以添加用户组

可以编辑或删除所有用户组

可以查看所有用户组

可以添加用户组

可以编辑或删除自己添加的用户组

可以查看所有用户组

可以添加用户组

可以编辑或删除自己添加的用户组或自己是用户组管理员的组

用户管理

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

禁用和激活用户

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

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

用户组管理

创建用户之后,需要将用户添加到用户组,项目管理员通过指派用户组来分配权限。新用户只有在所属用户组指派给一个项目之后才可以登录BugFree系统。
安装BugFree之后,系统会默认创建一个[All Users] 默认组,该用户组包含所有用户,不需要额外添加用户。

项目管理

点击[添加项目]的链接,创建新的项目。指派需要访问当前项目的用户组之后,改用户组的所有用户才可以访问该。项目默认显示顺序是按照创建的先后次序排列的。如果需要将某个项目排在最前面,编辑该项目,将显示顺序设置为0-255之间的数值。

模块管理

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

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

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

禁用和激活项目

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

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

用户日志

用户日志只有系统管理员可以查看,用于记录用户的登录信息,包括登录的用户名,登录机器的IP地址和登录时间。

 

BugFree应用程序接口

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

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

你可能感兴趣的:(free)