软件测试管理工具bugzilla-2.18rc2安装(Windows 2000)全攻略 
一、前言 
软件测试是软件开发过程中非常重要的阶段,著名的软件工程书籍人月神话中就有这样的描述:“编码在整个软件周期中占用1/6的时间,而测试占用的时间就是1/4”,足以看出测试的重要性。软件测试管理工具有很多,Testdirector ,ClearQuest, BMS 这些产品功能复杂,在小型的软件项目中根本是杀鸡用牛刀,同时昂贵的软件价格也使国内的众多软件公司望而却步,  
所以现在很多软件公司都会使用bugzilla批这个著名的开源软件测试管理工具。安装这个工具需要一些编程的基本知识,由于没有学过perl及cgi编程的一些基本知识,我在安装这个工具时花费了不少时间.接下来就把安装过程中的一些技巧和经验介绍出来,以让各位同仁后来者们少走弯路。 
二、下面是我安装过程中用到的软件清单: 
1、? 软件测试管理平台 :bugzilla-2.18rc2 
下载地址:http://www.bugzilla.org/download/ 
2、后台数据库:mysql-4_0_14(更高版本也应该可以,这里使用的是这个版本) 
?????? 下载地址:www.mysql.com 
3、CGI及PL语言平台:ActivePerl-5.8.4.810-MSWin32-x86 
下载地址:http://www.activestate.com/Products/Download/Register.plex?id=ActivePerl 
4、需要用到的Perl Module? -? 感谢 天下 (Hou Guangmin)收集整理 
下载地址:http://sourceforge.net/project/showfiles.php?group_id=75477&package_id=111950 
三、安装工具的后台数据库平台mysql-4_0_14 
?????? 因为以前安装的是Mysql的较低版本(3.x.x),安装过程中发现bugzilla-2.18rc2并不支持。而这时你要升级到新的Mysql可能会有问题,因为以前的Mysql版本运行时已经把这个版本的一些注册信息写入了注册表,所以只有删除注册表中所有含有字符mysql的项,mysql-4_0_14才能正常使用;这也是我测试的结果。 
?? mysql-4_0_14安装成功运行后。 
1、先修改root密码(假如修改之后密码为aaa) 
D:\>cd mysql-4_0_14 
D:\mysql-4_0_14>cd bin  
D:\mysql-4_0_14\bin>mysql -u root mysql 
mysql>UPDATE user SET Password=PASSWORD(‘aaa’) WHERE user='root';  
mysql>FLUSH PRIVILEGES;  
2、创建bugs用户,并赋给相应的权限(密码也为bugs) 
?? mysql>GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, DROP, REFERENCES, LOCK TABLES, CREATE TEMPORARY TABLES ON bugs.* TO bugs@localhost IDENTIFIED BY 'bugs’ 
mysql> FLUSH PRIVILEGES;  
3、创建bug数据库 
mysql>create database bugs; 
mysql>exit 
四、安装CGI及PL语言平台:ActivePerl-5.8.4.810-MSWin32-x86 
1、安装Perl很容易,假设安装的目录为D:\Perl 
2、? 安装Perl Module: 
(1)有两个MODULE需要下载最新的版本: 
(A)Chart(2,3,0,0)下载地址: 
http://glob.com.au/ppm/x86/Chart.tar.gz??  
(B)DBI(1,37,0,0) 下载地址: 
http://www.apache.org/dist/perl/win32-bin/ppms/x86/DBI.tar.gz  
替换上面下载的Perl Module中的两个相同文件. 
并修改文件Chart.ppd的版本号为2,3,0,0 
修改文件DBI.ppd的版本号为1,37,0,0 
(2) 在安装文件installModule.bat的最后加入一行 
call ppm install Authen::SASL 
(3)运行installModule.bat 
五、配置IIS: 
1.???打开【控制面板】->【管理工具】->【Internet 服务管理器】,在【默认 Web 站点】点按右键选择【属性】->【主目录】->【配置…】,在【应用程序映射】中点击【添加】,增加如下资料: 
2.???Perl脚本解析器:(*.pl)  
可执行文件: D:\Perl\bin\perl.exe ?-T "%s" %s 
扩展名: .pl 
仅限于: GET,HEAD,POST 
备注:请注意可执行文件后面的 –T参数,如果没有这个参数运行程序时会报错:Too late for "-T" option at D:\bugzilla-2.18rc2\index.cgi line 1. 
3.???CGI脚本解析器:(*.cgi) 请注意后面的 –T参数 
可执行文件: D:\Perl\bin\perl.exe –T "%s" %s 
扩展名: .cgi 
仅限于: GET,HEAD,POST 
备注:请注意可执行文件后面的 –T参数,如果没有这个参数运行程序时会报错:Too late for "-T" option at D:\bugzilla-2.18rc2\index.cgi line 1. 
4.???默认 Web 站点】->【新建】->【虚拟目录】: 
别名:Bugzilla,访问目录:D:\bugzilla-2.18rc2,访问权限中增加【写入】权限。 
5.???选择刚建立的虚拟目录Bugzilla,右键选择【属性】-> 【文档】。【默认文档】中增加index.cgi。 
六、修改一些适合WINDOWS2K平台发送邮件的脚本 
1、打开D:\ bugzilla-2.18rc2\globals.pl文件,在Use Bugzilla前面加入如下的邮件发送代码: 
sub SendMail 
{ 
??? my ($msg,$person) = @_; 
??? use Net::SMTP; 
??? my $smtp_server = Param("mailserver"); 
??? my $smtp_user = Param("mailuser"); 
??? my $smtp_pass = Param("mailpass"); 
????????? #$person .= Param('emailsuffix'); 
?????? my $smtp = Net::SMTP->new($smtp_server) || 
????????????? die 'Cannot connect to server \'$smtp_server\''; 
?????? $smtp->auth($smtp_user,$smtp_pass); 
?????? $smtp->mail($smtp_user); 
?????? $smtp->to($person); 
?????? $smtp->data(); 
?????? $smtp->datasend($msg); 
?????? $smtp->dataend(); 
?????? $smtp->quit; 
} 
2、打开D:\ bugzilla-2.18rc2\defparams.pl文件,在文件后面加入以下几个参数: 
(注:以下的smtp.163.com ; username ; password换成你用的smtp服务器,用户名及密码) 
? { 
?? name => 'mailserver', 
?? desc => 'Mail-Server assigned by honggb in 2004.09.20!', 
?? type => 't', 
?? default => 'smtp.163.com' 
? }, 
? 
? { 
?? name => 'mailuser', 
?? desc => 'Mail-User assigned by honggb in 2004.09.20!', 
?? type => 't', 
?? default => 'username' 
? },?  
? 
? { 
?? name => 'mailpass', 
?? desc => 'Mail-Pass assigned by Jackey in 2004.09.20!', 
?? type => 't', 
?? default => 'password' 
? }, 
3、修改CGI.pl中相应发送EMAIL段为(注释几行,增加一行) 
# open SENDMAIL, "|/usr/lib/sendmail -t -i"; 
#??? print SENDMAIL $msg; 
#??? close SENDMAIL; 
?????? SendMail($msg,$login); 
4、? 修改importxml.pl中相应发送EMAIL段为(注释几行,增加一行) 
#? open(SENDMAIL, 
#??? "|/usr/lib/sendmail -ODeliveryMode=background -t -i") || 
#????? die "Can't open sendmail"; 
#? print SENDMAIL $header . $message . "\n"; 
#? close SENDMAIL; 
? SendMail($header . $message . "\n",$to); 
5、? 修改move.pl中相应发送EMAIL段为(注释几行,增加一行) 
#open(SENDMAIL, 
#? "|/usr/lib/sendmail -ODeliveryMode=background -t -i") || 
#??? die "Can't open sendmail"; 
#print SENDMAIL $msg; 
#close SENDMAIL; 
?????? SendMail($msg,$to); 
6、? 修改whineatnews.pl中相应发送EMAIL段为(注释几行,增加一行) 
? #? open SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i" 
? #????? or die "Can't open sendmail"; 
? #? print SENDMAIL $msg; 
? #? close SENDMAIL; 
? #? print "$email????? " . join(" ", @{$bugs{$email}}) . "\n"; 
? ?????? SendMail($msg,$substs{'userid'}); 
七、安装bugzilla-2.18rc2 
1、? 在DOS提示下bugzilla-2.18rc2目录下键入: 
d: \bugzilla-2.18rc2\perl checksetup.pl 
若提示mysql未启动,请启动Mysql,并确保启动成功; 
若提示连接mysql用户名,密码错误,找到并打开文件localconfig 
修改下面一段如下面的值 
$db_pass = 'bugs'; 
2、? 连接数据库成功并创建数据结构成功后,接下就是输入一些基本的管理员数据信息。 
很简单的,就不多介绍了. 
? 
参考资料: 1.Win2000下Bugzilla安装实录: 
http://dev.csdn.net/develop/article/24/article/24/article/24/24091.shtm 
2.Bugzilla Windows安装红宝书: 
http://blog.msnfans.com/forrest/archives/38.html 
3.www.apache.org 
4.www.bugzilla.org 
?  
 
  |