目前比较流行的缺陷跟踪系统简介

对于项目管理,缺陷跟踪是很重要的一个环节,它除了可以对需求的完成度进行控制,同时也可以对软件本身的质量进行控制,以保证软件开发迭代的顺利进行。原来的软件项目开发中的缺陷跟踪都是通过EXCEL表格的形式来完成的,这种表格虽然也可以进行项目管理和项目执行度的交互,但效率与实时性不高,同时也不好维护和统计,因此就出现了缺陷跟踪系统,通过软件技术来解决软件项目的管理问题。

目前缺陷跟踪系统还是比较多的,比较有名的像MercuryTestDirectorSeapineTest Track ProTechExcelDevTrackAtlassianJIRA以及今天要重点介绍的Mantis

l TestDirector

在工业级软件项目领域,由于Mercury是测试软件领域的老大(比较有名的如LoadRunnerWinRunner等),因此它的TD也成为了缺陷跟踪系统的标杆产品。其也是最早通过Web方式来进行管理的缺陷跟踪软件。不过由于其早期版本不能灵活的对项目管理流程进行配置,又由于其昂贵的价格,因此目前应用的企业也不是很多。

参考网址:http://www.mercury.com

l Test Track Pro

Seapine公司主要也是做项目管理软件的,Test Track Pro同其同门配置管理产品Surround SCM可以完美结合并实现完整的代码级管理。其主要架构为Client/Server,同时提供了CGIWeb访问接口,不过其高昂的价格也会让很多公司望而却步。其License分为两种,NamedFloating,分别为US$295US$795

参考网址:http://www.seapine.com

l DevTrack

TechExcel可以说是CRM系统以及HelpDesk系统的老大,它的产品在很多大公司(如OracleIBM等)里面都有应用,最新发布的DevTrack功能也确实强大,在其项目配置的部分可以提供用户对各级项目相关人员的UI进行配置,同时也提供了最大的灵活度给客户,可视化自定义跟踪流程可以实现任何复杂的配置处理。与Test Track Pro相比,其功能可谓更胜一筹,用他们自己的话讲:“DevTrack – The market leading defect and project tracking tool from TechExcel”。官方网站上没有详细的报价,只是对其SBE(Small Business Edition)有一个大概的报价是含维护费每人每年149美金。其价格也确实符合其产品的层次。

参考网址:http://www.techexcel.com

l JIRA

JIRA是目前比较流行的基于Java架构的缺陷跟踪系统,由于Atlassian公司对很多开源项目实行免费提供缺陷跟踪服务,因此在开源领域,其认知度比其他的产品要高得多,而且易用性也好一些。同时,开源则是其另一特色,在用户购买其软件的同时,也就将源代码也购置进来,方便做二次开发。正因为其开放性,价格上自然也相当不菲,对于中小型的软件企业做项目管理,则又要另寻出路。

参考网址:http://www.atlassian.com

l Mantis

Mantis是一个基于PHP技术的轻量级的缺陷跟踪系统,其功能与前面提及的JIRA系统类似,都是以Web操作的形式提供项目管理及缺陷跟踪服务。在功能上可能没有JIRA那么专业,界面也没有JIRA漂亮,但在实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用。不过目前的版本还存在一些问题,期待在今后的版本中能够得以完善。

参考网址:http://www.mantisbt.org

Mantis安装准备

Mantis采用了目前比较流行的LAMPLinux + Apache + MySQL + PHP)架构,不过也可以通过各个软件的Windows版本进行配置。本文中的运行环境就是基于Windows平台搭建的。

Mantis安装的软件环境:

OSWindows 2003 Server

Application ServerApache 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 ServerMySQL <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/

LanguagePH<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False"></chsdate>P 5.1.2

下载地址:http://down.phpv.net/soft/1300.htm

MantisMantis <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服务器安装时需要注意其端口不要与WindowsIIS服务冲突,建议使用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

这些信息在原有配置文件中都是存在的,只要将其前面的分号注释去掉就可以了。

5Mantis还需要用到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文件就修改好了,将其copywindows的目录下就可以了。

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 .cgiAddHandler cgi-script .pl前的注释

8.打开AddType text/html .shtmlAddOutputFilter 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多资料才将其配置成功,而且还有一些细节问题,如中文方面的支持等,不过瑕不掩瑜,其功能还是可以满足很多项目的需要的。

期待后续版本能够更加完善。