我不會稱之爲「單元測試」,但我在運行WinForms UI自動化測試以及使用WatiN的Web UI中取得了一定程度的成功。
假設您可以獲取要測試的應用程序窗口的句柄,您應該能夠編寫大量C#代碼來測試用戶界面的功能。
很多人譴責嘗試對用戶界面運行自動化測試的想法,因爲存在太多以至於無法以這種方式進行測試。例如,沒有自動化測試會注意到字體很難看,或者某些文字很混亂,或者按鈕稍微偏離中心。毫無疑問,對於這些類型的東西,你絕對需要一個聰明的人在看屏幕。
但是,除了那種類型的測試之外,肯定會有大量重複性測試可以自動化並定期執行。大多數大型應用程序都有一整套迴歸測試腳本,必須在新版本發佈時手動執行。這些測試通常是你可以訓練猴子做的事情,只是點擊這個鏈接的指令列表,輸入一些文本,點擊這個按鈕,檢查產生的信息等等。這些東西對於質量保證測試人員來說是浪費時間,而且使他們感到痛苦,所以如果他們能夠自動化,很好。這些類型的測試應該能夠由您的構建服務器每天自動運行,並且可以製作得比任何手動測試都要透徹得多。
再一次,它不會發現奇怪的未知事物,但它會給你一定程度的自信,認爲你的小改變並沒有打破你在應用程序另一端從未聽說過的其他屏幕。當然,這會導致開發人員進行更多的工作,因爲應用程序的小改動可能會因爲愚蠢的原因而中斷測試,就像任何自動化測試一樣,但它會爲您節省大量時間進行測試和調試。這對你來說是否值得你去決定,但我認爲這是一個不應該像你平常看到的那樣快速被解僱的考慮。
同意您的考慮。我認爲有一些測試總比沒有好。所以我想找到一種快速編寫批處理的方法,當有人執行小的更改時,這可以讓我提高可信度。 – pierocampanelli 2010-05-17 16:46:37