《軟體測試實踐》是2008年清華大學出版社出版的圖書,作者是Rex Black。
基本介紹
- 書名:軟體測試實踐
- 作者:Rex Black
- 譯者:郭耀、李琦
- ISBN:9787302186526
- 頁數:246
- 定價:35.00元
- 出版社:清華大學出版社
- 出版時間:2008年
- 裝幀:平裝
內容簡介,目錄,
內容簡介
哪怕是測試一個簡單的系統,也可能會是一個曠日持久的任務。在經費和進度緊張的情況下,測試者需要使用實用的技術,親自實踐的經驗和正確的策略來有效而高效地進行軟體測試。
本書將會把這些內容交到你的手中。通過一系列表述完好,清晰透徹而實用的章節,你將掌握對軟體測試至關重要的技能。
* 如何分析系統的質量風險,並根據風險的級別來恰當地安排你的測試工作。
* 不同的測試策略,以及每次如何選擇正確的測試策略,包括選擇處理回歸測試的高效策略。
目錄
第一部分 目標、策略和戰術
第1章 實用意味著什麼 2
1.1 你想有什麼樣的效果 2
1.2 什麼是高效性的正確級別 3
1.2.1 避免冗餘 3
1.2.2 控制費用 3
1.2.3 軟體測試不是(但是經常被誤認為是)什麼 4
1.3 測試者認知的5個階段 5
第1章 實用意味著什麼 2
1.1 你想有什麼樣的效果 2
1.2 什麼是高效性的正確級別 3
1.2.1 避免冗餘 3
1.2.2 控制費用 3
1.2.3 軟體測試不是(但是經常被誤認為是)什麼 4
1.3 測試者認知的5個階段 5
1.4 測試的其他基本觀點 6
1.5 將測試作為質量風險管理的一種形式 6
1.6 測試團隊到底是乾什麼的 7
第2章 三角形測試練習 9
2.1 練習:三角形測試 9
2.2 你的三角形測試解答 9
2.3 作者的三角形測試解答 10
第3章 測試與項目的協調 13
3.1 為什麼要進行測試 13
3.2 測試的視角 13
3.3 在上下文環境中測試 14
3.4 常見的測試階段和目標 14
3.5 貫穿組織的測試 15
3.6 V模型 16
3.7 演化式和增量式模型 18
3.8 螺旋模型 18
3.9 遺憾的常用模型:編碼和修正 19
3.10 測試維護性發布 20
3.11 系統集成 20
3.12 硬體開發和軟體開發 22
3.13 測試過程 22
第4章 理解測試策略、戰術和設計 24
4.1 讓任務、策略和戰術保持協調 24
4.2 分析的測試策略 25
4.3 基於模型的測試策略 25
4.4 系統的測試策略 26
4.5 面向過程的測試策略 26
4.6 動態測試策略 27
4.7 哲學的測試策略 28
4.8 回歸 28
4.8.1 回歸策略1:重複所有測試 29
4.8.2 回歸策略2:重複一些測試 30
4.9 其他3種回歸策略 31
4.10 戰術:測試技術類別 31
4.11 策略與戰術方面的考慮 33
4.12 測試系統 34
4.13 測試設計的經典原則 35
4.14 測試開發的階段 36
4.15 測試策略、戰術和設計的提要 37
第二部分 基於風險的測試
第5章 理解系統質量的風險 40
5.1 測試風險分類 40
5.1.1 功能 41
5.1.2 性能和可靠性 41
5.1.3 壓力、容量和規模 43
5.1.4 狀態 43
5.2 事務 44
5.2.1 安裝和卸載 45
5.2.2 操作 45
5.2.3 維護和可維護性 46
5.3 回歸 46
5.3.1 可用性和用戶界面 47
5.3.2 數據質量 47
5.3.3 錯誤和災難處理以及恢復 48
5.3.4 日期和時間處理 49
5.3.5 本地化 50
5.3.6 配置和兼容性 51
5.3.7 聯網的、Internet上的和分散式的 51
5.3.8 符合標準和法規 51
5.3.9 安全 52
5.3.10 計時和協同 52
5.3.11 文檔 53
5.4 你能想到其他質量風險嗎 53
第6章 協調測試和質量風險 54
6.1 為系統質量風險劃分優先權 54
6.2 測試、客戶使用和系統配置 55
6.3 質量風險分析的方法 56
6.4 非正式的質量風險分析 57
6.5 風險分析的小技巧 60
6.6 風險分析的挑戰 61
1.5 將測試作為質量風險管理的一種形式 6
1.6 測試團隊到底是乾什麼的 7
第2章 三角形測試練習 9
2.1 練習:三角形測試 9
2.2 你的三角形測試解答 9
2.3 作者的三角形測試解答 10
第3章 測試與項目的協調 13
3.1 為什麼要進行測試 13
3.2 測試的視角 13
3.3 在上下文環境中測試 14
3.4 常見的測試階段和目標 14
3.5 貫穿組織的測試 15
3.6 V模型 16
3.7 演化式和增量式模型 18
3.8 螺旋模型 18
3.9 遺憾的常用模型:編碼和修正 19
3.10 測試維護性發布 20
3.11 系統集成 20
3.12 硬體開發和軟體開發 22
3.13 測試過程 22
第4章 理解測試策略、戰術和設計 24
4.1 讓任務、策略和戰術保持協調 24
4.2 分析的測試策略 25
4.3 基於模型的測試策略 25
4.4 系統的測試策略 26
4.5 面向過程的測試策略 26
4.6 動態測試策略 27
4.7 哲學的測試策略 28
4.8 回歸 28
4.8.1 回歸策略1:重複所有測試 29
4.8.2 回歸策略2:重複一些測試 30
4.9 其他3種回歸策略 31
4.10 戰術:測試技術類別 31
4.11 策略與戰術方面的考慮 33
4.12 測試系統 34
4.13 測試設計的經典原則 35
4.14 測試開發的階段 36
4.15 測試策略、戰術和設計的提要 37
第二部分 基於風險的測試
第5章 理解系統質量的風險 40
5.1 測試風險分類 40
5.1.1 功能 41
5.1.2 性能和可靠性 41
5.1.3 壓力、容量和規模 43
5.1.4 狀態 43
5.2 事務 44
5.2.1 安裝和卸載 45
5.2.2 操作 45
5.2.3 維護和可維護性 46
5.3 回歸 46
5.3.1 可用性和用戶界面 47
5.3.2 數據質量 47
5.3.3 錯誤和災難處理以及恢復 48
5.3.4 日期和時間處理 49
5.3.5 本地化 50
5.3.6 配置和兼容性 51
5.3.7 聯網的、Internet上的和分散式的 51
5.3.8 符合標準和法規 51
5.3.9 安全 52
5.3.10 計時和協同 52
5.3.11 文檔 53
5.4 你能想到其他質量風險嗎 53
第6章 協調測試和質量風險 54
6.1 為系統質量風險劃分優先權 54
6.2 測試、客戶使用和系統配置 55
6.3 質量風險分析的方法 56
6.4 非正式的質量風險分析 57
6.5 風險分析的小技巧 60
6.6 風險分析的挑戰 61
第7章 質量風險分析練習 63
7.1 我的解答 63
7.2 關於我的解答的評論 66
7.3 在邁向質量風險的途中我遇見了一件有趣的事 67
7.4 額外練習 69
7.5 模板 69
7.6 我的解答 72
7.7 對我的解答的評論 73
7.8 額外範例:“灰和藍”質量風險分析 74
第三部分 靜態測試
第8章 複審和其他靜態測試 78
8.1 測試需求和設計 78
8.2 複審的開銷和收益 78
8.3 複審的類型 79
8.4 為驗證和確認而複審 79
8.5 將複審作為一種改進過程、改進系統、節約開銷的手段 80
8.6 關於靜態測試三個問題的答案 82
8.7 複審作為一種取得共識和理解的手段 82
8.8 複審過程、角色和責任 83
8.9 來自複審的交付品和基本章程 84
8.10 常見的需求和風險缺陷 85
8.11 複審(和測試)文檔 86
8.12 其他靜態測試 87
第9章 複審練習 88
9.1 複審 88
9.2 你的解答 88
9.3 我的解答 90
9.4 對我的解答的評論 93
9.5 額外練習:複審三角形需求首頁 93
9.6 你所找到的需求缺陷 94
9.7 我的解答:需求缺陷 97
9.8 對我的解答的評論 98
第四部分 行為測試
第10章 等價類和邊界值 100
10.1 等價性劃分 100
10.2 邊界值分析 101
10.2.1 整數 102
10.2.2 實數 103
10.2.3 字元和字元串 104
10.2.4 日期 107
10.2.5 時間 108
10.2.6 貨幣 109
10.2.7 功能之外的類和邊界 110
第11章 等價類和邊界值練習 111
7.1 我的解答 63
7.2 關於我的解答的評論 66
7.3 在邁向質量風險的途中我遇見了一件有趣的事 67
7.4 額外練習 69
7.5 模板 69
7.6 我的解答 72
7.7 對我的解答的評論 73
7.8 額外範例:“灰和藍”質量風險分析 74
第三部分 靜態測試
第8章 複審和其他靜態測試 78
8.1 測試需求和設計 78
8.2 複審的開銷和收益 78
8.3 複審的類型 79
8.4 為驗證和確認而複審 79
8.5 將複審作為一種改進過程、改進系統、節約開銷的手段 80
8.6 關於靜態測試三個問題的答案 82
8.7 複審作為一種取得共識和理解的手段 82
8.8 複審過程、角色和責任 83
8.9 來自複審的交付品和基本章程 84
8.10 常見的需求和風險缺陷 85
8.11 複審(和測試)文檔 86
8.12 其他靜態測試 87
第9章 複審練習 88
9.1 複審 88
9.2 你的解答 88
9.3 我的解答 90
9.4 對我的解答的評論 93
9.5 額外練習:複審三角形需求首頁 93
9.6 你所找到的需求缺陷 94
9.7 我的解答:需求缺陷 97
9.8 對我的解答的評論 98
第四部分 行為測試
第10章 等價類和邊界值 100
10.1 等價性劃分 100
10.2 邊界值分析 101
10.2.1 整數 102
10.2.2 實數 103
10.2.3 字元和字元串 104
10.2.4 日期 107
10.2.5 時間 108
10.2.6 貨幣 109
10.2.7 功能之外的類和邊界 110
第11章 等價類和邊界值練習 111
11.1 功能性邊界和類 111
11.2 我的解答和評論 112
11.3 非功能的邊界和類 116
11.3.1 Omninet市場需求文檔(v0.3) 116
11.3.2 Omninet系統需求文檔(v0.2) 117
第12章 用況、實況數據和決策表 118
12.1 用況和場景測試 118
12.2 名詞與動詞、形容詞與副詞 120
12.3 實況數據和客戶測試 120
12.4 決策表 121
第13章 決策表練習 123
13.1 決策表測試 123
13.2 我的解答和評論 124
13.3 決策表和邊界值 126
13.4 我的解答和評論 127
13.5 為測試建立一個決策表 131
13.6 我的解答和評論(業務規則是互斥的) 132
第14章 狀態轉換圖 136
14.1 使用狀態轉換圖描述具有狀態的系統 136
14.2 狀態表 137
14.3 列印伺服器狀態轉換圖 138
第15章 狀態轉換圖練習 140
15.1 自助服務機狀態 140
15.2 我的解答和評論 140
15.3 ATM狀態模型 146
15.4 我的解答和評論(ATM狀態模型) 147
15.5 “灰和藍”狀態轉換圖 148
15.6 我的解答和評論(狀態轉換圖) 149
第16章 域測試 151
16.1 組合的爆炸式劇增 151
16.2 使用飛行里程計畫的域例子 152
16.3 可能的域測試值 153
16.4 一個航空例子 154
16.5 當域規則變化時 155
16.6 域分析總結 155
16.7 複雜的域測試例子 156
16.8 複雜域的一個通用規則 158
第17章 域測試練習 161
17.1 我的解答和評論 161
第18章 正交表和所有對值 164
18.1 組合的爆炸式劇增 164
18.2 正交表和所有對值表 165
18.3 兩個正交表 166
18.4 選擇一個正交表 167
18.5 將正交表運用到一個複雜的真實世界例子中 167
18.6 所有對值表 178
18.7 配置測試上的其他觀點 179
第19章 正交表練習 181
19.1 我的解答和評論 182
第20章 反應測試 185
20.1 反應測試的基本事實 185
20.2 錯誤猜測、攻擊和缺陷歸類 186
20.3 缺陷圍獵 187
20.4 探索式測試 187
20.5 清單 188
20.6 其他反應測試的靈感來源 189
20.7 優點和缺點 190
20.8 探索式測試的一個案例研究 191
第五部分 結構測試
第21章 控制流測試 196
21.1 代碼覆蓋 196
21.2 McCabe圈複雜度 198
第22章 控制流測試練習 200
22.1 我的解答和評論 201
22.1.1 理解潛在的測試用況的數量 201
22.1.2 為語句、分支、條件和循環的全覆蓋創建一套測試用況集 201
22.1.3 計算McCabe複雜性,寫出基本路徑,並創建基本測試 202
第23章 數據流測試 205
第24章 數據流測試練習 207
24.1 我的解答和評論 208
第25章 集成測試 214
25.1 驅動和樁 214
25.2 集成技術 215
25.3 主幹集成 217
25.4 集成的McCabe基本路徑 218
25.5 增強的十六進制轉換器程式 220
25.6 調用流 222
第26章 集成基本測試練習 225
26.1 我的解答和評論 225
第六部分 附 錄
附錄A Omninet市場需求文檔 230
A.1 範圍 230
A.1.1 術語、縮寫和簡稱 230
A.1.2 適用文檔 231
A.2 發布時間要求 231
A.3 需求描述 231
A.3.1 通用的技術需求 231
A.3.2 管理 232
附錄B Omninet系統需求文檔 235
B.1 系統功能需求 235
B.2 系統可靠性需求 237
B.3 可用性需求 238
B.4 系統高效性需求 239
B.5 系統維護性需求 240
B.6 可移植性系統需求 240
B.7 設計模型 241
B.7.1 Omninet系統架構 241
B.7.2 付費處理決策表 241
B.7.3 自助服務機模組流 242
B.7.4 自助服務機狀態轉換圖 242
B.7.5 自助服務機狀態轉換表 243
B.7.6 自助服務機作業系統/
瀏覽器/連線速度配置的正交表 243
附錄C 書目和其他推薦閱讀材料 245
11.2 我的解答和評論 112
11.3 非功能的邊界和類 116
11.3.1 Omninet市場需求文檔(v0.3) 116
11.3.2 Omninet系統需求文檔(v0.2) 117
第12章 用況、實況數據和決策表 118
12.1 用況和場景測試 118
12.2 名詞與動詞、形容詞與副詞 120
12.3 實況數據和客戶測試 120
12.4 決策表 121
第13章 決策表練習 123
13.1 決策表測試 123
13.2 我的解答和評論 124
13.3 決策表和邊界值 126
13.4 我的解答和評論 127
13.5 為測試建立一個決策表 131
13.6 我的解答和評論(業務規則是互斥的) 132
第14章 狀態轉換圖 136
14.1 使用狀態轉換圖描述具有狀態的系統 136
14.2 狀態表 137
14.3 列印伺服器狀態轉換圖 138
第15章 狀態轉換圖練習 140
15.1 自助服務機狀態 140
15.2 我的解答和評論 140
15.3 ATM狀態模型 146
15.4 我的解答和評論(ATM狀態模型) 147
15.5 “灰和藍”狀態轉換圖 148
15.6 我的解答和評論(狀態轉換圖) 149
第16章 域測試 151
16.1 組合的爆炸式劇增 151
16.2 使用飛行里程計畫的域例子 152
16.3 可能的域測試值 153
16.4 一個航空例子 154
16.5 當域規則變化時 155
16.6 域分析總結 155
16.7 複雜的域測試例子 156
16.8 複雜域的一個通用規則 158
第17章 域測試練習 161
17.1 我的解答和評論 161
第18章 正交表和所有對值 164
18.1 組合的爆炸式劇增 164
18.2 正交表和所有對值表 165
18.3 兩個正交表 166
18.4 選擇一個正交表 167
18.5 將正交表運用到一個複雜的真實世界例子中 167
18.6 所有對值表 178
18.7 配置測試上的其他觀點 179
第19章 正交表練習 181
19.1 我的解答和評論 182
第20章 反應測試 185
20.1 反應測試的基本事實 185
20.2 錯誤猜測、攻擊和缺陷歸類 186
20.3 缺陷圍獵 187
20.4 探索式測試 187
20.5 清單 188
20.6 其他反應測試的靈感來源 189
20.7 優點和缺點 190
20.8 探索式測試的一個案例研究 191
第五部分 結構測試
第21章 控制流測試 196
21.1 代碼覆蓋 196
21.2 McCabe圈複雜度 198
第22章 控制流測試練習 200
22.1 我的解答和評論 201
22.1.1 理解潛在的測試用況的數量 201
22.1.2 為語句、分支、條件和循環的全覆蓋創建一套測試用況集 201
22.1.3 計算McCabe複雜性,寫出基本路徑,並創建基本測試 202
第23章 數據流測試 205
第24章 數據流測試練習 207
24.1 我的解答和評論 208
第25章 集成測試 214
25.1 驅動和樁 214
25.2 集成技術 215
25.3 主幹集成 217
25.4 集成的McCabe基本路徑 218
25.5 增強的十六進制轉換器程式 220
25.6 調用流 222
第26章 集成基本測試練習 225
26.1 我的解答和評論 225
第六部分 附 錄
附錄A Omninet市場需求文檔 230
A.1 範圍 230
A.1.1 術語、縮寫和簡稱 230
A.1.2 適用文檔 231
A.2 發布時間要求 231
A.3 需求描述 231
A.3.1 通用的技術需求 231
A.3.2 管理 232
附錄B Omninet系統需求文檔 235
B.1 系統功能需求 235
B.2 系統可靠性需求 237
B.3 可用性需求 238
B.4 系統高效性需求 239
B.5 系統維護性需求 240
B.6 可移植性系統需求 240
B.7 設計模型 241
B.7.1 Omninet系統架構 241
B.7.2 付費處理決策表 241
B.7.3 自助服務機模組流 242
B.7.4 自助服務機狀態轉換圖 242
B.7.5 自助服務機狀態轉換表 243
B.7.6 自助服務機作業系統/
瀏覽器/連線速度配置的正交表 243
附錄C 書目和其他推薦閱讀材料 245