測試驅動開發 實用指南1

2021-09-30 05:01:09 字數 1577 閱讀 3228

前兩章:

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後,更要把所有的流程重測一遍。於是我們在完成 後,編寫測試程式,將所有的流程通過測試程式自動跑一遍。測試驅動開發就在這種需求下誕生了。它將測試用例的開發提到了功能 之前,這樣功能 是為滿足測試用例能通過而開發,同時,測試用例也...