目前比較流行的缺陷跟蹤系統(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)還是比較多的,比較有名的像Mercury的TestDirector,Seapine的Test Track Pro,TechExcel的DevTrack,Atlassian的JIRA以及今天要重點(diǎn)介紹的Mantis。
l TestDirector
在工業(yè)級(jí)軟件項(xiàng)目領(lǐng)域,由于Mercury是測(cè)試軟件領(lǐng)域的老大(比較有名的如LoadRunner、WinRunner等),因此它的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í)提供了CGI的Web訪問(wèn)接口,不過(guò)其高昂的價(jià)格也會(huì)讓很多公司望而卻步。其License分為兩種,Named和Floating,分別為US$295和US$795。
參考網(wǎng)址:http://www.seapine.com
l DevTrack
TechExcel可以說(shuō)是CRM系統(tǒng)以及HelpDesk系統(tǒng)的老大,它的產(chǎn)品在很多大公司(如Oracle、IBM等)里面都有應(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采用了目前比較流行的LAMP(Linux + Apache + MySQL + PHP)架構(gòu),不過(guò)也可以通過(guò)各個(gè)軟件的Windows版本進(jìn)行配置。本文中的運(yùn)行環(huán)境就是基于Windows平臺(tái)搭建的。
Mantis安裝的軟件環(huán)境:
OS:Windows 2003 Server
Application Server:Apache HTTP Server 2.0.54 or later
下載地址:http://httpd.apache.org/download.cgi
Database Server:MySQL 5.0.10a Beta or later
下載地址:http://dev.mysql.com/downloads/
Language:PHP 5.1.2
下載地址:http://down.phpv.net/soft/1300.htm
Mantis:Mantis 1.0.0
下載地址:http://www.mantisbt.org/download.php
Mantis安裝步驟
l 軟件安裝
首先安裝Apache HTTP Server以及MySQL,兩個(gè)都是Windows的安裝包,直接按照其安裝向?qū)нM(jìn)行安裝就可以了。在Apache服務(wù)器安裝時(shí)需要注意其端口不要與Windows的IIS服務(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)注釋去掉就可以了。
5.Mantis還需要用到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文件就修改好了,將其copy到windows的目錄下就可以了。
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 .cgi和AddHandler cgi-script .pl前的注釋
8.打開(kāi)AddType text/html .shtml和AddOutputFilter 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ù)版本能夠更加完善。