2010-11-15 115 views
2

我們開發了多種產品,並且已經對它們進行了大量的單元測試和全自動功能測試。問題在於那些測試不會頻繁運行,只需由開發人員手動或在發佈新版本之前手動運行。尋找「測試執行管理器」軟件來管理自動化測試

我正在尋找一個「測試執行管理器」的軟件,這將使:

  • 定義測試套件爲我現有的測試的集合;
  • 在我們的測試實驗室的多臺機器上執行測試套件;
  • 收集結果呈現他們很好;
  • 保留測試執行歷史和結果

大多數「測試解決方案」我發現專心「的編寫自動化測試」(我們已經有工作),或密切配合軟件開發等方面的整合,像定義需求和提交錯誤(我們已經並且不想改變)。

  • 任何人都可以推薦一個簡單而靈活的軟件來完成上述操作而不強制特定的開發過程嗎?
  • 我雖然在使用(或濫用)Hudson CI爲此。 Hudson已經可以運行測試,收集結果並且定期或者由於代碼提交而呈現它們;但它不是爲測試套件定義而設計的。任何有經驗的哈德遜用戶對此建議的任何意見都會被讚賞。
+0

這將有助於如果其排定你更多地解釋了你的測試。他們是如何實現的(什麼語言,框架?) – 2010-11-17 13:09:17

+0

我有在C++中實現的單元測試(使用CxxTest)和在python中實現的自動化應用程序測試,沒有任何特定的FW。測試通常在ESX的虛擬機中運行,或者在物理機器上手動運行。此外,我有夜間編譯和CI哈德森和所有代碼是在SVN管理。 – 2010-11-25 19:05:22

回答

4

首先,我們的開發人員不允許在沒有運行單元測試的情況下檢入代碼。我們還運行一個CI服務器(Hudson),它在提交之後構建並運行單元測試。我們正在努力實現夜間構建的功能測試。

你說你的開發人員測試軟件?這是一件壞事。至少讓而不是的開發人員熟悉代碼來測試您的應用程序,否則您可能會忽略一些錯誤,因爲他們的存在已被開發人員編寫代碼所排除。此外,誰寫的功能測試?開發人員再次?你應該讓你的學士寫他們。永遠記住,四隻眼睛看到兩個以上。

因此,畢竟,我認爲,單元測試將始終在將代碼簽入SCM之前運行。以下主要針對功能測試。

簡單的解決方案:

  • 您可以隨時創建腳本來捆綁你的測試(批處理或shell腳本在運行單個測試)。
  • 測試套件的執行實際上是哈德森
  • 收集和呈現效果的目的之一,就是哈德森是什麼
  • 見上面,可哈德森來完成,而不濫用它。

一個很好的解決方案:

難道你看像IBM Rational Quality Manager工具?根據您使用的測試工具,您可能希望使用不同的測試管理工具。 Oracle也爲它提供了一個工具。不要誤以爲這些工具相當昂貴,而且提供的方式比您想要的要多。從谷歌的一點點幫助,你應該找到適合你需要的東西。我的關鍵詞是「集中測試管理」。

如果您使用FitNesse進行功能測試。您可以在FitNesse中定義套房,我認爲套房可以成爲更大套房的一部分。 FitNesse絕對保留歷史測試數據。測試可以從命令行運行,使您可以運行ant或maven的測試。

如果使用單元測試框架爲您的功能測試也可以運行他們作爲每夜構建的一部分,並使用您的CI服務器(哈德森或巡航控制或......)

+1

我們也在每次提交時都運行UT,現在想要爬到下一個級別,每天晚上都會運行一些基本的功能測試,並且每週都會運行一個完整的功能測試套件。 Indid,我們的開發人員也開發了自動化測試;你關於讓一個獨立的開發者編寫測試的說明是正確的,我們應該對此更加明確。 我現在面臨的選擇是在快速芯片解決方案之間,它將使用哈德森進行測試管理,或者查看更復雜和完整的解決方案。所以我試圖從那些有效的人那裏得到這個詞。我明白你會去哈德森。 謝謝! – 2010-11-25 19:14:32

+0

我不推薦哈德森本身。這就是爲什麼我提到RQM,它可以管理RFT,RPT和其他工具。在你的情況下,聽起來你已經寫好了測試,只需要對它們進行分組(批處理/ shell腳本),以及在不同服務器上分發和啓動它們的方法(例如Hudson)。你也想收集結果並以一種很好的方式呈現它們(例如Hudson)。如果你有預算,你可能會更好,現成的解決方案(希望更快實施)。你自己寫的測試(假設:不是標準輸出格式),需要在兩種情況下進行整合。 – 2010-11-29 21:13:51

+0

Upvote for **開發人員不得在沒有運行單元測試的情況下檢入代碼** – 2012-08-30 07:35:44

相關問題