目前比較流行的缺陷跟蹤系統(tǒng)簡(jiǎn)介

對(duì)于項(xiàng)目管理,缺陷跟蹤是很重要的一個(gè)環(huán)節(jié),它除了可以對(duì)需求的完成度進(jìn)行控制,同時(shí)也可以對(duì)軟件本身的質(zhì)量進(jìn)行控制,以保證軟件開(kāi)發(fā)迭代的順利進(jìn)行。原來(lái)的軟件項(xiàng)目開(kāi)發(fā)中的缺陷跟蹤都是通過(guò)EXCEL表格的形式來(lái)完成的,這種表格雖然也可以進(jìn)行項(xiàng)目管理和項(xiàng)目執(zhí)行度的交互,但效率與實(shí)時(shí)性不高,同時(shí)也不好維護(hù)和統(tǒng)計(jì),因此就出現(xiàn)了缺陷跟蹤系統(tǒng),通過(guò)軟件技術(shù)來(lái)解決軟件項(xiàng)目的管理問(wèn)題。

目前缺陷跟蹤系統(tǒng)還是比較多的,比較有名的像MercuryTestDirectorSeapineTest Track ProTechExcelDevTrackAtlassianJIRA以及今天要重點(diǎn)介紹的Mantis

l TestDirector

在工業(yè)級(jí)軟件項(xiàng)目領(lǐng)域,由于Mercury是測(cè)試軟件領(lǐng)域的老大(比較有名的如LoadRunnerWinRunner等),因此它的TD也成為了缺陷跟蹤系統(tǒng)的標(biāo)桿產(chǎn)品。其也是最早通過(guò)Web方式來(lái)進(jìn)行管理的缺陷跟蹤軟件。不過(guò)由于其早期版本不能靈活的對(duì)項(xiàng)目管理流程進(jìn)行配置,又由于其昂貴的價(jià)格,因此目前應(yīng)用的企業(yè)也不是很多。

參考網(wǎng)址:http://www.mercury.com

l Test Track Pro

Seapine公司主要也是做項(xiàng)目管理軟件的,Test Track Pro同其同門(mén)配置管理產(chǎn)品Surround SCM可以完美結(jié)合并實(shí)現(xiàn)完整的代碼級(jí)管理。其主要架構(gòu)為Client/Server,同時(shí)提供了CGIWeb訪問(wèn)接口,不過(guò)其高昂的價(jià)格也會(huì)讓很多公司望而卻步。其License分為兩種,NamedFloating,分別為US$295US$795

參考網(wǎng)址:http://www.seapine.com

l DevTrack

TechExcel可以說(shuō)是CRM系統(tǒng)以及HelpDesk系統(tǒng)的老大,它的產(chǎn)品在很多大公司(如OracleIBM等)里面都有應(yīng)用,最新發(fā)布的DevTrack功能也確實(shí)強(qiáng)大,在其項(xiàng)目配置的部分可以提供用戶對(duì)各級(jí)項(xiàng)目相關(guān)人員的UI進(jìn)行配置,同時(shí)也提供了最大的靈活度給客戶,可視化自定義跟蹤流程可以實(shí)現(xiàn)任何復(fù)雜的配置處理。與Test Track Pro相比,其功能可謂更勝一籌,用他們自己的話講:“DevTrack – The market leading defect and project tracking tool from TechExcel”。官方網(wǎng)站上沒(méi)有詳細(xì)的報(bào)價(jià),只是對(duì)其SBE(Small Business Edition)有一個(gè)大概的報(bào)價(jià)是含維護(hù)費(fèi)每人每年149美金。其價(jià)格也確實(shí)符合其產(chǎn)品的層次。

參考網(wǎng)址:http://www.techexcel.com

l JIRA

JIRA是目前比較流行的基于Java架構(gòu)的缺陷跟蹤系統(tǒng),由于Atlassian公司對(duì)很多開(kāi)源項(xiàng)目實(shí)行免費(fèi)提供缺陷跟蹤服務(wù),因此在開(kāi)源領(lǐng)域,其認(rèn)知度比其他的產(chǎn)品要高得多,而且易用性也好一些。同時(shí),開(kāi)源則是其另一特色,在用戶購(gòu)買(mǎi)其軟件的同時(shí),也就將源代碼也購(gòu)置進(jìn)來(lái),方便做二次開(kāi)發(fā)。正因?yàn)槠溟_(kāi)放性,價(jià)格上自然也相當(dāng)不菲,對(duì)于中小型的軟件企業(yè)做項(xiàng)目管理,則又要另尋出路。

參考網(wǎng)址:http://www.atlassian.com

l Mantis

Mantis是一個(gè)基于PHP技術(shù)的輕量級(jí)的缺陷跟蹤系統(tǒng),其功能與前面提及的JIRA系統(tǒng)類似,都是以Web操作的形式提供項(xiàng)目管理及缺陷跟蹤服務(wù)。在功能上可能沒(méi)有JIRA那么專業(yè),界面也沒(méi)有JIRA漂亮,但在實(shí)用性上足以滿足中小型項(xiàng)目的管理及跟蹤。更重要的是其開(kāi)源,不需要負(fù)擔(dān)任何費(fèi)用。不過(guò)目前的版本還存在一些問(wèn)題,期待在今后的版本中能夠得以完善。

參考網(wǎng)址:http://www.mantisbt.org

Mantis安裝準(zhǔn)備

Mantis采用了目前比較流行的LAMPLinux + Apache + MySQL + PHP)架構(gòu),不過(guò)也可以通過(guò)各個(gè)軟件的Windows版本進(jìn)行配置。本文中的運(yùn)行環(huán)境就是基于Windows平臺(tái)搭建的。

Mantis安裝的軟件環(huán)境:

OSWindows 2003 Server

Application ServerApache HTTP Server 2.0.54 or later

下載地址:http://httpd.apache.org/download.cgi

Database ServerMySQL 5.0.10a Beta or later

下載地址:http://dev.mysql.com/downloads/

LanguagePHP 5.1.2

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

MantisMantis 1.0.0

下載地址:http://www.mantisbt.org/download.php

Mantis安裝步驟

l 軟件安裝

首先安裝Apache HTTP Server以及MySQL,兩個(gè)都是Windows的安裝包,直接按照其安裝向?qū)нM(jìn)行安裝就可以了。在Apache服務(wù)器安裝時(shí)需要注意其端口不要與WindowsIIS服務(wù)沖突,建議使用8080或者其他的端口來(lái)提供服務(wù)。對(duì)于MySQL可能會(huì)涉及到缺省字符集設(shè)置的問(wèn)題,可以設(shè)置成gb2312或者utf8,不過(guò)由于目前mantis本身的問(wèn)題,目前對(duì)中文輸入信息的支持不是很好,官網(wǎng)上說(shuō)在1.1.0版本上解決這個(gè)問(wèn)題。

安裝好應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)服務(wù)器后,將php的安裝包解壓到一個(gè)目錄下,最好是比較容易訪問(wèn)的,如d:PHP5,以免環(huán)境設(shè)置時(shí)造成麻煩。再將下載好的mantis壓縮包解壓到相應(yīng)的目錄,如d:mantis,這樣,安裝就告一段落,下面講解各個(gè)軟件的配置步驟。

l PHP的配置

先將PHP解壓目錄下的libmysql.dll文件復(fù)制到windows/system32目錄下,然后將php.ini-recommended文件更名為php.ini并進(jìn)行修改。

這個(gè)文件需要修改幾個(gè)地方:

1.首先是memory_limit = 20M ; Maximum amount of memory a script may consume (8MB),我在這里設(shè)置為20M,以保證文件上傳時(shí)的緩沖。

2.然后設(shè)置extension_dir = "d:/PHP5/ext",這個(gè)是需要加載的外部庫(kù)的路徑。

3.保證file_uploads = On,并設(shè)置upload_max_filesize = 20M,這個(gè)是控制最大上傳文件的大小。設(shè)置post_max_size = 20M,保證最大傳載上限。

4.接下來(lái)就是設(shè)置需要加載的外部庫(kù)文件:

extension=php_dba.dll

extension=php_dbase.dll

extension=php_filepro.dll

extension=php_gd2.dll

extension=php_imap.dll

extension=php_mysql.dll

這些信息在原有配置文件中都是存在的,只要將其前面的分號(hào)注釋去掉就可以了。

5Mantis還需要用到PHP的郵件系統(tǒng),因此這里還需要配置一下郵件服務(wù)器信息

[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,因此還需要在該配置文件中設(shè)置MySQL的環(huán)境信息。

mysql.default_port = 3306

mysql.default_host = localhost

mysql.default_user = root

mysql.default_password = 1234

OK,到目前為止,php.ini文件就修改好了,將其copywindows的目錄下就可以了。

l Apache服務(wù)器的配置

Apache服務(wù)器的配置過(guò)程主要是修改其conf目錄下的httpd.conf文件。

1.打開(kāi)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也作為其默認(rèn)首頁(yè)。

3.打開(kāi)ScriptAlias /cgi-bin/ "D:/Apache/Httpd/Apache2/cgi-bin/"的注釋,讓apache支持CGI解析功能。

AllowOverride None

Options None

Order allow,deny

Allow from all

4.增加ScriptAlias /php/ "d:/PHP5/",配置php5腳本執(zhí)行環(huán)境

5.在AddCharset shift_jis .sjis后加入AddDefaultCharset GB2312,設(shè)置缺省字符集

6.在AddType application/x-gzip .gz .tgz下面增加一行

AddType application/x-httpd-php .php .php5 .php4 .php3

保證Apache可以識(shí)別php文件并進(jìn)行解析

7.打開(kāi)AddHandler cgi-script .cgiAddHandler cgi-script .pl前的注釋

8.打開(kāi)AddType text/html .shtmlAddOutputFilter INCLUDES .shtml前的注釋

9.增加Action application/x-httpd-php "/php/php-cgi.exe"

10.然后是設(shè)置Mantis環(huán)境

Alias /bugtrack "d:/mantis/"

Options Indexes MultiViews Includes FollowSymLinks +ExecCGI

AllowOverride None

Order allow,deny

Allow from all

其中/bugtrack是訪問(wèn)URI接口,"d:/mantis/"是其映射的Mantis的實(shí)際路徑。

l MySQL配置

MySQL的設(shè)置比較簡(jiǎn)單,首先在MySQL中先建立一個(gè)用戶,用戶名和密碼可以都取mantis,新建一個(gè)用戶的好處是容易進(jìn)行權(quán)限控制,然后再建立一個(gè)mantis的庫(kù),并把mantis的所有權(quán)限賦給該用戶。

l Mantis的配置

然后就是Mantis的配置了:

1.先將解壓目錄下的config_inc.php.sample文件更名為config_inc.php并打開(kāi),按照下述信息進(jìn)行修改和配置:

# set these values to match your setup

這里的配置信息要與之前MySQL中的信息相對(duì)應(yīng)

$g_hostname = "localhost"; 數(shù)據(jù)庫(kù)主機(jī)IP

$g_db_username = "mantis"; 數(shù)據(jù)庫(kù)用戶名

$g_db_password = "mantis"; 數(shù)據(jù)庫(kù)密碼

$g_database_name = "mantis"; 數(shù)據(jù)庫(kù)名

$g_db_type = "mysql"; 數(shù)據(jù)庫(kù)類型,缺省為mysql

# Jed complement

$g_path = "http://localhost:8080/bugtrack/"; 這里需要設(shè)置mantis發(fā)布的URL,其中bugtrack/要與之前在apache服務(wù)器中設(shè)置的環(huán)境相對(duì)應(yīng)

$g_icon_path = $g_path."images/";

$g_absolute_path = "d:/mantis/"; mantis解壓后的絕對(duì)路徑,很多圖片信息需要直接定位到絕對(duì)路徑才能顯示

$g_use_iis = OFF; 由于使用的是apache服務(wù)器,因此將該項(xiàng)設(shè)置為OFF

$g_show_version = ON;

#$g_default_language = 'chinese_simplified'; 這是一條注釋信息,由于其字符集支持的問(wèn)題,在官網(wǎng)上查找到需要設(shè)置為UTF8才能正常使用,不過(guò)修改后問(wèn)題仍然沒(méi)有得到解決。

$g_default_language = 'chinese_simplified_utf8'; 這一條就是設(shè)置缺省語(yǔ)言了,其主要是確認(rèn)頁(yè)面顯示語(yǔ)言

$g_fallback_language = 'chinese_simplified_utf8'; 這一條功能同上

# --- email variables -------------

這一部分都是設(shè)置系統(tǒng)郵件的,包括管理員以及網(wǎng)管的郵箱,便于通過(guò)郵件系統(tǒng)通知各個(gè)使用者各種信息

$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.

這部分是設(shè)置文件上傳參數(shù)的

$g_allow_file_upload = ON; 允許文件上傳

$g_file_upload_method = DISK; 上傳方式是DISK

$g_max_file_size = 20000000 最大上傳文件限制為20M,這個(gè)值不能超過(guò)之前在PHP環(huán)境配置中的文件上傳限制

2.啟動(dòng)Mysql服務(wù)以及Apache服務(wù),開(kāi)始進(jìn)入Mantis的安裝。打開(kāi)瀏覽器,輸入http://localhost:8080/bugtrack/admin/install.php,進(jìn)入安裝頁(yè)面,填寫(xiě)好各種數(shù)據(jù)庫(kù)信息,提交該頁(yè)面,則系統(tǒng)會(huì)在數(shù)據(jù)庫(kù)中將需要的庫(kù)表自動(dòng)建立。安裝完成后,可以進(jìn)入http://localhost:8080/bugtrack/admin/index.php,來(lái)檢查數(shù)據(jù)庫(kù)建立是否正確。

3.之后就可以用http://localhost:8080/bugtrack/login_page.php來(lái)進(jìn)行登錄了,系統(tǒng)會(huì)有一個(gè)初始管理員帳號(hào)administrator,密碼是root。進(jìn)入系統(tǒng)后就可以建立各種用戶以及構(gòu)建缺陷跟蹤的項(xiàng)目了。

后記

Mantis的安裝過(guò)程相對(duì)其他產(chǎn)品確實(shí)有點(diǎn)復(fù)雜,大概花了半天的時(shí)間,查了N多資料才將其配置成功,而且還有一些細(xì)節(jié)問(wèn)題,如中文方面的支持等,不過(guò)瑕不掩瑜,其功能還是可以滿足很多項(xiàng)目的需要的。

期待后續(xù)版本能夠更加完善。