计划在6月底发布新版本BugFree。主要内容包括
- 针对BugFree二次开发者提供数据库说明文档
- 若干Bug Fix和细节功能改动
敬请期待。
根据51Testing软件测试网《2008首届企业软件测试现状调查报告》的调查显示,目前中国公司使用的商业缺陷管理工具中,HP Quality Center(Test Director)所占比例为31%,位居第一。在开源缺陷管理工具中,BugFree(9%)以微弱优势领先其他工具Bugzilla(7%)和Mantis(8%)排名第一。BugFree的使用比例也等同或超过了其他商业软件 IBM Clear Quest(9%), Jira(8%) 和TestTrack(4%)。

新版本支持从BugFree 1.1, 2.0 RTM或2.0.X升级,具体安装可以参考BugFree 2.0.3使用帮助。
BugFree 2.0.3主要更新是增加项目管理员和用户组管理员角色。
项目管理员只能由系统管理员指派,指定哪些用户组可以访问当前项目。该角色负责维护Bug和Case的模块结构,把系统管理员解放出来。
用户组管理员可以由系统管理员或者其他用户组管理员指派,负责维护一个用户组。一般情况下,用户组管理员和项目管理员可以是同一个用户。但是在大型的组织,在人员很多的情况下,可以指派专人对用户组进行维护。技术负责人则担当项目管理员的角色,负责维护Bug和Case的模块结构。
系统管理员、项目管理员和用户组管理员三种角色的详细权限如下表所列。
| |
系统管理员 |
项目管理员 |
用户组管理员 |
| 项目管理 |
可以添加项目 可以查看和编辑所有项目 可以修改项目名称和显示顺序 可以指派项目用户组 可以指派项目管理员 可以编辑Bug或Case模块
|
不可以添加项目 仅可以查看和编辑自己是项目管理员的项目 不可以修改项目名称和显示顺序 可以指派项目用户组 不可以指派项目管理员 可以编辑Bug或Case模块
|
无权限 |
| 用户管理 |
可以查看所有用户 可以添加用户 可以编辑、禁用或激活所有用户
|
可以查看所有用户 可以添加用户 可以编辑、禁用或激活自己创建的用户或本人
|
可以查看所有用户 可以添加用户 可以编辑、禁用或激活自己创建的用户或本人
|
| 用户组管理 |
可以查看所有用户组 可以添加用户组 可以编辑或删除所有用户组
|
可以查看所有用户组 可以添加用户组 可以编辑或删除自己添加的用户组
|
可以查看所有用户组 可以添加用户组 可以编辑或删除自己添加的用户组或自己是用户组管理员的组
|
针对企业级环境下多个项目的管理需求,BugFree 2.03最重要的改动是增加项目管理员的功能,将项目的管理分发给项目管理员,彻底把系统管理员解放出来。
主要功能描述如下:
- 系统管理员原有功能保持不变,增加指派项目管理员的功能
- 分组管理变更为用户组管理,将用户的管理和项目权限的指派彻底分开
- 项目管理员的权限
- 和系统管理员一样,都可以编辑用户和用户组
- 可以对所管理的项目指派用户组
- 可以维护所管理的项目Bug模块和Case模块
- 项目管理员的限制
- 只能查看并修改自己管理的项目,不允许新增、禁用或激活项目
- 不能删除或指派其他项目管理员
- 不能查看用户日志
- 在项目管理员不属于任何项目情况下,禁止登录BugFree
预计BugFree 2.03在12月中旬推出,敬请期待。
Subversion是目前主流的版本管理工具之一,在很多项目的开发中我们都可以看到它的身影。
每次fix bug并提交代码到SVN,必然会有一些文件更新(或增加、或删除),那么如何将这些文件的更新信息同BugFree中被fix的Bug有机的结合起来呢?下面的内容能够帮助你实现这一目的。
一、准备工作
BugFreeforSVN.tar.gz中的文件说明:
- svn_ci.php :用于向BugFree提交svn信息的php脚本。你可以将此文件放置在Subversion服务器的某个目录,如:/somwhere/svn_ci.php
- post-commit:svn每次成功提交后触发的钩子脚本。应将此文件放置在代码库的hooks目录中,如:/home/svnadmin/repos/yourproject/hooks/。一般情况下,你应该给该文件设置可执行权限。
cd /home/svnadmin/repos/yourproject/hooks/
chmod +x post-commit
- post-commit.bat:功能同上,用于windows平台
- class.http.php:第三方的http类文件。你也可以到 http://www.phpfour.com/lib/http 自行下载
二、修改配置
修改svn_ci.php:
- define(’API_NEWLINE’, chr(0×03)); // API行分隔符,默认不用修改
- define(’API_DEVIDER’, chr(0×04)); // API列分隔符,默认不用修改
- define(’API_KEY’, ‘YOUR_KEY’); // API加密KEY,请参考BugFree的Include/Api.inc.php中的值进行修改
- define(’API’, “http://127.0.0.1/bugfree/api.php”); // BugFree的api地址
- define(’USER_NAME’, ‘admin’); // 用于向BugFree提交svn信息的用户名(建议设为管理员之一,这样可以修改所有的Bug)
- define(’USER_PASSWORD’, ‘e10adc3949ba59abbe56e057f20f883e’); // 用户加密后的密码(默认是md5(原始密码))
- define(’VIEWVC’, ‘http://bugfree.svn.sourceforge.net/viewvc/bugfree/’); // ViewVC查看代码的根地址
修改post-commit:
- PHP_EXE=’/phppath/php’ #php可执行文件的路径
- CHECK_IN_PHP=’/somwhere/svn_ci.php’ #svn_ci.php的路径
- SVN_LOOK_EXE=’/svnpath/svnlook’ #svnlook可执行文件的路径
windows平台下post-commit.bat的修改可参考post-commit
三、如何使用
每次提交代码时,在注释里填写含有” fix bug #123” 等类似格式的信息,就会把相应的文件更新信息提交到BugFree中。
例:
- 修改文件branch/BugFree2.0_demo/Bug.php
- 提交修改,假设此次fix的Bug号为123: svn ci -m ‘ fix bug #123 ‘
- 查看BugFree中Bug号为123的Bug,则会发现其多了一行类似以下格式的注释:
-
2008-08-08 08:08:08 Edited by admin
Changeset [559] by leeyupeng, 2008-08-08 08:08:08 +0800 (Fri, 8 Aug 2008)
U branch/BugFree2.0_demo/Bug.php [diff]
注释说明:
- [559]:提交后的版本号
- leeyupeng :提交人
- 2008-08-08 08:08:08 +0800 (Fri, 8 Aug 2008):提交时间
- U branch/BugFree2.0_demo/Bug.php:修改的文件列表。若一次提交有多个文件被修改,则分行显示
- [diff] :与前一版本的差异比较链接
四、其他说明
关于提交信息的格式:
一次提交可能修改了多个bug,那么我们在svn提交填写提交信息时,多个Bug号可以用空格、英文逗号隔开。
如下格式都是可以的:
fixbug #123 #456
lee fix bug #123,#456
fix bug #123, #456
fix bug #123, #456. God!
每个Bug号开头用#标识,并保证文字fix bug 和第一个Bug号之间不少于一个空格。
当然,这可能并不符合你所在团队的习惯,你可以通过修改svn_ci.php中35行附近的正则表达式:/fixs*bug…/i来定制自己的message格式 :-)。
关于diff链接 :
你可能没有安装ViewVC,或者有其他Web方式浏览版本库的工具,那么可以通过修改 svn_ci.php中60行附近的$note .= ‘ [url=’ . VIEWVC . $fileName . ‘?r1=’. $pre . ‘&sortdir=down&r2=’ . $rev . ‘&sortby=log][diff][/url]’;来定制链接参数。
参考文章
新版本支持从BugFree 1.0, 2.0 RTM或2.0.1升级,升级方法与2.0.1完全相同。具体安装可以参考BugFree 2.0.2使用帮助。
BugFree 2.0.2主要更新如下:
BugFree的License由GPL修改为BSD License
BugFree 开发对外程序接口,请参考API接口文档和应用示例。
其他功能改进:
- 增加复制Bug功能
- 解决方案是Duplicate时,自动在原始的Bug下加入一条记录
- Bug增加“处理状态”附属状态信息
- Bug增加相关Case编辑框;Case增加相关Bug编辑框。
- 验证并关闭的Bug自动发送邮件通知给解决者
- 语言文件若干可选字段调整
- Cookie保存最近选择的项目,重新登录BugFree不再需要重新选择项目
- 若干小的Bug Fix
计划在9月底发布BugFree 2.0.2。主要更新如下:
- 为了更好的发展和推广BugFree,我们将把BugFree的License由GPL修改为BSD License
- 提供BugFree OpenAPI对外程序接口
- 其他功能改进
- 增加复制Bug功能
- 直接导出查询结果到Excel表格
- 解决方案是Duplicate时,自动在原始的Bug下加入一条记录
- Bug增加“处理状态”,记录本地修复、代码提交等附属状态信息
- 验证并关闭的Bug自动发送邮件通知给解决者
- Cookie记录最近选择的项目
- 若干小的Bug Fix
今天发布BugFree的最新版本,主要对2.0 RTM发布之后的问题进行了修复,并且对一些功能的细节进行了改进。
从BugFree 2.0 RTM 升级到2.0.1仅需两步
1. 下载最新的Bug 2.0.1,解压后复制到BugFree的安装目录,覆盖原有文件
2. 访问http://servername/bugfree/install.php,按照提示完成升级!
升级注意事项
1. 升级前请务必备份原有数据库和程序文件
2. 如果数据库原有数据量比较大,升级过程中页面运行时间可能较长,请耐心等待
有关全新安装或从其他版本升级,请访问帮助。
增加和修改的功能
- 简化了安装和升级程序
- 增加用户自动登陆功能
- 查询增加查找曾经修改者的功能
- 查询框针对不同的字段定制不同的查询操作符
- 中文用户名依照汉语拼音增加首字母,方便选择
- 只在新建Bug/Case时,自动指派给模块负责人
- 左下方指派给我和由我创建都改为按照最后修改日期排序
- Bug/Case/Result页面,交换上一个和下一个按钮的功能
- 后台模块管理支持跨项目移动模块
- 后台管理增加终止和激活用户的功能
- 后台管理页面显示最近修改者的名字
解决的主要Bug
- 用户用大写字母登录,无法显示中文名字
- 某一分组的用户列表为空时,非管理员用户打开 Bug/Case/Result 页面报错
- 多人同时编辑Bug/Case/Result 的冲突问题
- 后台管理编辑Bug/Case模块的问题修复
- 查询链接在登录之后不能跳转到原链接地址
界面修改及其他:
- 对帮助文档做了更新,包含从所有主要版本的升级步骤和更详细的使用说明
- 编辑状态下的编辑框在查看页面下显示只读的编辑框,避免换行造成页面变形
- 配置文件增加Debug模式,便于调试问题
- 对中文和英语语言文件进行了更新
- 对代码进行了整理,增加了函数的注释
非常遗憾地通知大家:最近BugFree开发小组的所有成员都实在太忙了,我们不能按照原计划在4月底推出BugFree v2.01版本。下一个版本需要再次延期(我们希望尽可能到5月份推出)。
BugFree v2.0 正式版发布之后,很多用户在安装、使用中碰到了一些问题,并给我们提了一些改进建议。我们希望在原v2.01开发计划的基础上,综合考虑大家的建议,并努力解决兼容性的问题。
我们对BugFree的开发目标始终没有变。感谢大家的支持!
谢谢
计划在4月底推出 BugFree v2.01 版本,主要实现下面的功能:
- 查询框(Query Builder)改造
- 我的查询和查询条件保持同步。点击我的查询,查询条件同步显示。
- 梳理查询字段的操作符。例如,Bug 标题只保留“包含”操作符;Bug类型只保留“等于”和“不等于”操作符。
- 支持字段值为空的查询。
- 后台管理
- 尽可能通过管理页面实现大部分 Config.inc.php 设置。
- 增强分组管理的易用性。
- 登录页面自动保存密码
- 代码整理
已完成的功能扩展
此外我们会在近期推出如下扩展功能:
- Bugzilla 移植工具
- BugFree 演示系统和论坛的用户帐号集成(论坛注册用户可以直接登录演示系统)