注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件工程及軟件方法學測試驅(qū)動的面向?qū)ο筌浖_發(fā)

測試驅(qū)動的面向?qū)ο筌浖_發(fā)

測試驅(qū)動的面向?qū)ο筌浖_發(fā)

定 價:¥45.00

作 者: (美)弗里曼,(美)普雷斯 著,王海鵬 等譯
出版社: 機械工業(yè)出版社
叢編項: 開發(fā)人員專業(yè)技術叢書
標 簽: 軟件工程/開發(fā)項目管理

ISBN: 9787111304258 出版時間: 2010-06-01 包裝: 平裝
開本: 16開 頁數(shù): 253 字數(shù):  

內(nèi)容簡介

  《測試驅(qū)動的面向?qū)ο筌浖_發(fā)》采用通俗易懂的比喻,眾所周知的編程語言,短小精悍的工作實例,深入淺出的分析處理——仿佛在和幾位世界級的編程高手一邊喝茶,一邊聊天,循序漸進地讓讀者在不知不覺中進入編程的最高境界。即使是剛剛?cè)腴T的初學者,也會從中找到讀書的樂趣。因為可以從一開始就找到開啟面向?qū)ο箝_發(fā)大門的鑰匙;隨著經(jīng)驗的積累,編程水平的提高,再來看這《測試驅(qū)動的面向?qū)ο筌浖_發(fā)》,用不同的視角重新審視程序,又會體會到更深層的編程哲學。《測試驅(qū)動的面向?qū)ο筌浖_發(fā)》是編程愛好者的啟蒙指南,更是系統(tǒng)分析人員、測試人員、程序設計人員、軟件開發(fā)人員以及面向?qū)ο蟪绦蜓芯咳藛T等專業(yè)人士革新編程思想的必備手冊。

作者簡介

  Steve Freeman是一名獨立咨詢師,擅長領域是敏捷軟件開發(fā)(http://www.m3p.co.uk)。他與Nat Pryce一同贏得了2006年敏捷聯(lián)盟的Gordon Pask獎。他是倫敦極限星期二俱樂部(London Extreme Tuesday Club)的創(chuàng)建成員,也是第一任倫敦XP日(London XP Day)的主席,還經(jīng)常在國際會議上擔任組織者和演講者。 Steve曾在各種類型的組織中工作過,從為IBM開發(fā)完整零售版軟件,到為大的研究實驗室開發(fā)原型。Steve擁有劍橋大學的哲學博士學位,并擁有統(tǒng)計和音樂學位。Steve居住在英國倫敦。

圖書目錄

對本書的贊譽
譯者序

前言
作者簡介
致謝
第一部分 簡介
第1章 測試驅(qū)動開發(fā)的要點
1.1 軟件開發(fā)是一個學習過程
1.2 反饋是基本工具
1.3 支持變化的實踐
1.4 測試驅(qū)動開發(fā)簡介
1.5 大局
1.6 用戶場景測試
1.7 測試的級別
1.8 外部品質(zhì)與內(nèi)部品質(zhì)
第2章 測試驅(qū)動開發(fā)與對象
2.1 對象之網(wǎng)
2.2 值與對象
2.3 對象通信
2.4 吩咐,不要問
2.5 但有時要問
2.6 對協(xié)作的對象執(zhí)行單元測試
2.7 用模擬對象支持TDD
第3章 工具介紹
3.1 如果您已了解這些框架,可以跳過本章
3.2 Junit4簡介
3.2.1 測試用例
3.2.2 斷言
3.2.3 預期異常
3.2.4 測試裝置
3.2.5 測試執(zhí)行者
3.3 Hamcrest匹配器和assertThat()
3.4 jMock2:模擬對象
第二部分 測試驅(qū)動開發(fā)過程
第4章 啟動測試驅(qū)動循環(huán)
4.1 簡介
4.2 先測試一個可行走的骨架
4.3 決定行走的骨架的形狀
4.4 創(chuàng)建反饋源
4.5 盡早暴露不確定性
第5章 保持測試驅(qū)動循環(huán)
5.1 簡介
5.2 每個特征都從一個驗收測試開始
5.3 分離測量進度的測試和捕捉回歸錯誤的測試
5.4 從最簡單的成功場景開始測試
5.5 編寫您愿意讀的測試
5.6 看著測試失敗
5.7 從輸入開發(fā)到輸出開發(fā)
5.8 針對行為進行單元測試,而非針對方法
5.9 聆聽測試
5.10 調(diào)整循環(huán)
第6章 面向?qū)ο箫L格
6.1 簡介
6.2 為可維護性而設計
6.3 內(nèi)部與同級的比較
6.4 沒有“與”、“或”、“但是”
6.5 對象同級構(gòu)造型
6.6 組合比它的部分之和更簡單
6.7 上下文無關性
6.8 E確地隱藏信息
6.9 固執(zhí)己見的觀點
第7章 實現(xiàn)面向?qū)ο笤O計
7.1 先寫測試怎樣有助于設計
7.2 通信比分類更重要
7.3 值類型
7.4 對象來自何處
7.4.1 分解
7.4.2 萌芽
7.4.3 打包
7.5 利用接口確定關系
7.6 接口也要重構(gòu)
7.7 組合對象以描述系統(tǒng)行為
7.8 邁向更高層的編程
7.9 關于類
第8章 基于第三方代碼構(gòu)建
8.1 簡介
8.2 只模擬您擁有的類型
8.2.1 不要模擬您不能修改的類型
8.2.2 編寫一個適配層
8.3 在集成測試中模擬應用對象
第三部分 工作的例子
第9章 委托開發(fā)一個拍賣狙擊者
9.1 從頭開始
9.2 與一次拍賣通信
9.2.1 拍賣協(xié)議
9.2.2 XMPP消息
9.3 安全實現(xiàn)目標
9.4 這不是真的
第10章 可行走的骨架
10.1 從壁櫥中取出骨架
10.2 我們的第一個測試
10.3 一些初始選擇
10.3.1 用戶場景測試
10.3.2 準備開始
第11章 通過第一個測試
11.1 構(gòu)建測試的裝配
11.1.1 應用執(zhí)行者
11.1.2 偽造的拍賣
11.1.3 消息代理
11.2 測試失敗和通過
11.2.1 第一個用戶界面
11.2.2 顯示狙擊者狀態(tài)
11.2.3 連接到拍賣
11.2.4 從拍賣接收回應
11.3 必需的最小實現(xiàn)
第12章 準備競拍
12.1 對市場的介紹
12.2 針對競拍的測試
12.2.1 從測試開始
12.2.2 擴展偽造的拍賣
12.2.3 令人吃驚的失敗
12.2.4 由外至內(nèi)開發(fā)
12.2.5 對細節(jié)的無限關注
12.3 Auction Message Translator類
12.3.1 提取出一個新類
12.3.2 第一個單元測試
12.3.3 完成用戶界面循環(huán)
12.3.4 我們實現(xiàn)了什么
12.4 解析價格消息
12.4.1 引入消息事件類型
12.4.2 第二個測試
12.4.3 發(fā)現(xiàn)進一步的工作
12.5 完成工作
第13章 狙擊者發(fā)出競拍出價
13.1 引入Auction Sniper
13.1.1 一個新類及其依賴關系
13.1.2 關注、關注、關注
13.2 發(fā)送竟拍出價
13.2.1 Auction接口
13.2.2 Auction Sniper發(fā)出竟拍出價
13.2.3 利用Auction Sniper成功竟拍
13.2.4 用戶場景測試通過了
13.3 整理實現(xiàn)
13.3.1 提取出XMPP Auction
13.3.2 提取用戶界面
13.3.3 整理翻譯者類
13.4 延遲決定
13.5 自然發(fā)生的設計
第14章 狙擊者贏得拍賣
14.1 先寫一個失敗的測試
14.2 誰知道競拍者
14.3 狙擊者還有話要說
14.4 狙擊者需要某種狀態(tài)
14.5 狙擊者獲勝
14.6 取得穩(wěn)定的進展
第15章 邁向真正的用戶界面
15.1 更現(xiàn)實的實現(xiàn)
15.1.1 接下來我們該做什么
15.1.2 替換JLabel
15.1.3 還是很丑
15.2 顯示價格細節(jié)
15.2.1 先寫一個失敗的測試
15.2.2 狙擊者送出狀態(tài)
15.2.3 展現(xiàn)竟拍狙擊者
15.3 簡化狙擊者事件
15.3.1 跟著感覺走
15.3.2 重新確定sniper Bidding()的目標
15.3.3 填人數(shù)字
15.4 更進一步
15.4.1 轉(zhuǎn)換勝利和失敗
15.4.2 修整表模型
15.4.3 面向?qū)ο蟮牧?br />15.4.4 縮短事件路徑
15.5 最后潤色
15.5.1 針對列標題的測試
15.5.2 實現(xiàn)Table Model
15.5.3 目前已足夠
15.6 短評
15.6.1 單一職責
15.6.2 軟件微創(chuàng)手術
15.6.3 程序員過敏癥
15.6.4 慶賀思維轉(zhuǎn)變
15.6.5 這不是唯一的解決方案
第16章 狙擊多項物品
16.1 針對多項物品的測試
16.1.1 兩件物品的故事
16.1.2 Applieation Runner類
16.1.3 偏離主題,改進失敗信息
16.1.4 重新設計Main的結(jié)構(gòu)
16.1.5 擴展表模型
16.2 通過用戶界面添加物品
16.2.1 更簡單的設計
16.2.2 更新測試
16.2.3 添加一個動作條
16.2.4 設計時刻
16.2.5 另一層次的測試
16.2.6 實現(xiàn)User Request Ustener
16.3 短評
16.3.1 取得穩(wěn)定的進展
16.3.2 FDD的秘密
16.3.3 發(fā)布它
第17章 分解Main
17.1 發(fā)現(xiàn)角色
17.2 提取Chat
17.2.1 分離Chat
17.2.2 封裝Chat
17.2.3 編寫一個新測試
17.3 提取Connection
17.4 提取出Snipers Table Model
17.4.1 狙擊啟動者類Sniper Launeher
17.4.2 狙擊組合
17.5 短評
17.5.1 增量式架構(gòu)
17.5.2 三點不動
17.5.3 動態(tài)設計的同時也進行靜態(tài)設計
17.5.4 對not To Be GCd的另一種修復方法
第18章 填充細節(jié)
18.1 更有用的應用
18.2 適可而止
18.2.1 引入落后狀態(tài)
18.2.2 第一個失敗的測試
18.2.3 輸入停止價格
18.2.4 傳送停止價格
18.2.5 約束Auction Sniper
18.3 短評
18.3.1 增量式設計用戶界面
18.3.2 其他建模技術也有用
18.3.3 領域類型比字符串好
第19章 處理失敗
19.1 如果它不能工作
19.2 檢測失敗
19.3 顯示失敗
19.4 斷開狙擊者
19.5 記錄失敗
19.5.1 填充測試
19.5.2 翻譯者中的失敗報告
19.5.3 生成日志消息
19.5.4 完成這次開發(fā)循環(huán)
19.6 短評
19.6.1 “切香腸的逆過程”式開發(fā)
19.6.2 用一些小方法來表達意圖
19.6.3 日志也是一項功能
第四部分 可持續(xù)的測試驅(qū)動開發(fā)
第20章 聆聽測試
20.1 簡介
20.2 我需要模擬一個不能替換的對象
20.2.1 單例是依賴關系
20.2.2 從過程到對象
20.2.3 隱式依賴也是依賴
20.3 記日志是一項功能
20.3.1 通知而不是記日志
20.3.2 但這種想法很瘋狂
20.4 模擬具體的類
20.5 不要模擬值類型
20.6 膨脹的構(gòu)造方法
20.7 令人困惑的對象
20.8 太多依賴關系
20.9 太多預期
20.10 測試會告訴我們什么
第21章 測試可讀性
21.1 簡介
21.2 測試名稱描述功能
21.3 規(guī)范的測試結(jié)構(gòu)
21.4 精簡測試代碼
21.4.1 用結(jié)構(gòu)來解釋
21.4.2 利用結(jié)構(gòu)來共享
21.4.3 強調(diào)正面
21.4.4 代理給從屬對象
21.5 斷言和預期
21.6 具體值和變量
第22章 構(gòu)造復雜的測試數(shù)據(jù)
22.1 簡介
22.2 測試數(shù)據(jù)建造者
22.3 創(chuàng)建一些類似的對象
22.4 組合建造者
22.5 利用工廠方法強調(diào)領域模型
22.6 從使用的角度消除重復
22.6.1 首先,消除重復
22.6.2 然后,讓游戲升級
22.7 溝通第
第23章 測試診斷
23.1 要的就是失敗
23.2 小、專注、良好命名的測試
23.3 解釋性斷言消息
23.4 利用匹配器對象來突出細節(jié)
23.5 自描述的值
23.6 明顯的預裝值
23.7 跟蹤者對象
23.8 明確斷言預期得到滿足
23.9 診斷是一級功能
第24章 測試的靈活性
24.1 簡介
24.2 針對信息測試,而非針對表示方法
24.3 準確斷言
24.4 準確預期
24.4.1 準確的參數(shù)匹配
24.4.2 允許和預期
24.4.3 忽略不相關的對象
24.4.4 調(diào)用次序
24.4.5 jMock States的威力
24.4.6 更為自由的預期
24.5 “豚鼠”對象
第五部分 高級主題
第25章 測試持久性
25.1 簡介
25.2 隔離影響持久狀態(tài)的那些測試
25.3 明確測試的事務邊界
25.4 測試一個執(zhí)行持久操作的對象
25.5 測試對象能夠持久
25.5.1 來回轉(zhuǎn)換持久對象
25.5.2 來回轉(zhuǎn)換相關的實體
25.6 但數(shù)據(jù)庫測試很慢
第26章 單元測試與線程
26.1 簡介
26.2 分離功能和并發(fā)策略
26.2.1 并發(fā)地搜索拍賣
26.2.2 引入Executor
26.2.3 實現(xiàn).Auction Search
26.3 對同步進行單元測試
26.3.1 針對Auction Search的壓力測試
26.3.2 兩次修復競爭條件
26.4 對被動對象進行壓力測試
26.5 同步測試線程和后臺的多線程
26.6 單元壓力測試的局限性
第27章 測試異步代碼
27.1 簡介
27.2 取樣或監(jiān)聽
27.3 兩種實現(xiàn)
27.3.1 捕獲通知
27.3.2 輪詢變更
27.3.3 超時
27.3.4 改進探測類
27.4 輕易成功的測試
27.5 錯過更新
27.6 測試沒有效果的活動
27.7 區(qū)分同步和斷言
27.8 事件源外部化
后記模擬對象簡史
附錄A jMock2速查手冊
附錄B編寫Hamcrest Matcher
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號