2008-08-11 155 views
8

在我的工作中,我們正在運行一組包含大約3000個獨立測試用例的測試。以前我們在一臺機器上運行整個測試套件,這需要大約24-72小時才能完成整個測試。我們現在已經創建了我們自己的系統,用於在三臺獨立機器之間對測試進行分組和分配,並且優先考慮測試,以便核心測試首先運行以獲得更直接的結果,並在有可用機器時運行額外的測試。測試分佈

我很好奇,如果有人已經找到了一個很好的方式來分配幾臺機器在他們的測試,以減少總測試時間爲一個完整的運行,什麼工具被用來實現這一目標。我已經做了一些研究,看起來像TestNG是moving in this direction,但看起來它還處於相當的發展階段。

我們不打算重寫我們的任何測試,但是當我們添加新測試和測試新產品或附件時,我希望能夠處理這樣一個事實,即我們正在處理大量數據的測試。在另一方面,如果我們能找到一個工具,這將有助於即使在一個非常基本的方式分銷我們的Junit 3.x測試結果顯示,是有益的,因爲我們就不必維護我們自己的工具來做到這一點。

回答

2

我見過具有distributed JUnit播放一些人。我不能特別保證它的有效性,但我見過的其他球隊似乎認爲這足夠簡單。希望有所幫助。

1

我們的構建人員使用Mozilla Tinderbox。它似乎有一些分佈式測試的鉤子。我很抱歉不知道細節,但我認爲我至少會傳遞給你的指針。

這也是很好的因爲你可以立即找到當一個構建中斷,什麼checkin可能是罪魁禍首。

http://www.mozilla.org/tinderbox.html

1

還有parallel-junit。根據當前執行測試的方式,其便利性可能會有所不同 - 此想法僅適用於具有多個內核的單個系統上的多線程。我簡單地玩過它,但這與我們目前運行測試的方式有所不同。

Hudson,我使用的持續集成引擎,也有一些分配測試運行的方法(單獨的作業聚合成一個結果)。