簡介
測試管理平台是貫穿測試整個生命周期的工具集合,它主要解決的是測試過程中團隊協作的問題,比如缺陷管理、用例管理、測試任務管理等。 目前市面上比較流行的測試管理工具有QC、 Mantis、 BugZilla、TestLink、Redmine等。有開源軟件,也有商業軟件。這些軟件的各自側重點不同:比如Mantis、BugZilla偏重缺陷管理,TestLink則偏重測試用例管理,QC則更加全面,Redmine項目管理的概念又更強一些。下表從以下九大功能對各個工具進行對比:測試需求管理、測試用例管理、測試套件管理、測試版本管理、測試計划管理、測試執行管理、缺陷管理、發布管理和分析報表。
國內外有很多測試管理平台,比如Jira, IBM RQM等。但大多數平台為商用的不開源的,今天我們主要介紹幾個開源的平台,商用平台僅以QC為例。
詳細介紹
1. TestLink:http://www.testlink.org.cn/
TestLink是開源的基於web的測試用例管理系統,主要功能有產品需求管理、測試用例管理、測試計划管理,並且還提供了一些簡單的統計功能。
需求管理:維護用戶需求,並可做到與測試用例關聯,及統計用例對需求的覆蓋度。
測試用例管理:可制定測試計划,維護測試用例及生成測試用例集,記錄測試執行結果。
-
測試計划包括構建一個測試活動,選擇測試用例范圍,指定哪些人測試哪些用例,測試用例風險及優先級等。
-
維護測試用例包括對測試用例的增加/刪除/修改/導入等操作。
-
記錄測試結果包括記錄用例執行的各個狀態(尚未執行、通過、失敗、鎖定)便於后續度量分析。
測試用例輸入模式為:
度量分析:包括用例執行進度,主要問題存在點,哪些用例無法執行。及通過分析用例執行結果,報告哪些需求未被測試到,分析測試風險。
可與Mantis(http://www.mantis.org.cn/)或bugzilla(https://www.bugzilla.org/)集成進行缺陷管理。
2. QC:
QC是HP提供的企業應用級商業軟件,提供項目與組合跟蹤功能、版本管理程序、具體需求、測試管理程序、手動測試執行過程、缺陷跟蹤程序、測試自動化規划/執行支持服務以及跨項目報告、資產共享和重復利用、開發過程洞察和問題根因分析。
對於需求和測試,它可以做到:
- 映射需求到一個測試(Linking Requirements to a Test)
- 映射測試到一個需求(Linking Tests to a Requirement)
- 映射需求和測試之間的覆蓋(Linking Requirements and Tests Coverage)
應用QC的測試執行過程如下:
1、檢查應用程序,以確定測試范圍,包括測試目標,測試策略。
2、構建Requirements Tree以定義全部的測試需求。
3、為需求樹中的每個需求創建詳細的測試需求列表。描述每一個需求,為之分配優先級,必要時添加附件。
4、生成報告和圖表以助於分析測試需求。復審需求以確保該需求適宜測試范圍。
5、檢查應用程序、系統環境和測試資源以確定測試目標。
6、將應用程序划分為模塊或功能以備測試。構建Test Plan Tree,將應用程序划分為測試單元或主題。
7、為每個模塊確定你所需要的測試類型。向Test Plan Tree中的每個測試添加基本定義。
8、每一個測試連接到相應的一個或多個需求。
9、在TestPlan Tree中,通過為測試添加測試步驟開發手度。測試步驟描述了每一個測試的測試操作、需要檢查的點和預期結果。然后確定哪些測試需要被自動化。
10、可集成內部或第三方測試工具,應用第三方測試工具為需要自動化的測試創建測試腳本。
11、生成報告和圖表以助於分析測試計划數據。復審測試以確定該測試適宜測試目標的程度。
12、定義多個測試集以用於在項目中達到各種各樣的測試目標。確定在每個測試集中包括哪些測試 .
13、確定測試執行的時間並給測試人員分配任務。
14、在相應的測試集中自動或手動執行測試。
15、查看測試運行的結構以確定是否在應用程序中發現了缺陷。生成報告和圖表以分析測試運行結果。
16、項目相關人員可以在測試過程中的任意階段添加缺陷。
17、復審新缺陷並且確定哪些缺陷應當被修復。
18、改正那些需要修復的缺陷。
19、測試新創建的應用程序。繼續以上過程直到被修復。
20、生成報告和圖表以助於分析缺陷修復的過程,還可以幫助確定何時發布相應的程序。
從測試執行過程可以看到QC提供了強大的分析統計能力——分析需求,分析測試計划,分析測試執行及結果,分析缺陷修復。
3. Redmine:http://www.redmine.org.cn/
Redmine是用Ruby開發的基於web的項目管理軟件,是用ROR框架開發的一套跨平台項目管理開源系統。還可以集成其他版本管理系統和BUG跟蹤系統,例如Perforce、SVN、CVS、TD等等。這種 Web 形式的項目管理系統通過“項目(Project)”的形式把成員、任務(問題)、文檔、討論以及各種形式的資源組織在一起,大家參與更新任務、文檔等內容來推動項目的進度,同時系統利用時間線索和各種動態的報表形式來自動給成員匯報項目進度。Redmine較適用於100人以內的項目。Redmine支持如下功能:
- 支持多項目
- 基於角色的訪問控制
- 靈活的問題跟蹤系統
- 支持甘特圖和 日歷
- 支持新聞、文 檔和文件管理
- 支持feeds 和郵件通知
- 支持依附於項 目的wiki
- 項目論壇
- 簡單實時 跟蹤功能
- 可以自定義字段,如時間項,項目和用戶
- 可集成各種版本管理系統 (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
- 多個 LDAP認證支持
- 支持用戶自注冊
- 支持多語言
- 支持多數據庫
4. 禪道: http://www.zentao.net/
禪道是國產的一個比較優秀的開源測試管理工具,它從產品、研發和測試分視圖進行管理,做到了以下幾方面的管理功能,以下各圖顯示了各個視圖下的可見項。禪道這種分視圖三級管理界面使得各種分類變得非常清晰.
-
產品管理:包括產品、需求、計划、發布、路線圖等功能。
-
項目管理:包括項目、任務、團隊、build、燃盡圖等功能。
-
質量管理:包括bug、測試用例、測試任務、測試結果等功能。
-
文檔管理:包括產品文檔庫、項目文檔庫、自定義文檔庫等功能。
-
事務管理:包括todo管理,我的任務、我的Bug、我的需求、我的項目等個人事務管理功能。
-
組織管理:包括部門、用戶、分組、權限等功能。
-
統計功能:豐富的統計表。
-
搜索功能:強大的搜索,幫助您找到相應的數據。
-
靈活的擴展機制,幾乎可以對禪道的任何地方進行擴展。
-
強大的api機制,方便與其他系統集成。
以下各圖顯示了各個視圖下的可見項,尤其三層打開式使各視圖下結構清晰,跳轉方便。
產品視圖:
開發視圖:
測試視圖:
事務管理:
5. TestCenter
TestCenter是國內一個新興的開源測試管理軟件,可以支持需求管理、測試管理和缺陷管理,甚至可以支持事務管理。但經過試用,功能多而不細,故不作詳述。
缺陷跟蹤:
測試管理軟件的另一個方面是缺陷跟蹤。缺陷跟蹤的軟件比較多,國外比較著名的有Bugzilla,mantis (其他還有),國內有bugfree(原作者后來自創了禪道)。接下去我們重點介紹下Bugzilla和Mantis。
1. Bugzilla
完善的Bug跟蹤體系,包括報告Bug、查詢Bug記錄並產生報表、處理解決、管理員系統初始化和設置四部分. Bugzilla具有如下特點:
- 基於Web方式,安裝簡單、運行方便快捷、管理安全。
- 有利於缺陷的清楚傳達。本系統使用數據庫進行管理,提供全面詳盡的報告輸入項,產生標准化的bug報告。 提供大量的分析選項和強大的查詢匹配能力,能根據各種條件組合進行bug統計。當缺陷在它的生命周期中變化時,開發人員、測試人員、及管理人員將及時獲得動態的變化信息,允許你獲取歷史記錄,並在檢查缺陷的狀態時參考這一記錄。
- 系統靈活,強大的可配置能力。Bugzilla工具可以對軟件產品設定不同的模塊,並針對不同的模塊設定開發人員和測試人員。這樣可以實現提交報告時自動發給指定的責任人,並可設定不同的小組,權限也可划分。設定不同的用戶對bug記錄的操作權限不同,可有效控制進行管理。允許設定不同的嚴重程度和優先級。可以在缺陷的生命期中管理缺陷。從最初的報告到最后的解決,確保了缺陷不會被忽略。同時可以使注意力集中在優先級和嚴重程度高的缺陷上。
- 自動發送Email,通知相關人員。根據設定的不同責任人,自動發送最新的動態信息,有效的幫助測試人員和開發人員進行溝通。
2. Mantis
Mantis是基於角色和項目模塊為划分的BUG跟蹤系統。Mantis基本特性有:
- 個人可定制的Email通知功能,每個用戶可根據自身的工作特點只訂閱相關缺陷狀態郵件;
- 支持多項目、多語言;
- 權限設置靈活,不同角色有不同權限,每個項目可設為公開或私有狀態,每個缺陷可設為公開或私有狀態,每個缺陷可以在不同項目間移動;
- 主頁可發布項目相關新聞,方便信息傳播;
- 方便的缺陷關聯功能,除重復缺陷外,每個缺陷都可以鏈接到其他相關缺陷;
- 缺陷報告可打印或輸出為CSV格式:支持可定制的報表輸出,可定制用戶輸入域;
- 有各種缺陷趨勢圖和柱狀圖,為項目狀態分析提供依據,如果不能滿足要求,可以把數據輸出到Excel中進一步分析;
各角色權限如下表:
總結
作為商業級的應用軟件,QC功能最為強大,最大的優勢在於其貫穿整個研發流程的透明化,及其詳盡的報告內容。Testlink很易用,但是缺少缺陷管理這個重要指標,必須與其他工具集成方可。國內測試管理軟件中禪道功能很全,甚至包含了事務管理和文件管理,也能與敏捷開發很好地對接,比如使用了燃盡圖來標識項目過程。
TAPD在公司內部應用很廣,但與這些優秀的測試管理軟件相比,在以下幾方面有待提高:
1、項目樹形結構及項目間關聯關系待提升;
2、沒有與SVN連接,無法做到迭代與代碼提交的對應;
3、項目過程不透明,無法透視開發過程完成率和測試完成率;
4、無預警制度,沒有在項目脫離正常開發時自動報警;
5、沒有與自動化用例關聯,不可自動觸發自動用例的執行。
附錄:國外商用測試管理工具簡介
測試用例管理類:
QMetry(http://www.qmetry.com/)QMetry是一個集成的測試管理工具, 可以提供需求管理, 測試用例(測試用例集)管理,可與許多主流的缺陷跟蹤系統無縫集成,適合在自動化環境下使用。是一個商業產品,有一個30天免費試用期。
TestRail(http://www.gurock.com/testrail/)TestRail是一個集中在測試用例的管理工具,可以創建測試用例和用例集,跟蹤執行和報告。此外,它集成了許多跟蹤工具,使得外部系統需求與測試用例關聯起來。它附帶了一個基於http API集成自動化測試結果的收集功能。一個最常見的集成是Gemini,這是一個事件/票務管理系統(支持敏捷)。TestRail是一個商業產品,免費試用
qTest(http://www.qasymphony.com/qtest.html)由QASymphony開發的qTest是基於雲計算的測試管理工具,有各種典型的關鍵特性。qTest在連接器的幫助下,它可以集成JIRA整個端到端質量的解決方案,它還集成了其他工具,比如Bugzilla、FogBugz, Rally等。不開源。
TestLodge (http://www.testlodge.com/)是一個全面的測試用例管理工具, 關注在測試相關的4個關鍵方面——測試計划、需求、測試用例集/用例和測試運行。對於其他的操作,它集成了許多主流問題管理工具,可以提供一個全面的解決方案。可免費試用。
Testuff(http://www.testuff.com/)Testuff是Saas測試管理工具,有許多很酷的功能。典型的測試用例管理功能是默認包括的。此外,它有一個很酷的視頻上傳報bug的功能。集成了一個巨大的bug-trackers列表,如Bugzilla,JIRA,YouTrack, Mantis等等。它有一個支持自動化工具的API, 如QTP, Rational Robot, Selenium、TestComplete等等。
TestCollab(http://testcollab.com/)這是一個基於web的測試用例管理工具, 因為它的 “Ajax ‘ified接口,它的速度是一個關鍵特性。它簡單易用,集成了所有主要的bug/問題/事件追蹤器,可定制,是良好的分析報告工具。
Gemini(http://www.countersoft.com/solutions/testing/ )支持測試和QA以及如項目計划、問題跟蹤等其他方面。可以創建測試計划,測試用例,測試運行、可追溯性、測試運行報告等,還有各種集成和擴展。可免費試用。
PractiTest (http://www.practitest.com/)是一個端到端的測試和測試管理軟件。可提供創建測試,運行測試,跟蹤缺陷等功能, 它可以很好地與JIRA,Bugzilla RedMine三個主要的事件管理工具集成。
全能類:
Jira(https://www.atlassian.com/software/jira)Jira是Atlassian公司開發的一款缺陷跟蹤和任務管理軟件,可以對需求、任務、缺陷和改進進行跟蹤管理。Jira可以和其他系統如CVS、SVN、VSS,Perforce、LDAP、郵件服務等整合,可擴展性好。Jira與敏捷開發無縫結合,支持story分解。適用於中大型項目。Jira是款商業產品,但對開源項目免費提供缺陷跟蹤服務,因此在開源領域應用廣泛。
QAComplete (http://smartbear.com/products/qa-tools/test-management/)是最強大的測試管理工具之一。適合敏捷/傳統、手動/自動化各類項目。它可以集成QTP TestComplete。對於自動化項目,可以安排測試運行,遠程注冊,在任何主機上運行。還提供了發布管理功能及分析功能。它可以集成幾乎所有主要的缺陷跟蹤工具和源代碼控制工具——SVN, Perforce 和CVS。
Silk Central (http://www.borland.com/products/silkcentral/)是一個由Borland生產的測試管理產品。它幾乎覆蓋了軟件開發過程所有特性,包括跟蹤、測試的創建、運行和分析報告。它集成了許多源代碼控制和問題跟蹤系統,有額外的插件以擴展其功能自動化測試使用如QTP 、WinRunner等等。它帶有一個視頻捕捉功能,支持SAP測試。
IBM Rational Quality Manager (http://www-03.ibm.com/software/products/en/ratiqualmana) IBM推出的測試管理產品,典型特征是——測試計划、設計、執行、跟蹤和報告。它集成了許多合理的產品的自動化、源代碼控制和bug跟蹤。