1. 程式人生 > >【騰訊TMQ】測試管理平臺大比拼

【騰訊TMQ】測試管理平臺大比拼

  作者:solinazhao

簡介

測試管理平臺是貫穿測試整個生命週期的工具集合,它主要解決的是測試過程中團隊協作的問題,比如缺陷管理、用例管理、測試任務管理等。 目前市面上比較流行的測試管理工具有QC、 Mantis、 BugZilla、TestLink、Redmine等。有開源軟體,也有商業軟體。這些軟體的各自側重點不同:比如Mantis、BugZilla偏重缺陷管理,TestLink則偏重測試用例管理,QC則更加全面,Redmine專案管理的概念又更強一些。下表從以下九大功能對各個工具進行對比:測試需求管理、測試用例管理、測試套件管理、測試版本管理、測試計劃管理、測試執行管理、缺陷管理、釋出管理和分析報表。

國內外有很多測試管理平臺,比如Jira, IBM RQM等。但大多數平臺為商用的不開源的,今天我們主要介紹幾個開源的平臺,商用平臺僅以QC為例。

詳細介紹

TestLink是開源的基於web的測試用例管理系統,主要功能有產品需求管理、測試用例管理、測試計劃管理,並且還提供了一些簡單的統計功能。

需求管理:維護使用者需求,並可做到與測試用例關聯,及統計用例對需求的覆蓋度。

測試用例管理:可制定測試計劃,維護測試用例及生成測試用例集,記錄測試執行結果。

  • 測試計劃包括構建一個測試活動,選擇測試用例範圍,指定哪些人測試哪些用例,測試用例風險及優先順序等。

  • 維護測試用例包括對測試用例的增加/刪除/修改/匯入等操作。

  • 記錄測試結果包括記錄用例執行的各個狀態(尚未執行、通過、失敗、鎖定)便於後續度量分析。

測試用例輸入模式為:

度量分析:包括用例執行進度,主要問題存在點,哪些用例無法執行。及通過分析用例執行結果,報告哪些需求未被測試到,分析測試風險。

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提供了強大的分析統計能力——分析需求,分析測試計劃,分析測試執行及結果,分析缺陷修復。

Redmine是用Ruby開發的基於web的專案管理軟體,是用ROR框架開發的一套跨平臺專案管理開源系統。還可以整合其他版本管理系統和BUG跟蹤系統,例如Perforce、SVN、CVS、TD等等。這種 Web 形式的專案管理系統通過“專案(Project)”的形式把成員、任務(問題)、文件、討論以及各種形式的資源組織在一起,大家參與更新任務、文件等內容來推動專案的進度,同時系統利用時間線索和各種動態的報表形式來自動給成員彙報專案進度。Redmine較適用於100人以內的專案。Redmine支援如下功能:

  • 支援多專案
  • 基於角色的訪問控制
  • 靈活的問題跟蹤系統
  • 支援甘特圖和 日曆
  • 支援新聞、文 檔和檔案管理
  • 支援feeds 和郵件通知
  • 支援依附於項 目的wiki
  • 專案論壇
  • 簡單實時 跟蹤功能
  • 可以自定義欄位,如時間項,專案和使用者
  • 可整合各種版本管理系統 (SVN, CVS, Git, Mercurial, Bazaar and Darcs)
  • 多個 LDAP認證支援
  • 支援使用者自注冊
  • 支援多語言
  • 支援多資料庫

禪道是國產的一個比較優秀的開源測試管理工具,它從產品、研發和測試分檢視進行管理,做到了以下幾方面的管理功能,以下各圖顯示了各個檢視下的可見項。禪道這種分檢視三級管理介面使得各種分類變得非常清晰.

1. 產品管理:包括產品、需求、計劃、釋出、路線圖等功能。

  1. 專案管理:包括專案、任務、團隊、build、燃盡圖等功能。

  2. 質量管理:包括bug、測試用例、測試任務、測試結果等功能。

  3. 文件管理:包括產品文件庫、專案文件庫、自定義文件庫等功能。

  4. 事務管理:包括todo管理,我的任務、我的Bug、我的需求、我的專案等個人事務管理功能。

  5. 組織管理:包括部門、使用者、分組、許可權等功能。

  6. 統計功能:豐富的統計表。

  7. 搜尋功能:強大的搜尋,幫助您找到相應的資料。

  8. 靈活的擴充套件機制,幾乎可以對禪道的任何地方進行擴充套件。

  9. 強大的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、沒有與自動化用例關聯,不可自動觸發自動用例的執行。

附錄:國外商用測試管理工具簡介

測試用例管理類:

QMetryhttp://www.qmetry.com/)QMetry是一個整合的測試管理工具, 可以提供需求管理, 測試用例(測試用例集)管理,可與許多主流的缺陷跟蹤系統無縫整合,適合在自動化環境下使用。是一個商業產品,有一個30天免費試用期。

TestRailhttp://www.gurock.com/testrail/)TestRail是一個集中在測試用例的管理工具,可以建立測試用例和用例集,跟蹤執行和報告。此外,它集成了許多跟蹤工具,使得外部系統需求與測試用例關聯起來。它附帶了一個基於http API整合自動化測試結果的收集功能。一個最常見的整合是Gemini,這是一個事件/票務管理系統(支援敏捷)。TestRail是一個商業產品,免費試用

qTesthttp://www.qasymphony.com/qtest.html)由QASymphony開發的qTest是基於雲端計算的測試管理工具,有各種典型的關鍵特性。qTest在聯結器的幫助下,它可以整合JIRA整個端到端質量的解決方案,它還集成了其他工具,比如Bugzilla、FogBugz, Rally等。不開源。

TestLodgehttp://www.testlodge.com/)是一個全面的測試用例管理工具, 關注在測試相關的4個關鍵方面——測試計劃、需求、測試用例集/用例和測試執行。對於其他的操作,它集成了許多主流問題管理工具,可以提供一個全面的解決方案。可免費試用。

Testuffhttp://www.testuff.com/)Testuff是Saas測試管理工具,有許多很酷的功能。典型的測試用例管理功能是預設包括的。此外,它有一個很酷的視訊上傳報bug的功能。集成了一個巨大的bug-trackers列表,如Bugzilla,JIRA,YouTrack, Mantis等等。它有一個支援自動化工具的API, 如QTP, Rational Robot, Selenium、TestComplete等等。

TestCollabhttp://testcollab.com/)這是一個基於web的測試用例管理工具, 因為它的 “Ajax ‘ified介面,它的速度是一個關鍵特性。它簡單易用,集成了所有主要的bug/問題/事件追蹤器,可定製,是良好的分析報告工具。

Geminihttp://www.countersoft.com/solutions/testing/ )支援測試和QA以及如專案計劃、問題跟蹤等其他方面。可以建立測試計劃,測試用例,測試執行、可追溯性、測試執行報告等,還有各種整合和擴充套件。可免費試用。

PractiTesthttp://www.practitest.com/)是一個端到端的測試和測試管理軟體。可提供建立測試,執行測試,跟蹤缺陷等功能, 它可以很好地與JIRA,Bugzilla RedMine三個主要的事件管理工具整合。

全能類:

Jirahttps://www.atlassian.com/software/jira)Jira是Atlassian公司開發的一款缺陷跟蹤和任務管理軟體,可以對需求、任務、缺陷和改進進行跟蹤管理。Jira可以和其他系統如CVS、SVN、VSS,Perforce、LDAP、郵件服務等整合,可擴充套件性好。Jira與敏捷開發無縫結合,支援story分解。適用於中大型專案。Jira是款商業產品,但對開源專案免費提供缺陷跟蹤服務,因此在開源領域應用廣泛。

QACompletehttp://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 Managerhttp://www-03.ibm.com/software/products/en/ratiqualmana) IBM推出的測試管理產品,典型特徵是——測試計劃、設計、執行、跟蹤和報告。它集成了許多合理的產品的自動化、原始碼控制和bug跟蹤。

本章完~

我們專注於移動測試技術精華,飽含騰訊多款億級APP的品質祕密,文章皆獨家原創,我們不談虛的,只談乾貨!

掃碼關注我們

掃一掃 關注TMQ
精彩分享不斷