提交修改之前的測試組合
在將本地的代碼修改提交到代碼控制存儲庫之前,為每個開發人員執行一次快速運行測試組合可以明顯加快開發速度。只要測試能保證本地改變不會給代碼基礎帶來錯誤,Mock對象就可以用來構建這種測試組合。一個典型的例子是,用HttpServletRequest、HttpServletResponse和HttpSession mock對象對Servlet進行獨立測試,這比建立真正的應用程序服務器要更快速、更方便。
只要牢記這些測試可能會脆弱,我們就可以在測試套件中使用Mock,且有些時候(例如,在連續的集成創建過程中),我們也需要進行集成和功能測試。
對尚未編寫的組件進行臨時的集成測試
Mock對于各復雜組件在將來進行集成是非常有用的。例如,某個小組在等待另一個小組完成其組件時,就可以使用Mock測試,這是很有意義的。為了最小化集成中的問題,第二個小組可以為第一個小組構建并提供一個Mock對象。第二個小組完成了他們的工作,兩個小組的組件集成測試就開始了,希望Mock測試使他們為實現系統預期行為,工作更密切。
到這一階段,Mock已經實現了既定目標,并且應該將它移除(因為它存在潛在缺陷,甚至將來的測試還需要使用也是如此)。
裝飾設計模式的測試實現
在前面的例子中,只要數據被正確存儲,EmployeeBO怎樣把員工信息存儲到數據庫中是無關緊要的。在裝飾(decorator)設計模式中,它們與裝飾對象之間的正確交互與交互的最終結果同樣重要?紤]圖3中所描述的簡單例子。
圖 3.緩存管理系統的類圖
文章來源于領測軟件測試網 http://www.kjueaiud.com/