注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合設(shè)計(jì)驅(qū)動(dòng)測試

設(shè)計(jì)驅(qū)動(dòng)測試

設(shè)計(jì)驅(qū)動(dòng)測試

定 價(jià):¥49.00

作 者: Matt Stephens,Doug Rosenberg 著,鄭靜,等 譯
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng): 信息科學(xué)與技術(shù)叢書
標(biāo) 簽: 計(jì)算機(jī)/網(wǎng)絡(luò) 軟件工程/開發(fā)項(xiàng)目管理

ISBN: 9787111440666 出版時(shí)間: 2014-01-01 包裝: 平裝
開本: 16開 頁數(shù): 292 字?jǐn)?shù):  

內(nèi)容簡介

  《信息科學(xué)與技術(shù)叢書:設(shè)計(jì)驅(qū)動(dòng)測試》主要介紹了設(shè)計(jì)驅(qū)動(dòng)測試(DDT)的思想和一種全新的軟件開發(fā)過程—ICONIX。作者希望通過一個(gè)個(gè)真實(shí)而具體的案例告訴讀者,如何在實(shí)踐中達(dá)到測試的最佳平衡和優(yōu)化。《信息科學(xué)與技術(shù)叢書:設(shè)計(jì)驅(qū)動(dòng)測試》共分12章,第1~3章介紹了全新的DDT和傳統(tǒng)的TDD之間的差異。第4~8章通過一個(gè)真實(shí)的Web地圖案例,講解了如何在項(xiàng)目實(shí)踐中運(yùn)用DDT的思想。第9~12章主要描述了如何在自動(dòng)化測試、算法測試、單元測試等環(huán)節(jié)中使用DDT?!缎畔⒖茖W(xué)與技術(shù)叢書:設(shè)計(jì)驅(qū)動(dòng)測試》可供軟件開發(fā)人員、測試人員以及項(xiàng)目管理人員閱讀和參考。

作者簡介

暫缺《設(shè)計(jì)驅(qū)動(dòng)測試》作者簡介

圖書目錄

出版說明
譯者序

關(guān)于作者
關(guān)于技術(shù)評(píng)審人
致謝
開場白
第一部分DDTvs.TDD第1章 有人弄反了
DDT要解決的問題
很難知道什么時(shí)候完成
將測試放在后期代價(jià)更大
測試設(shè)計(jì)糟糕的代碼很困難
用戶級(jí)測試很容易被遺忘
開發(fā)人員變得自負(fù)
測試有時(shí)缺少目標(biāo)
對(duì)DDT的與工具無關(guān)的快速概覽
DDT的結(jié)構(gòu)
DDT實(shí)戰(zhàn)
TDD與DDT的不同之處
示例項(xiàng)目:Mapplet2.0介紹
小結(jié)
第2章 使用TDD的HelloWorld
TDD的十大特性
10.測試驅(qū)動(dòng)設(shè)計(jì)
9.完全沒有文檔
8.所有東西都是單元測試
7.TDD測試不是完全的單元測試
6.驗(yàn)收測試提供針對(duì)需求的反饋
5.TDD導(dǎo)致盲目自信的變更
4.設(shè)計(jì)在不斷增長
3.有一些預(yù)先設(shè)計(jì)就可以了
2.TDD產(chǎn)生了大量測試
1.TDD實(shí)在太難了
使用TDD實(shí)現(xiàn)登錄用例
理解需求
考慮設(shè)計(jì)
編寫第一個(gè)測試先行的測試
編寫登錄檢查代碼從而使測試通過
創(chuàng)建模擬對(duì)象
從重構(gòu)代碼看設(shè)計(jì)的浮現(xiàn)
TDD中的驗(yàn)收測試
結(jié)論:TDD實(shí)在太難了
小結(jié)
第3章 使用DDT的HelloWorld
ICONIX/DDT的十大特性
10.DDT包含業(yè)務(wù)需求測試
9.DDT包含場景測試
8.測試是被設(shè)計(jì)驅(qū)動(dòng)的
7.DDT包含控制器測試
6.DDT測試更靈活,更簡單
5.DDT中的單元測試是“經(jīng)典”的單元測試
4.DDT中的測試用例可以轉(zhuǎn)換成測試代碼
3.DDT測試用例指導(dǎo)測試計(jì)劃
2.DDT測試對(duì)開發(fā)和測試團(tuán)隊(duì)都很有用
1.DDT可以消除重復(fù)工作
使用DDT實(shí)現(xiàn)登錄
步驟1:創(chuàng)建健壯性圖
步驟2:創(chuàng)建控制器測試
步驟3:添加場景
步驟4:將控制器測試用例轉(zhuǎn)換成為類
步驟5:生成控制器測試代碼
步驟6:繪制序列圖
步驟7:創(chuàng)建單元測試用例
步驟8:填充測試代碼
小結(jié)
第二部分真實(shí)世界中的DDT:Mapplet2.0旅游網(wǎng)站
第4章 Mapplet項(xiàng)目簡介
ICONIX流程/DDT十大“To-Do”列表
10.創(chuàng)建架構(gòu)
9.對(duì)需求達(dá)成共識(shí)并進(jìn)行測試
8.從問題域驅(qū)動(dòng)設(shè)計(jì)
7.使用UI故事板編寫用例
6.編寫場景測試驗(yàn)證用例
5.測試概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)
4.經(jīng)常更新模型
3.保持測試腳本與需求同步
2.更新自動(dòng)化測試
1.比較待發(fā)布版本和原始用例
小結(jié)
第5章 詳細(xì)設(shè)計(jì)和單元測試
單元測試十大“To-Do”列表
10.從序列圖開始
9.在設(shè)計(jì)中標(biāo)識(shí)測試用例
8.為每個(gè)測試用例編寫場景
7.聰明測試:避免重疊測試
6.把測試用例轉(zhuǎn)換為UML類
5.編寫單元測試和相關(guān)的代碼
4.編寫白盒單元測試
3.使用模擬對(duì)象框架
2.用單元測試測試算法邏輯
1.編寫集成測試的獨(dú)立套件
小結(jié)
第6章 概要設(shè)計(jì)和控制器測試
控制器測試十大“To-Do”列表
10.從健壯性圖開始
9.為控制器標(biāo)識(shí)測試用例
8.為每個(gè)測試用例定義一個(gè)或者多個(gè)場景
7.填寫描述、輸入和驗(yàn)收標(biāo)準(zhǔn)
6.生成測試類
5.實(shí)現(xiàn)測試代碼
4.編寫容易測試的代碼
3.編寫“灰盒”控制器測試
2.串聯(lián)控制器測試
1.編寫集成測試的獨(dú)立套件
小結(jié)
第7章 驗(yàn)收測試:擴(kuò)展用例場景
場景測試的十大“To-Do”列表
Mapplet用例
10.從一個(gè)敘述性用例開始
9.把這個(gè)用例轉(zhuǎn)換成一個(gè)結(jié)構(gòu)化的場景
8.確保涵蓋所有的可選方案和意外場景
7.增加前置條件和后置條件,將每個(gè)場景分支連接起來
6.生成活動(dòng)圖來檢查結(jié)構(gòu)化場景
5.創(chuàng)建外部測試集來細(xì)化場景
4.把測試用例放進(jìn)用例圖
3.進(jìn)入EA測試視圖
2.根據(jù)需要細(xì)化場景
1.為測試團(tuán)隊(duì)生成測試計(jì)劃文檔
這個(gè)過程的精髓是……
小結(jié)
第8章 驗(yàn)收測試:業(yè)務(wù)需求
十大需求測試“To-Do”列表
10.從一個(gè)域模型開始
9.編寫業(yè)務(wù)需求測試
8.對(duì)需求進(jìn)行建模和整理
7.從需求創(chuàng)建測試用例
6.與用戶一起審查你的計(jì)劃
5.編寫手工測試腳本
4.編寫自動(dòng)化需求測試
3.導(dǎo)出需求測試用例
2.使測試用例可見
1.讓你的團(tuán)隊(duì)參與其中!
小結(jié)
第三部分高級(jí)DDT
第9章 單元測試的反模式(反面案例)
末日圣殿(特指某一種代碼)
大背景
HotelPriceCalculator類
支持類
服務(wù)類
反模式
10.復(fù)雜的構(gòu)造函數(shù)
9.濫用類繼承
8.靜態(tài)微觸發(fā)器
7.靜態(tài)方法和變量
6.單例設(shè)計(jì)模式
5.緊耦合
4.UI代碼里實(shí)現(xiàn)業(yè)務(wù)邏輯
3.濫用私有屬性
2.聲明為final的服務(wù)對(duì)象
1.熱心的程序員開發(fā)的不成熟的功能
小結(jié)
第10章 為易于測試而設(shè)計(jì)
十大為測試而設(shè)計(jì)的“To-Do”列表
末日圣殿——徹底修正
用例——確定我們需要做什么
識(shí)別控制器測試
計(jì)算總價(jià)格測試
獲取最新價(jià)格測試
為易于測試而設(shè)計(jì)
10.將初始化代碼放在構(gòu)造函數(shù)之外
9.慎用繼承
8.避免使用靜態(tài)初始化塊
7.使用對(duì)象級(jí)別的方法和變量
6.避免使用單例設(shè)計(jì)模式
5.保持類解耦合
4.將業(yè)務(wù)邏輯放在UI代碼之外
3.使用“黑盒”和“灰盒”測試
2.為常量預(yù)留“final”修飾符——通常需要避免修飾復(fù)雜類型(如ServiceObjects)為final
1.堅(jiān)持使用用戶用例和設(shè)計(jì)
QuoteHotelPrice用例的詳細(xì)設(shè)計(jì)
控制器測試:計(jì)算總價(jià)
控制器測試:獲得最新價(jià)格的測試
重構(gòu)設(shè)計(jì)和代碼
小結(jié)
第11章 自動(dòng)化的集成測試
十大集成測試“To-Do”列表
10.在概要設(shè)計(jì)里尋找測試模式
9.不要忘記安全性測試
安全性測試:SQL注入攻擊
安全性測試:建立安全會(huì)話
8.決定編寫哪個(gè)“等級(jí)”的集成測試
三個(gè)等級(jí)的不同點(diǎn)
了解編寫哪個(gè)等級(jí)的集成測試
7.概要設(shè)計(jì)驅(qū)動(dòng)單元/控制器級(jí)別的集成測試
6.從用例場景驅(qū)動(dòng)場景測試
5.編寫端到端場景測試
模擬一個(gè)場景中的步驟
共享測試數(shù)據(jù)庫
Mapplet例子:“高級(jí)搜索”用例
VanillaxUnit場景測試
4.使用“業(yè)務(wù)友好”型測試框架
3.將測試GUI代碼作為場景測試的一部分
2.不要低估集成測試的難度
網(wǎng)絡(luò)延遲
數(shù)據(jù)庫元數(shù)據(jù)變化
隨機(jī)變化的(又名“敏捷”)接口
遠(yuǎn)程系統(tǒng)中的bugs
陰雨天
1.不要低估集成測試的價(jià)值
編寫集成測試的關(guān)鍵點(diǎn)
小結(jié)
第12章 單元測試算法
十大算法測試“To-Do”列表
10.從概要設(shè)計(jì)的控制器開始工作
9.將控制器擴(kuò)展成算法設(shè)計(jì)
8.把圖和域模型對(duì)應(yīng)起來
7.分割那些看上去不止做一個(gè)檢查的判斷結(jié)點(diǎn)
6.為每個(gè)結(jié)點(diǎn)(活動(dòng)和判斷結(jié)點(diǎn))建立一個(gè)測試用例
5.為每個(gè)測試用例定義測試場景,一組輸入和期望結(jié)果
4.按照算法,從不同的源中創(chuàng)建輸入數(shù)據(jù)
3.把邏輯流程對(duì)應(yīng)到獨(dú)立的方法和類上
2.編寫“白盒”單元測試
1.在其他類型的設(shè)計(jì)圖上使用DDT技術(shù)
小結(jié)
附錄愛麗絲漫游用例國
介紹
第1部分
愛麗絲在看書的時(shí)候睡著了
用例驅(qū)動(dòng)開發(fā)的承諾
一種把用例文本和對(duì)象連接起來的分析模型
簡潔且直接
>還是>
我們遲到了!我們必須開始編碼了!
愛麗絲想知道如何才能把用例變成代碼
抽象的……基本的
有點(diǎn)太過抽象了?
目的中心化……
我們真的打算為每個(gè)用例都指定這些東西嗎?
第2部分
愛麗絲口渴了
愛麗絲感到頭暈
設(shè)想……(敬請(qǐng)約翰·列儂原諒,這首歌改編自他的作品)
結(jié)對(duì)編程意味著再也不用把需求寫下來了
沒時(shí)間去寫需求了
你也許也會(huì)說“代碼就是設(shè)計(jì)”
誰在乎用例?
C3項(xiàng)目被中止了
一次且只有一次?
沒有寫下需求之前,愛麗絲拒絕開始寫代碼
你因?yàn)轭A(yù)先設(shè)計(jì)而被定罪……
CMM已經(jīng)死了,砍掉她的腦袋!
一些嚴(yán)肅的設(shè)計(jì)重構(gòu)
第3部分
愛麗絲醒了
縮小“什么”和“如何”之間的距離
靜態(tài)模型和動(dòng)態(tài)模型被連接在了一起
行為被定位到序列圖里
這里面的教訓(xùn)在于……
尾聲——亂七八糟的測試……
索引

本目錄推薦

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