缺陷跟蹤系統簡介
缺陷跟蹤系統(Defect Trace System )簡稱DTS
對於項目管理,缺陷跟蹤是很重要的一個環節,它除了可以對需求的完成度進行控制,同時也可以對軟體本身的質量進行控制,以保證軟體開發疊代的順利進行。原來的軟體項目開發中的缺陷跟蹤都是通過EXCEL表格的形式來完成的,這種表格雖然也可以進行項目管理和項目執行度的互動,但效率與實時性不高,同時也不 好維護和統計,因此就出現了缺陷跟蹤系統,通過軟體技術來解決軟體項目的管理問題。
測試的重要性主要體現在:
1、確保軟體需求和設計的一致性;
2、儘早的發現問題,降低維護成本;
3、經驗表明,測試投入通常要占到研發投入的30%~50%;
在項目或產品研發過程中,經常遇到以下問題:
已經修改的錯誤重複出現;
無法清晰的描述當前版本的缺陷狀態;
對測試中發現的問題,主要依靠記憶得方式來記錄;能記錄的數量有限,並且經
常遺忘;
採用了記錄單或問題表單的方式來記錄缺陷,但只是簡單的記錄了錯誤內容,沒
有分析和流程跟蹤能力;
研發經驗教訓得不到繼承,重複同樣的錯誤;
缺陷跟蹤管理系統可以規範項目中開發、測試、缺陷處理的流程.
缺陷跟蹤系統的使用
缺陷跟蹤系統的主要目標
缺陷跟蹤系統的主要目標在於為改正那些應該改正的缺陷提供幫助。任何不直接支持這個目標的問題,都不是關鍵問題。有些其他的目標(如形成某些管理報告)都完全兼容於系統的主要目標,每當為系統提議添加新的任務和目標時,都應該將其與主要目標作比較。偏離了系統主要目標的任何目標都應該被排除。
缺陷跟蹤系統的任務
為實現缺陷跟蹤系統的目標,必須確保以下幾點:
1)問題一旦報告,所有需要了解該問題的人必須立即獲知。
2)不能有任何錯誤僅因為被某人遺忘而未得到改正。
3)不能有任何錯誤因為某個程式設計師的一念之差而未得到改正。
4)使僅因為溝通不暢而未得到改正的錯誤儘量少。
保持這個任務列表的最小化是基本的要求。
缺陷跟蹤系統的概述
一個缺陷跟蹤系統,需要實現幾部分的功能:
1)缺陷的上報,當問題被發現後,可以通過系統進行提交、保留,方便跟蹤。
2)缺陷錄入系統後,項目經理應該可以通過缺陷跟蹤系統進行瀏覽,定期獲得最新的缺陷問題報告。
3)項目經理將缺陷問題報告通過缺陷跟蹤系統轉交給程式設計師,程式設計師可以通過缺陷跟蹤系統知道自己負責的修正的缺陷問題報告。
4)缺陷問題的修正處理,當程式設計師修復問題後,可以通過跟蹤系統,通知項目經理問題已修復。
5)對於無法根據缺陷報告重現的問題,也可以通過跟蹤系統,向項目經理及測試人員要求更多更詳細的信息,並將缺陷問題返回至項目經理重新處理。
6)問題暫緩及申訴過程處理,對於缺陷報告提到的問題,如在當前版本無法實現或者缺陷與需求有衝突的時候,可以將問題置為“暫緩處理”或“提出申訴”。
7)對於優先等級較低的缺陷問題,可能不能被及時處理掉,但必須可以被查詢。
8)缺陷跟蹤系統可以提供跟蹤項目的狀態報告。
缺陷跟蹤系統的使用者
在實際工作中,可能有沒有那么細緻,或者一個人擔任好幾個角色。
1)主任測試員 領導項目的測試工作,並對測試和問題報告的質量負有責任。他可能是惟一被允許關閉問題抱高的測試人員。
2)普通測試員 提交缺陷報告,並關注問題如何解決。
3)項目經理 負責按期交付高質量的軟體產品。平衡成本、可靠性、產品能力及時間進度,決定哪些缺陷應被改正,優先等級如何劃分,對整個項目的進行管理控制。
4)程式設計師 負責根據缺陷跟蹤系統的報告進行缺陷重現、修改、反饋。
5)產品經理 關注的是任何會影響產品銷售或技術支持成本的問題。
6)技術支持 負責為客戶提供信息、為管理層降低服務費用,並使產品評價起來更為優秀。技術支持與每個暫緩處理或被遺忘的缺陷、每個被拒絕改正的設計問題、用戶手冊中的每個錯誤或不清晰之處息息相關,因為它們會導致用戶打來電話,耗費支持人員的時間,並且需要支持人員收集信息提供給用戶。
7)文檔編寫人員 負責編寫用戶手冊,編寫同時,也會發現缺陷,因此也需要通過缺陷跟蹤系統。
8)測試經理 負責測試工作的質量以及管理測試人員。
至於有些項目甚至配備律師角色,他也需要瀏覽缺陷報告以了解情況。
缺陷跟蹤系統的輸出
1)輸出每個新缺陷問題的詳細信息。
2)輸出每周的項目狀態報告。
3)輸出項目測試周期完工報告。
4)輸出項目的已處理問題和未處理問題報告。
5)輸出項目暫緩處理的問題報告。
6)輸出項目進展總結報告。
7)輸出項目開發結束的產品發布報告單。
儘可能都能提交以上的報告,可以方便所有使用缺陷跟蹤系統的角色獲取需要的信息。
缺陷跟蹤系統的進一步思考
對於如何使用缺陷跟蹤系統,應該進一步反思,畢竟缺陷跟蹤系統只與缺陷有關,與行政無關,但實際情況往往不是如此,缺陷跟蹤系統成為了衡量項目參與者工作量的指標,為參與的項目人員造成壓力,例如,對於測試人員,衡量他們工作量的是他們對項目提交的缺陷數量,往往為了這個目的,測試人員可能不斷的提交缺陷,甚至乎與其他人提交的缺陷相似,這樣一來就對程式設計師造成了壓力,容易使工作變得複雜。因此如何使用缺陷跟蹤系統需要在實際中討論進行!
缺陷管理流程中的角色
1、 測試 人員:進行測試的人員,缺陷的發起者;
2、 項目經理:對整個項目負責,對產品質量負責的人員;
3、 開發人員:執行開發任務的人員,完成實際的設計和編碼工作;
4、 評審委員會:對缺陷進行最終確認,在項目成員對缺陷達不成一致意見時,行使仲裁權力。
目前主流的缺陷跟蹤系統
URTracker 是一款優秀的國產缺陷跟蹤系統軟體。相比較其他的缺陷跟蹤軟體,URTracker提供一些非常必要的其他特性,如:自定義欄位功能、自定義流程功能、靈活的許可權控制、豐富的通知和提醒、全中文操作、導入導出、協作處理等。[ 目前缺陷跟蹤系統還是比較多的,比較有名的像Mercury的TestDirector,Seapine的Test Track Pro,TechExcel的DevTrack,Atlassian的JIRA以及今天要重點介紹的Mantis。
目前缺陷跟蹤系統還是比較多的,比較有名的像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 2.0.54 or later
Database Server:MySQL 5.0.10a Beta or later
Language:PHP 5.1.2
Mantis:Mantis 1.0.0