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

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

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

定 價(jià):¥45.00

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

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

對本書的贊譽(yù)
譯者序

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

本目錄推薦

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