什么是Bugzilla

 

什么是Bugzilla/span>

Bugzilla 是一个臭虫的数据库。它让用户报告软件的臭虫而且把它们转给合适的开发者。开发者能使用bugzilla 保持一个要做的事情的优先表,还有时间表和跟踪相关性。不是所有的“bugs” 都是臭虫。一些数据库中的内容是作为增强的请求(RFE) 。一个RFE 是一个严重级别字段被设为“enhancement” 臭虫“. 人们常说“bug”, 实际上意思是Bugzilla 中的记录, 所以RFEs 经常被称作bug 。根据客户的加强的请求来安排你的工作,Bugzilla 会帮助你跟踪它们而且允许其它人看到你会作些什么. 如果其它人看到了你的计划,他们就会避免重复你的工作而且可能帮助你解决或反馈给你。

一个臭虫的解剖

臭虫和RFEs 由许多字段组成。下面有一些介绍。
Component
Mozilla
应用由许多不同的部分组成如网络库函数,java 脚本和版面设计引擎。
Status Whiteboard
用来写简短的bug 标注
Keyword
用来存储一些关键字。
Target Milestone
由负责这个bug 的人来设置
Dependency
如果一个bug 在另一个bug 修复之后才能被修复,就是相关性。
Attachment
增加一个附件上去会非常有用。测试事件、屏幕显示和log 记录等可以有助于查明bug 以及帮助开发者重新产生它。如果你
修复了bug, 要附带bug 的补丁程序上去。由于它让他人很容易的找到和测试,所以这是较好的方法来跟踪补丁。

一个臭虫的存活周期
对头一次被举报bug 作些什么由是谁报告的决定。新的Bugzilla 帐户由缺省建立而并没被证实 这就是指QA 部门需要在把它转变成一个“bug 之前找到并证实它的存在。如果你已经使用Bugzilla 一段时间,相信你知道如何创建一个“bug 。当一个bug 变成 ,开发者可能会研究这个bug, 或者接受或者把它转给别人。如果这个BUG 一周内一直没被处理过。Bugzilla 就会一直用email 骚扰它的属主,直到采取行动。无论何时一个bug 被重新指定或内容变化,它的状态被设置回“new”“new” 状态表示这个bug 被重新加到一个特殊的开发者的工作中,并不是这个bug 被重新报告了。那些有权限的人可以修改一个bug 的所有的记录( 缺省,你只能修改一些) 。每当你修改了一个bug, 你最好加一些评论来解释你正在做些什么和你为什么做。每当你作了些事,如修改了内容、重新分配了bug 、建立附件、增加了相关性和对某些人作了备份,应作个标注。每当一些人修改了bug 报告或加了一个评论,他们将会被加到CC 列表中,bug 报告中的改变会显示在要发给属主、写报告者和CC 列表中的人的电子邮件中。

当一个bug 被修复它会被标记上RESOLVED 并且会有以下的决定。
FIXED
这个bug 的修补已经被写到数据库中而且被测试过的人标记成 FIXED
INVALID
描述的的问题不是一个bug ,或不是Mozilla
bug.
WONTFIX
描述的的问题将永远不会被修复。

LATER
描述的的问题将不会在产品的这个版本中解决
REMIND
描述的的问题可能不会在产品的这个版本中解决, 但是也许也会。
DUPLICATE
描述的的问题是一个存在的bug 的复件。标记bug 为复件需要复件bugbug 号码而且将会加一个评论和bug 号码到bug 复件
的描述字段中去。
WORKSFORME
所有要重新产生这个bug 的企图是无效的。如果有更多的信息出现,请重新分配这个bug ,而现在只把它归档。
MOVED
这个bug 是对于一个特殊的以Mozilla 为基础的版本, 而不影响mozilla.org 的代码。这个bug 被转移到影响Mozilla 起源的
发布者的数据库中去。

QA 查找解决了问题的bugs 并且确保已经采取了正确的手段。如果他们同意,这个bug 被标记成VERIFIED. 在产品出来之前bugs 保持这个状态,之后被标记成CLOSEDBugs 可以又回来而变成REOPENED 。当改变其他人的bugs 时要注意。通常最好是把你打算改变的做个标记,作为一个注释让bug 的属主看到这个而自己去修改。例如,如果你认为一个bug 是另一个的重复,在Additional Comments 部分作个标注。如果你对一些人的bugs 作了大量有用的注释,他们可能相信你的判断力从而要你去自己直接修改它们,但是除非他们愿意,你最好小心而且只作注释。

Bugzilla 是开放源代码的软件。它的源代码遵循 Mozilla Public License.

如果你的机器已经有了MySQLMySQL-related perl packages, 那么安装起来是非常直接的. 如果还没有安装这些基本的软件, 那么你需要做的第一件事情就是安装它们. 后面的事情就是建立一个web 服务器来运行cgi 脚本 .
如果想要bugzilla 正确运行, 你需要安装以下软件
:
1.MySQL
服务器和客户端软件
.
2.Perl(5.004
或更高版本
).
3.DBI perl
模块
.
4.Data::Dumper perl
模块
.
5.MySQL related perl module collection.
6.TimeDate perl module collection.
7.GD perl
模块(1.18 或更高版本
)
8.Chart::Base perl
模块(0.99 或更高版本
).
9.
你选择的web 服务器软件

1.1
下载和建立MySQL 数据库 .
大部分的linux 版本缺省都安装有MySQL 数据库, 这里就不多讲了. 但是如果你需要mysqld 接收大64K 长的包, 在启动
mysqld
时候加上
“-O max_allowed_packet=1M”.
1.2Perl(5.004
或更高版本
)
一样, 不多讲了
.
1.3DBI perl
模块

DBI
模块是由其它数据库相关Perl 模块使用的一般性Perl 模块. 下载了这个模块以后 .
1.
解包到一个目录中
.
2.
输入以下命令
:
perl Makefile.PL
make
make test
make install
对于绝大多数的perl 模块安装都是这样, 如果没有错误, 那么再往下
.
1.4Data::Dumper perl
模块

这个模块为Perl 提供数据结构一致性. 下载后安装过程同上 .
1.5MySQL related perl module collection
安装同上, 注意只选MySQL, 不选
mSQL.
1.6TimeDate perl module collection
安装同上
.
1.7GD perl
模块(1.18 或更高版本
)
下载GD 模块的同时别忘了下载gd-1.8.3, 解包后把GD 包中的path_gd.pl 拷备到gd-1.8.3 目录中, 并执行
perl
path_gd.pl,
然后先在gd-1.8.3 中编译

#./configure –enable-jpeg –enable-freetype –enable-xpm
# make
# make install
然后再到GD 的目录中, 象以上编译Perl 模块一样的过程 .
1.8Chart::Base perl
模块(0.99 或更高版本
)
下载后DBI 模块编译过程一样
.
1.9HTTP
服务器程序设置
.
bugzilla 的程序解包到一个目录中,HTTP 服务器设置中,srm.conf 中加入
ScriptAlias /bugzilla
“/home/httpd/bugzilla/”,
access.conf,bugzilla 目录应该有Options ExecCGI 选项
.
2.
安装Bugzilla 文件

你应该把bugzilla 文件解包到一个可以让缺省web 服务器的属主( 可能是nobody) 可以写的目录中 .
3.
建立MySQL 数据库

Bugzilla
经常以用户“bugs” 登录, 而且没有密码,MySQL 的权限维护是一个复杂的事情, 我把它们关掉了, 如果你也想这么
, 用下面的命令( 其中的HOSTNAME 用运行mysql 的机器名来代替 )
#mysql mysql
DELETE FROM host;
DELETE FROM user;
INSERT INTO host VALUES (‘localhost’,’%’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
INSERT INTO host VALUES (HOSTNAME,’%’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
INSERT INTO user VALUES
(‘localhost’,’root’,”,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
INSERT INTO user VALUES (HOSTNAME,”,”,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
INSERT INTO user VALUES
(HOSTNAME,’root’,”,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);
INSERT INTO user VALUES
(‘localhost’,”,”,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’,’Y’);

“Y” 的数量和版本有关,3.22.23b 的版本没问题. 运行完后, 运行mysqladmin reload 来重新装载许可列表. 下面你就可以运
行神奇的checksetup.pl 脚本, 非常感想 Holger
Schurig
写了这个脚本, 它会合理的设置权限, 并建立“data” 目录, 第一次运行时它会建立一个叫“localconfig” 的文件
,
你可能要检查并修改它. 重新运行这个脚本它就会真正的工作了. 如果没有成功建立数据库, 你可能要手工创建数据库, 并用

bugzilla
目录下面的mysql 目录下的脚本建立表了.( 可能会有一点小问题, 相信如果你懂一些SQL 语句, 会很容易解决的 )
如果这些都成功了, 那么你就可以用web 浏览了. 你要先注册( 最先的11 个用户为特殊用户, 有改参数, 添加项目等功能),

入你的e-mail 地址, 它会调用sendmail( 这就是说你需要装有sendmail, 要不然你就要改程序了) 把你的密码发到你的信箱
, 以后你就用这个密码来登录. 还有, 这个for mysqlbugzilla 可是从redhat 下载的, 你如果要用, 还要自己改一改它的
界面哟,关于mysql 的安全你也要考虑哟, 这里我就不讲了 .
以上测试是在Turbolinux workstation 6.1 上完成的。心动不如行动, 下面是下载的网址
.

Appendix A. Required Software Download Links

All of these sites are current as of February 17, 1999. Hopefully
they’ll stay current for a while.

MySQL: http://www.mysql.org

Perl: http://www.perl.org

CPAN: http://www.cpan.org

DBI Perl module: ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/DBI/

Data::Dumper module:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Data/

MySQL related Perl modules:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Mysql/

TimeDate Perl module collection:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Date/

GD Perl module: ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/GD/

Chart::Base module:
ftp://ftp.cpan.org/pub/perl/CPAN/modules/by-module/Chart/

文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成31716 人正在系统学习中

来源:cyhong826

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2009年8月20日
下一篇 2009年8月20日

相关推荐