簡介
工欲善其事,必先利其器。測試管理平台就是測試過程中的“器”,它是貫穿測試整個生命周期的工具集合,它主要解決的是測試過程中團隊協作的問題,比如缺陷管理、用例管理、測試任務管理等。目前市面上比較流行的測試管理工具有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 aTest)
- 連接配接測試到一個需求(Linking Tests to aRequirement)
- 連接配接需求和測試覆寫(Linking Requirements andTests 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
- 項目論壇
- 簡單實時 跟蹤功能
- 自定義字 段的問題,時間項,項目和使用者
- SCM in內建 (SVN, CVS,Git, Mercurial, Bazaar and Darcs)
- 多個 LDAP認證支援
- 使用者自注 冊支援
- 多語言支 持
- 多資料庫 支援
頁面如下所示:
4. 禅道: http://www.zentao.net/
禅道是國産的一個比較優秀的開源測試管理工具,它實作了需求到任務,需求到用例及用例到bug之間的互相跳轉,從産品、研發和測試分視圖進行管理,做到了以下幾方面的管理功能:
1. 産品管理:包括産品、需求、計劃、釋出、路線圖等功能。
2. 項目管理:包括項目、任務、團隊、build、燃盡圖等功能。
3. 品質管理:包括bug、測試用例、測試任務、測試結果等功能。
4. 文檔管理:包括産品文檔庫、項目文檔庫、自定義文檔庫等功能。
5. 事務管理:包括todo管理,我的任務、我的Bug、我的需求、我的項目等個人事務管理功能。
6. 組織管理:包括部門、使用者、分組、權限等功能。
7. 統計功能:豐富的統計表。
8. 搜尋功能:強大的搜尋,幫助您找到相應的資料。
9. 靈活的擴充機制,幾乎可以對禅道的任何地方進行擴充。
10. 強大的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中進一步分析;
各角色權限如下表:
View Bug | Report Bug | Update Bug | Assign Bug | Resolve Bug | Close Bug | Reopen Bug | Delete Bug | |
---|---|---|---|---|---|---|---|---|
Viewer | Y | N | N | N | N | N | N | N |
Reporter | Y | Y | N | N | N | N | N | N |
Updater | Y | Y | Y | Y | Y | Y | Y | N |
Developer | Y | Y | Y | Y | Y | Y | Y | Y |
Manager | Y | Y | Y | Y | Y | Y | Y | Y |
Administrator | Y | Y | Y | Y | Y | Y | Y | Y |
總結
作為商業級的應用軟體,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。
- SilkCentral(http://www.borland.com/products/silkcentral/)是一個由Borland生産的測試管理産品。它幾乎覆寫了軟體開發過程所有特性,包括跟蹤、測試的建立、運作和分析報告。它內建了許多源代碼控制和問題跟蹤系統,有額外的插件以擴充其功能自動化測試使用如QTP 、WinRunner等等。它帶有一個視訊捕捉功能,支援SAP測試。
- IBMRational Quality Manager(http://www-03.ibm.com/software/products/en/ratiqualmana) IBM推出的測試管理産品,典型特征是——測試計劃、設計、執行、跟蹤和報告。它內建了許多合理的産品的自動化、源代碼控制和bug跟蹤。