前兩章:
1. 在程式剛開始設計時,不要太早引入模式,而應該在重構中,以模式為目標。
2. 對測試**的重構:
1). 使用恰當的斷言,如兩個數值相等使用assertequals; 要斷言乙個值為false,使用assertfalse.
2). 時刻將test的預設環境fixture整合到單一的setup,所以測試累應該使用功能,而不是結構(被測試類)來組織,對於結構關係,可使用testsuite實現。
3)對不滿足普遍使用的fixture進行拆分
4)不要讓test方法和testcae名稱之間有重複的資訊,為testcase命名要反映其預設環境,為方法命名要反映其測試的行為
5) 使用ant或xml組織測試類間的層次關係。
第四章:
1. 測試的一些建議
1)從簡單測試開始
2)在測試中使用message引數提供失敗資訊的解釋,說明失敗的條件
3)保持測試方法簡單,讓斷言數最少
4)盡早測試邊界條件
5)介面生命不超過三個比較好
6)避免在測試中使用system.out和system。err, 如果要產生日誌資訊,則可採用setup和teardown重定向到檔案
7)編寫測試從斷言開始
8)對於網路環境和資料庫使用mock實現
第五章: junit擴充套件
1. 標準擴充套件,在junit.extension包中。
1)activetestsuite 編寫以實時方式進行互動的測試,每個測試都在自己的執行緒中執行,知道所有測試都結束才算完成。
2)testdecorator:可以繼承testdecorator過載run方法,完成在basicrun呼叫前後執行的工作
3)repeatedtest: 使用這個類讓乙個test執行指定的次數
4)testsetup:為一整套測試(乙個testsuite)中執行一次性的setup和teardown
2. junitperf使用timedtest執行效能測試(測試測試在多長時間完成的斷言);使用loadtest執行擴充套件性測試(n個人同時執行時在多長時間完成) ; 通過裝飾httpunit度量web頁面效能;裝飾cactus測試servlet或ejb效能;
3. xmlunit:對產生和接收xml訊息的系統進行測試,可以對以下內容斷言:兩端xml之間的差異;一段xml的有效性;通過xslt轉換xml後的輸出結果;對一段xml計算xpath表示式的結果;通過dom遍歷一段xml中的各個節點。
4. dbunit :dbunit的設計理念就是在測試之前,備份資料庫,然後給物件資料庫植入我們需要的準備資料,最後,在測試完畢後,讀入備份資料庫,回溯到測試前的狀態;
參考:第六章:模擬物件
模擬物件的用途:
1)由內到外利用測試驅動開發,通過對模擬物件設定期望值,對正在開發的**提供特定的資訊
2)推遲必需的類實現,如尚未編寫但正開發的**需要與之互動
3) 提倡使用介面,這樣對每個介面才好設計模擬物件
4)用來測試不太可能出現的情況
可實現的功能:
1)每次呼叫返回不同的值
2)監測模擬物件的呼叫情況,如:引數和呼叫個數
下面將開始 測試驅動開發的實戰了!
測試驅動開發 實用指南2
第八章 合理劃分每層,在gui中不包含邏輯 對gui的測試使用httpunit或qtp可能效果更好 第九章 專案描述 拿到乙個專案,先按user case對需求進行分析,對於每個user case劃分任務,針對每個任務設計測試。比如增加使用者在j2ee中分為 頁面 useradd.jsp,users...
測試驅動開發
測試驅動開發 test driven development,英文縮寫tdd 是極限程式設計的乙個重要組成部分,它的基本思想就是在開發功能 之前,先編寫測試 也就是說在明確要開發某個功能後,首先思考如何對這個功能進行測試,並完成測試 的編寫,然後編寫相關的 滿足這些測試用例。然後迴圈進行新增其他功能...
測試驅動開發
在開發的過程中,總有種憂慮感,擔心系統會出現這樣或那樣的bug,修改bug後,更要把所有的流程重測一遍。於是我們在完成 後,編寫測試程式,將所有的流程通過測試程式自動跑一遍。測試驅動開發就在這種需求下誕生了。它將測試用例的開發提到了功能 之前,這樣功能 是為滿足測試用例能通過而開發,同時,測試用例也...