使用VisualStudio2005TeamSystem進行單元測試[2] 軟件測試
UI:
“您使用 XML 文檔了嗎?”
中間層:
“在構造函數中,但許多方法都不使用?!?/P>
UI:
“顯示如何創建、執行并刪除對象的示例代碼,怎么樣?”
中間層:
“我已經附加了一個示例 WinForms 應用程序(從我的工作區),它應該能夠提供一些您所需的內容……,雖然它不在 Microsoft Visual SourceSafe 中?!?/P>
在考慮如何進行這樣有趣的 項目之后,您打定了主意,決定檢驗中間層的單元測試套件。在深入鉆研該代碼之后,您注意到該窗體有兩個未標記的文本框,以及三個標記為 button1、button2 和 button3 的按鈕(幸運的話,它們將排列在窗體上)。接下來,在查看與這些按鈕相關的事件之后,您認識到這些代碼都未經注釋,并且數據變量都被命名為 x、y、z。如果幸運,您還會注意到 button1 和 button2 執行該對象的 Save() 方法,而 button3 執行 Delete() 方法。執行時,您會接收到很多 System.Exception 錯誤,這是因為遺漏了很多配置設置。
這顯然是一個特例,我希望多數開發團隊不要進行這一試驗,下面讓我們看一下該方案中“單元測試”遇到的問題:
"
這種形式的單元測試代碼不是結構化的:代碼充斥到按鈕單擊事件中并且難以編譯。
"
這種形式的單元測試代碼記錄得不太好。
"
這種形式的單元測試并不基于“已知”為好或壞的數據 — 它完全依賴于輸入到那些未標記的文本框的內容。
"
單元測試代碼不能自動重復,它基于輸入的代碼。
原文轉自:http://www.anti-gravitydesign.com