软件测试管理工具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_14cd bin
D:\mysql-4_0_14\binmysql -u root mysql
mysqlUPDATE user SET Password=PASSWORD(‘aaa’) WHERE user='root';
mysqlFLUSH PRIVILEGES;
2、创建bugs用户,并赋给相应的权限(密码也为bugs)
?? mysqlGRANT 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数据库
mysqlcreate database bugs;
mysqlexit
四、安装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
?