注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計程序開發(fā)人員測試指南:構(gòu)建高質(zhì)量的軟件

程序開發(fā)人員測試指南:構(gòu)建高質(zhì)量的軟件

程序開發(fā)人員測試指南:構(gòu)建高質(zhì)量的軟件

定 價:¥69.00

作 者: [瑞典] 亞歷山大·塔林德(Alexander Tarlinder) 著,朱少民,楊曉慧,歐陽辰,曾樂天 譯
出版社: 人民郵電出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787115480088 出版時間: 2018-05-01 包裝: 平裝
開本: 16開 頁數(shù): 219 字?jǐn)?shù):  

內(nèi)容簡介

  本書分為19章,主要內(nèi)容為開發(fā)人員測試,測試目標(biāo)、方式和角色,測試術(shù)語,開發(fā)人員眼中的可測試性,契約式編程,可測試性的驅(qū)動者,單元測試,基于規(guī)格說明的測試,依賴關(guān)系,數(shù)據(jù)驅(qū)動和組合測試,準(zhǔn)單元測試,測試替身,模擬框架,測試驅(qū)動開發(fā)——經(jīng)典風(fēng)格,測試驅(qū)動開發(fā)——Mockist風(fēng)格,使用測試代碼,**單元測試,測試思路等開發(fā)人員和測試人員必知必會的知識。如果你是一個希望所寫的代碼質(zhì)量更高、缺陷更少的開發(fā)人員,那么這本書很適合你。本書介紹了如何用可測試性提升軟件質(zhì)量,在各種開發(fā)模式中,可測試性都是軟件的主要質(zhì)量屬性之一。閱讀本書,你可以成為更好的開發(fā)人員,學(xué)習(xí)到更多的軟件測試知識,不必再苦于沒有時間做測試、也無法從同事或團隊那里獲得相關(guān)的支持。

作者簡介

  朱少民,國內(nèi)軟件測試界的領(lǐng)軍人物和知名專家,三十多年來一直從事軟件測試、質(zhì)量管理和過程改進等工作,過去五年幫助了近百家企業(yè)提升其質(zhì)量保證與測試能力,先后獲得安徽省、原機械工業(yè)部、青島市、合肥市等多項科技進步獎,出版了十多部著作,包括測試方面的暢銷書《全程軟件測試》、《軟件測試方法和技術(shù)》、《完美測試》和譯作《自動化測試*佳實踐》等,經(jīng)常在國內(nèi)外會議上發(fā)表演講,并在國內(nèi)開設(shè)軟件測試MOOC課程。之前曾任思科-網(wǎng)迅(中國)軟件有限公司QA總監(jiān),目前是同濟大學(xué)軟件學(xué)院教授、中國科技大學(xué)軟件學(xué)院教指委委員。楊曉慧,前華為技術(shù)有限公司-軟件公司測試專家,1999年進入華為公司,先后參與和主持過多項產(chǎn)品測試、測試流程改造、測試工程師職責(zé)定義等工作。工作覆蓋測試策略、測試設(shè)計、測試評估和過程管理等軟件測試工程的各個方面,在自動化、可靠性驗證、可服務(wù)性驗證、可測試性設(shè)計等領(lǐng)域上都有豐富的經(jīng)驗。2007年以后主管軟件公司的測試技術(shù)架構(gòu)設(shè)計、實現(xiàn)、應(yīng)用,通過幫助產(chǎn)品持續(xù)積累和提升測試技術(shù)能力,實現(xiàn)研發(fā)的效率和質(zhì)量提升。歐陽辰,品友互動CTO。推動品友大數(shù)據(jù)智能戰(zhàn)略,成為程序化廣告的知名公司。加入品友之前,曾在微軟、小米和甲骨文工作:曾任小米研發(fā)總監(jiān),負(fù)責(zé)廣告和大數(shù)據(jù)平臺,曾在微軟工作十年,負(fù)責(zé)搜索和廣告平臺的核心大數(shù)據(jù)項目,持有數(shù)項國內(nèi)外專利,著有《Druid實時大數(shù)據(jù)分析》。曾樂天,博士,畢業(yè)于西安電子科技大學(xué),現(xiàn)在工業(yè)和信息化部電子第五研究所(中國賽寶實驗室)從事軟件測評方面的研究工作。

圖書目錄

第 1章 開發(fā)者測試 1
1.1 開發(fā)者測試 1
1.2 開發(fā)人員測試活動 2
1.2.1 單元測試 2
1.2.2 集成測試 2
1.2.3 維護 2
1.2.4 持續(xù)集成 3
1.2.5 自動化測試 3
1.3 開發(fā)人員通常不做什么 4
1.4 定義“開發(fā)者測試” 5
1.5 開發(fā)人員測試和開發(fā)過程 5
1.6 小結(jié) 6
第 2章 測試目標(biāo)、方式和角色 7
2.1 測試和檢查 7
2.2 測試目標(biāo) 7
2.2.1 批判式測試 8
2.2.2 支持式測試 8
2.3 測試方式 8
2.3.1 傳統(tǒng)測試 9
2.3.2 敏捷測試 10
2.3.3 BDD、ATDD和實例化需求 11
2.4 質(zhì)量保證和開發(fā)者測試 13
2.5 小結(jié) 14
第3章 測試術(shù)語 15
3.1 錯誤、缺陷、失效 15
3.2 白盒測試與黑盒測試 16
3.3 測試技術(shù)分類 16
3.3.1 測試級別 17
3.3.2 測試類型 19
3.3.3 讓測試級別和測試類型
發(fā)揮作用 21
3.4 敏捷測試四象限 22
3.5 其他類型的測試 23
3.5.1 冒煙測試 23
3.5.2 端到端測試 24
3.5.3 特性測試 24
3.5.4 正面測試和負(fù)面測試 24
3.5.5 小型、中型和大型測試 24
3.6 小結(jié) 25
第4章 開發(fā)者眼中的可測試性 26
4.1 可測試的軟件 26
4.2 可測試性的好處 27
4.2.1 功能可被驗證 27
4.2.2 減少意外 28
4.2.3 它可以改變 28
4.2.4 為什么要注重可測試性 29
4.3 可測試性的定義 30
4.3.1 可觀察性 31
4.3.2 可控制性 33
4.3.3 可部署性 34
4.3.4 可隔離性 35
4.3.5 小規(guī)模(smallness) 36
4.3.6 單一性 36
4.3.7 抽象級別 37
4.3.8 效率(efficiency) 38
4.3.9 復(fù)用 38
4.3.10 可測試性的提示 38
4.4 小結(jié) 39
第5章 契約式編程 40
5.1 契約形式化約束 41
5.2 實現(xiàn)契約式編程 42
5.3 強制契約 43
5.3.1 斷言 43
5.3.2 支持契約的類庫 44
5.3.3 單元測試 45
5.3.4 靜態(tài)分析 45
5.4 小結(jié) 45
第6章 可測試性的驅(qū)動者 47
6.1 直接輸入和輸出 47
6.2 間接輸入和輸出 48
6.3 狀態(tài) 49
6.4 時序耦合 50
6.5 數(shù)據(jù)類型和可測試性 50
6.6 域值比 54
6.7 小結(jié) 55
第7章 單元測試 56
7.1 為什么做單元測試? 56
7.2 什么是單元測試 57
7.3 單元測試框架的生命周期 58
7.3.1 測試方法 59
7.3.2 測試初始化器和清除 59
7.3.3 構(gòu)造函數(shù)和析構(gòu)函數(shù) 60
7.4 測試命名 60
7.4.1 測試框架的強制規(guī)定 60
7.4.2 行為驅(qū)動的開發(fā)方式 61
7.4.3 工作單元、測試狀態(tài)、
所期望的行為 61
7.4.4 選擇一個命名標(biāo)準(zhǔn) 61
7.5 測試結(jié)構(gòu)化 62
7.6 斷言方法 63
7.6.1 斷言類型 63
7.6.2 每個測試有多少斷言 64
7.6.3 斷言冗長 65
7.6.4 斷言等式 66
7.6.5 限制和匹配器 67
7.7 測試異?!?0
7.8 行為驅(qū)動開發(fā)方式的框架 72
7.8.1 測試結(jié)構(gòu) 72
7.8.2 命名測試 73
7.8.3 匹配器 74
7.9 小結(jié) 75
第8章 基于規(guī)格說明的測試 76
8.1 等價類劃分 76
8.2 邊界值分析 78
8.3 典型數(shù)據(jù)類型的邊緣用例和其他
測試用例 79
8.3.1 數(shù)字 79
8.3.2 字符串 79
8.3.3 日期和時間 80
8.3.4 集合 80
8.4 狀態(tài)轉(zhuǎn)移測試 81
8.5 決策表 82
8.6 小結(jié) 83
第9章 依賴關(guān)系 84
9.1 對象間依賴關(guān)系 84
9.1.1 傳入?yún)f(xié)作者 85
9.1.2 使用工廠方法 86
9.1.3 提供一個外部工廠或者
生成器 87
9.2 系統(tǒng)資源依賴關(guān)系 89
9.2.1 文件 89
9.2.2 提供你自己的抽象 89
9.2.3 測試由I/O操作處理過的
數(shù)據(jù) 90
9.2.4 系統(tǒng)時鐘 91
9.2.5 其他系統(tǒng)資源依賴關(guān)系 92
9.3 層間依賴關(guān)系 92
9.4 跨層級依賴關(guān)系 94
9.5 小結(jié) 95
第 10章 數(shù)據(jù)驅(qū)動和組合測試 96
10.1 參數(shù)化測試 98
10.2 Theories 99
10.3 生成式測試 101
10.3.1 驗證結(jié)果 102
10.4 組合測試 103
10.4.1 單模式故障 104
10.4.2 雙模式故障 105
10.4.3 雙模式故障和所有成對變量
之外 106
10.5 小結(jié) 106
第 11章 準(zhǔn)單元測試 107
11.1 實例 107
11.1.1 使用內(nèi)存數(shù)據(jù)庫的測試 108
11.1.2 測試專用的郵件服務(wù)器 108
11.1.3 使用輕量級容器的測試 109
11.1.4 Web服務(wù)測試 110
11.2 影響 111
11.3 小結(jié) 112
第 12章 測試替身 113
12.1 樁對象 113
12.1.1 樁對象的靈活性 114
12.1.2 用樁對象來避免副作用 115
12.2 偽對象 116
12.3 模擬對象 117
12.3.1 驗證間接輸出 117
12.3.2 驗證間接輸入轉(zhuǎn)換 121
12.4 探針 122
12.5 啞對象 123
12.6 驗證狀態(tài)還是行為 124
12.6.1 狀態(tài)驗證 124
12.6.2 行為驗證 125
12.6.3 參數(shù) 125
12.7 小結(jié) 126
第 13章 模擬框架 127
13.1 創(chuàng)建測試替身 127
13.2 設(shè)置預(yù)期 128
13.3 驗證交互行為 131
13.4 誤用、濫用和其他陷阱 133
13.4.1 過度驗證 133
13.4.2 模擬具體類 134
13.4.3 模擬有價值的類 135
13.4.4 Mock返回Mock 135
13.5 小結(jié) 135
第 14章 測試驅(qū)動開發(fā)——經(jīng)典風(fēng)格 137
14.1 測試驅(qū)動一個簡單的搜索引擎 137
14.1.1 測試1:發(fā)現(xiàn)API 138
14.1.2 測試2:主邏輯路徑
(Happy Path) 139
14.1.3 測試3:多文件索引 140
14.1.4 測試4:更復(fù)雜的文件 141
14.1.5 測試5:在多文件中找到
單詞 141
14.1.6 測試6:消除重復(fù)的
匹配(Matches) 142
14.1.7 測試7:引入排序 143
14.1.8 測試8:忽略大小寫 145
14.1.9 測試9:處理標(biāo)點符號 146
14.2 測試的順序 147
14.3 紅色到綠色狀態(tài)條的策略 147
14.4 挑戰(zhàn) 148
14.4.1 我們的代碼無法被測試 149
14.4.2 我們的代碼很特殊 150
14.4.3 測試驅(qū)動開發(fā)不是完整的
測試 150
14.4.4 從零開始 150
14.5 測試最先還是最后 151
14.6 小結(jié) 151
第 15章 測試驅(qū)動開發(fā)——Mockist風(fēng)格 153
15.1 一種不同的方法 153
15.1.1 測試驅(qū)動用戶注冊 154
15.1.2 增加更多測試 158
15.2 雙環(huán)TDD 159
15.2.1 另一個反饋環(huán) 159
15.2.2 關(guān)閉周期 160
15.3 小結(jié) 160
第 16章 復(fù)制 161
16.1 復(fù)制的壞處 161
16.2 利用復(fù)制的好處 162
16.3 機械復(fù)制 163
16.3.1 拷貝、粘貼 163
16.3.2 塊拷貝、粘貼 163
16.3.3 構(gòu)造函數(shù)拷貝、粘貼 164
16.3.4 方法復(fù)制 165
16.4 知識復(fù)制 166
16.4.1 不同方法中的類似功能 167
16.4.2 功能相似的類 167
16.4.3 競爭性實現(xiàn) 168
16.4.4 競爭性領(lǐng)域模型 168
16.5 小結(jié) 169
第 17章 使用測試代碼 170
17.1 測試代碼中的注釋 170
17.2 刪除測試用例 173
17.2.1 需要被刪除的主要候選者 173
17.2.2 需要被刪除的可能候選者 174
17.2.3 刪除測試用例的重要性 174
17.3 小結(jié) 175
第 18章 超越單元測試 176
18.1 單元測試以外的測試 176
18.1.1 封裝在事務(wù)內(nèi)的測試 176
18.1.2 需要使用服務(wù)或組件的
測試 178
18.1.3 需要與其他系統(tǒng)交互的
測試 179
18.1.4 通過UI運行的測試 181
18.1.5 需要調(diào)用一個系統(tǒng)的測試 183
18.1.6 更多內(nèi)容 184
18.2 單元測試不具備的特征 185
18.2.1 復(fù)雜性 186
18.2.2 穩(wěn)定性 186
18.2.3 缺陷定位 187
18.2.4 性能 187
18.2.5 環(huán)境依賴性 188
18.2.6 目標(biāo)受眾 188
18.3 實踐指南 189
18.3.1 測試的獨立性 189
18.3.2 配置 189
18.3.3 驗證 191
18.3.4 利用測試替身 191
18.3.5 決定開發(fā)者測試策略 192
18.4 小結(jié) 193
第 19章 測試思路與啟發(fā)式 194
19.1 高層注意事項 194
19.1.1 測試有效性 194
19.1.2 測試配方 194
19.1.3 抽象級別及其細(xì)節(jié) 195
19.1.4 原型 195
19.1.5 可信來源(結(jié)果判斷
依據(jù)) 196
19.2 低層注意事項 196
19.2.1 0-1-n 196
19.2.2 空值(null) 196
19.2.3 范圍 196
19.2.4 集合 196
19.2.5 異常和錯誤 197
19.2.6 數(shù)字 197
19.2.7 字符串 197
19.2.8 日期 197
19.3 小結(jié) 198
附錄A 工具和庫 199
附錄B 源代碼 201
詞匯表 209
后記:忘卻測試是為了更好的開發(fā) 216

本目錄推薦

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