2012-05-15 38 views
1

最近我的任務是用C#編寫和運行桌面應用程序的單元測試。過去,我主要編寫了自動化的功能/ GUI測試。這些可以在專用QA機器上運行,因爲這些測試可能導致崩潰,數據丟失,藍屏死機等。是否應該爲運行單元測試進行類似的設置?在本地機器上運行單元測試是否有風險?單元測試應該在本地機器上運行嗎?

回答

10

單元測試應該在您的本地機器在構建服務器上運行。作爲開發者的反饋,它們是非常寶貴的資源。 DEV應該單元測試。在檢查之前,他應該運行單元測試以確保他不會破壞任何東西。構建服務器然後將再次運行單元測試,以確保它沒有真正的破壞,並且與其他代碼的集成(如果有的話)成功。

當單元測試運行時,最好構建服務器應該運行集成測試和自動UI測試。當這些過程完成後,已經生成了一個沒有已知缺陷的構建 - 至少沒有任何測試覆蓋。換句話說,綠色構建意味着軟件集成進展順利,開發人員可以在實際發佈軟件之前繼續檢查 - 或者在某個時刻開始進行手動測試。

軟件測試必殺技發生在足夠多的測試已經自動化之後,這樣開發人員和企業就可以安心地發佈基於這個自動化測試流的成功產品。實際上,只有少數產品會成熟 - 並且需要進行一些手動測試。

單元測試不接觸外部系統或接口。因此,在本地運行它們沒有風險。

1

單元測試通常由開發人員在開發時完成。所以在開發環境中運行它。可能是你的本地機器。

3

單元測試應該是非常獨立的,以便它們可以在每臺機器上運行,而無需進一步設置。按定義進行單元測試只測試非常細粒度級的功能單元而不觸及外部系統(即數據庫,文件系統等)

1

好,如果您的本地計算機是開發機器我認爲沒有風險,因爲機器不是生產最終用戶機器。您也可以考慮TFS實驗室管理(如果您有Microsoft TFS作爲ALM /源代碼管理系統)。在這種情況下,您可以創建虛擬或物理測試環境,並在這些定義的環境中部署和測試應用程序。

不確定類似測試產品的名稱是否適用於非TFS場景。

相關問題