2010-03-16 121 views
21

有很多關於單元測試的文章,但我幾乎沒有發現任何有關集成測試的書籍/博客。你能否建議我閱讀這個話題?如何做集成測試?

進行集成測試時要寫什麼測試? 什麼使得一個很好的集成測試? 等等等等

感謝

回答

4

也許這一般很難找到關於集成測試信息,因爲它是更具體的實際應用和商業用途。儘管如此,這是我的承諾。

什麼適用於單元測試也適用於集成測試:模塊應該有一個簡單的方法來模擬他們的外部輸入(文件,數據庫,時間...),以便它們可以與其他單元一起測試 - 試驗。

但是我發現非常有用的,至少對於面向數據的應用程序來說,就是能夠創建一個「控制檯」版本的應用程序,該應用程序採用完全確定其狀態的輸入文件(不依賴於數據庫,網絡資源...),並將結果輸出爲另一個文件。然後,人們可以維護輸入/預期結果文件對,並作爲夜間構建的一部分來測試迴歸。擁有這個控制檯版本允許更簡單的腳本編寫,並且使得調試變得非常容易,因爲人們可以依賴一個非常穩定的環境,很容易重現錯誤並運行調試器。

5

任何由Kent Beck(JUnit和SUnit的父親)寫的東西都是一個很好的開始(單元測試/測試寫作一般)。我假設你並不是指「持續集成」,這是一種基於流程的構建方法(非常酷,當你得到它的工作)。

根據我自己的經驗,集成測試看起來與常規單元測試非常相似,只是在更高層次上。更多的模擬對象。更多狀態初始化。

我相信集成測試就像洋蔥一樣。他們有層。有些人更喜歡「整合」所有組件,並將「整個」產品作爲「整合」測試進行測試。你當然可以做到這一點,但我更喜歡更多的增量方法。如果您從低層次開始,然後在更高層次的組合層面繼續測試,那麼您將實現集成測試。