目前比较流行的缺陷跟踪系统简介
对于项目管理,缺陷跟踪是很重要的一个环节,它除了可以对需求的完成度进行控制,同时也可以对软件本身的质量进行控制,以保证软件开发迭代的顺利进行。原来的软件项目开发中的缺陷跟踪都是通过EXCEL表格的形式来完成的,这种表格虽然也可以进行项目管理和项目执行度的交互,但效率与实时性不高,同时也不好维护和统计,因此就出现了缺陷跟踪系统,通过软件技术来解决软件项目的管理问题。
目前缺陷跟踪系统还是比较多的,比较有名的像Mercury的TestDirector,Seapine的Test Track Pro,TechExcel的DevTrack,Atlassian的JIRA以及今天要重点介绍的Mantis。
l TestDirector
在工业级软件项目领域,由于Mercury是测试软件领域的老大(比较有名的如LoadRunner、WinRunner等),因此它的TD也成为了缺陷跟踪系统的标杆产品。其也是最早通过Web方式来进行管理的缺陷跟踪软件。不过由于其早期版本不能灵活的对项目管理流程进行配置,又由于其昂贵的价格,因此目前应用的企业也不是很多。
l Test Track Pro
Seapine公司主要也是做项目管理软件的,Test Track Pro同其同门配置管理产品Surround SCM可以完美结合并实现完整的代码级管理。其主要架构为Client/Server,同时提供了CGI的Web访问接口,不过其高昂的价格也会让很多公司望而却步。其License分为两种,Named和Floating,分别为US$295和US$795。
l DevTrack
TechExcel可以说是CRM系统以及HelpDesk系统的老大,它的产品在很多大公司(如Oracle、IBM等)里面都有应用,最新发布的DevTrack功能也确实强大,在其项目配置的部分可以提供用户对各级项目相关人员的UI进行配置,同时也提供了最大的灵活度给客户,可视化自定义跟踪流程可以实现任何复杂的配置处理。与Test Track Pro相比,其功能可谓更胜一筹,用他们自己的话讲:“DevTrack – The market leading defect and project tracking tool from TechExcel”。官方网站上没有详细的报价,只是对其SBE(Small Business Edition)有一个大概的报价是含维护费每人每年149美金。其价格也确实符合其产品的层次。
l JIRA
JIRA是目前比较流行的基于Java架构的缺陷跟踪系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。正因为其开放性,价格上自然也相当不菲,对于中小型的软件企业做项目管理,则又要另寻出路。
l Mantis
Mantis是一个基于PHP技术的轻量级的缺陷跟踪系统,其功能与前面提及的JIRA系统类似,都是以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上可能没有JIRA那么专业,界面也没有JIRA漂亮,但在实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。不过目前的版本还存在一些问题,期待在今后的版本中能够得以完善。
Mantis安装准备
Mantis采用了目前比较流行的LAMP(Linux + Apache + MySQL + PHP)架构,不过也可以通过各个软件的Windows版本进行配置。本文中的运行环境就是基于Windows平台搭建的。
Mantis安装的软件环境:
OS:Windows 2003 Server
Application Server:Apache HTTP Server <chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>2.0.54 or later
下载地址:http://httpd.apache.org/download.cgi
Database Server:MySQL <chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>5.<chmetcnv unitname="a" sourcevalue=".1" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>0.10a Beta or later
下载地址:http://dev.mysql.com/downloads/
Language:PH<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>P 5.1.2
下载地址:http://down.phpv.net/soft/1300.htm
Mantis:Mantis <chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>1.0.0
下载地址:http://www.mantisbt.org/download.php
Mantis安装步骤
l 软件安装
首先安装Apache HTTP Server以及MySQL,两个都是Windows的安装包,直接按照其安装向导进行安装就可以了。在Apache服务器安装时需要注意其端口不要与Windows的IIS服务冲突,建议使用8080或者其他的端口来提供服务。对于MySQL可能会涉及到缺省字符集设置的问题,可以设置成gb2312或者utf8,不过由于目前mantis本身的问题,目前对中文输入信息的支持不是很好,官网上说在<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>1.1.0版本上解决这个问题。
安装好应用服务器和数据库服务器后,将php的安装包解压到一个目录下,最好是比较容易访问的,如d:PHP5,以免环境设置时造成麻烦。再将下载好的mantis压缩包解压到相应的目录,如d:mantis,这样,安装就告一段落,下面讲解各个软件的配置步骤。
l PHP的配置
先将PHP解压目录下的libmysql.dll文件复制到windows/system32目录下,然后将php.ini-recommended文件更名为php.ini并进行修改。
这个文件需要修改几个地方:
1.首先是memory_limit = <chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>20M ; Maximum amount of memory a script may consume (8MB),我在这里设置为<chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>20M,以保证文件上传时的缓冲。
2.然后设置extension_dir = "d:/PHP5/ext",这个是需要加载的外部库的路径。
3.保证file_uploads = On,并设置upload_max_filesize = <chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>20M,这个是控制最大上传文件的大小。设置post_max_size = <chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>20M,保证最大传载上限。
4.接下来就是设置需要加载的外部库文件:
extension=php_dba.dll
extension=php_dbase.dll
extension=php_filepro.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mysql.dll
这些信息在原有配置文件中都是存在的,只要将其前面的分号注释去掉就可以了。
5.Mantis还需要用到PHP的邮件系统,因此这里还需要配置一下邮件服务器信息
[mail function]
; For Win32 only.
SMTP = 210.22.139.90
smtp_port = 25
; For Win32 only.
sendmail_from = sukiyou@yeah.net@yeah.net
6.由于用到了MySQL,因此还需要在该配置文件中设置MySQL的环境信息。
mysql.default_port = 3306
mysql.default_host = localhost
mysql.default_user = root
mysql.default_password = 1234
OK,到目前为止,php.ini文件就修改好了,将其copy到windows的目录下就可以了。
l Apache服务器的配置
Apache服务器的配置过程主要是修改其conf目录下的httpd.conf文件。
1.打开httpd.conf文件,在#LoadModule ssl_module modules/mod_ssl.so下面加入LoadModule php5_module "d:/php5/php5apache2.dll",保证php5apache2.dll文件在php的解压目录中。
2.在DirectoryIndex index.html index.html.var一行后加入index.php,使index.php也作为其默认首页。
3.打开ScriptAlias /cgi-bin/ "D:/Apache/Httpd/Apache2/cgi-bin/"的注释,让apache支持CGI解析功能。
<directory>
AllowOverride None
Options None
Order allow,deny
Allow from all
</directory>
4.增加ScriptAlias /php/ "d:/PHP5/",配置php5脚本执行环境
5.在AddCharset shift_jis .sjis后加入AddDefaultCharset GB2312,设置缺省字符集
6.在AddType application/x-gzip .gz .tgz下面增加一行
AddType application/x-httpd-php .php .php5 .php4 .php3
保证Apache可以识别php文件并进行解析
7.打开AddHandler cgi-script .cgi和AddHandler cgi-script .pl前的注释
8.打开AddType text/html .shtml和AddOutputFilter INCLUDES .shtml前的注释
9.增加Action application/x-httpd-php "/php/php-cgi.exe"
10.然后是设置Mantis环境
Alias /bugtrack "d:/mantis/"
<location>
Options Indexes MultiViews Includes FollowSymLinks +ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</location>
其中/bugtrack是访问URI接口,"d:/mantis/"是其映射的Mantis的实际路径。
l MySQL配置
MySQL的设置比较简单,首先在MySQL中先建立一个用户,用户名和密码可以都取mantis,新建一个用户的好处是容易进行权限控制,然后再建立一个mantis的库,并把mantis的所有权限赋给该用户。
l Mantis的配置
然后就是Mantis的配置了:
1.先将解压目录下的config_inc.php.sample文件更名为config_inc.php并打开,按照下述信息进行修改和配置:
# set these values to match your setup
这里的配置信息要与之前MySQL中的信息相对应
$g_hostname = "localhost"; 数据库主机IP
$g_db_username = "mantis"; 数据库用户名
$g_db_password = "mantis"; 数据库密码
$g_database_name = "mantis"; 数据库名
$g_db_type = "mysql"; 数据库类型,缺省为mysql
# Jed complement
$g_path = "http://localhost:8080/bugtrack/"; 这里需要设置mantis发布的URL,其中bugtrack/要与之前在apache服务器中设置的环境相对应
$g_icon_path = $g_path."images/";
$g_absolute_path = "d:/mantis/"; mantis解压后的绝对路径,很多图片信息需要直接定位到绝对路径才能显示
$g_use_iis = OFF; 由于使用的是apache服务器,因此将该项设置为OFF
$g_show_version = ON;
#$g_default_language = 'chinese_simplified'; 这是一条注释信息,由于其字符集支持的问题,在官网上查找到需要设置为UTF8才能正常使用,不过修改后问题仍然没有得到解决。
$g_default_language = 'chinese_simplified_utf8'; 这一条就是设置缺省语言了,其主要是确认页面显示语言
$g_fallback_language = 'chinese_simplified_utf8'; 这一条功能同上
# --- email variables -------------
这一部分都是设置系统邮件的,包括管理员以及网管的邮箱,便于通过邮件系统通知各个使用者各种信息
$g_administrator_email = 'sukiyou'@yeah.net;
$g_webmaster_email = 'sukiyou'@yeah.net;
# the "From: " field in emails
$g_from_email = 'noreply@yeah.net';
# the return address for bounced mail
$g_return_path_email = 'sukiyou'@yeah.net;
# --- file upload settings --------
# This is the master setting to disable *all* file uploading functionality
#
# The default value is ON but you must make sure file uploading is enabled
# in PHP as well. You may need to add "file_uploads = TRUE" to your php.ini.
这部分是设置文件上传参数的
$g_allow_file_upload = ON; 允许文件上传
$g_file_upload_method = DISK; 上传方式是DISK
$g_max_file_size = 20000000 最大上传文件限制为<chmetcnv unitname="m" sourcevalue="20" hasspace="False" negative="False" numbertype="1" tcsc="0"></chmetcnv>20M,这个值不能超过之前在PHP环境配置中的文件上传限制
2.启动Mysql服务以及Apache服务,开始进入Mantis的安装。打开浏览器,输入http://localhost:8080/bugtrack/admin/install.php,进入安装页面,填写好各种数据库信息,提交该页面,则系统会在数据库中将需要的库表自动建立。安装完成后,可以进入http://localhost:8080/bugtrack/admin/index.php,来检查数据库建立是否正确。
3.之后就可以用http://localhost:8080/bugtrack/login_page.php来进行登录了,系统会有一个初始管理员帐号administrator,密码是root。进入系统后就可以建立各种用户以及构建缺陷跟踪的项目了。
后记
Mantis的安装过程相对其他产品确实有点复杂,大概花了半天的时间,查了N多资料才将其配置成功,而且还有一些细节问题,如中文方面的支持等,不过瑕不掩瑜,其功能还是可以满足很多项目的需要的。
期待后续版本能够更加完善。