第0章 引子 1
0.1 究竟什麼是軟件測試? 2
0.2 究竟什麼是敏捷測試? 3
0.3 軟件測試的作用 6
0.4 軟件測試在SDLC中的位置 7
0.5 傳統的軟件測試過程 9
0.6 敏捷測試過程 12
第1章 測試項目啓動 14
1.1 瞭解軟件的質量需求 15
1.1.1 軟件産品的質量需求 15
1.1.2 軟件質量的對立麵——軟件缺陷 18
1.1.3 軟件缺陷産生的原因 20
1.1.4 軟件測試的目標 22
1.2 項目測試團隊 24
1.2.1 測試過程和開發過程的關係 24
1.2.2 團隊組建 27
1.2.3 培訓 29
1.2.4 測試團隊在項目中的位置 30
1.3 掌控項目背景 32
1.3.1 軟件測試的項目要素 32
1.3.2 兩個典型項目的介紹 34
1.4 確定測試規範 36
1.5 小結 44
第2章 測試需求分析與計劃 45
2.1 軟件測試的目標和基本需求 46
2.1.1 質量要求 46
2.1.2 測試目標 49
2.1.3 基本的測試需求 50
2.2 項目的測試需求 53
2.2.1 測試需求分析的基本方法 54
2.2.2 測試需求的分析技術 55
2.2.3 功能測試範圍分析 56
2.2.4 非功能性的係統測試需求 60
2.3 測試工作量估算 66
2.3.1 工作量的估計 66
2.3.2 工作分解結構錶方法 68
2.3.3 工作量估計的實例 70
2.4 測試資源需求 73
2.5 測試裏程碑和進度安排 74
2.5.1 傳統測試 74
2.5.2 敏捷測試 75
2.6 測試風險分析 76
2.7 製定有效的測試策略 81
2.8 完整生成測試計劃書 85
2.9 小結 86
第3章 需求與設計的評審 88
3.1 産品需求評審 89
3.1.1 需求評審的重要性 89
3.1.2 測試人員在需求評審中的角色 92
3.1.3 需求評審的標準 94
3.1.4 需求的可測試性 96
3.2 係統架構的審查 97
3.2.1 係統架構選型的確認 97
3.2.2 軟件設計評審標準 99
3.2.3 設計的可測試性 102
3.2.4 係統組件設計的審查 105
3.3 産品設計規格說明書的復審 107
3.3.1 重視設計規格說明書的審查 107
3.3.2 設計規格說明書的多層次審查 108
3.3.3 界麵設計的評審 109
3.3.4 驗證過程與確認過程 110
3.4 係統部署設計的審查 112
3.4.1 係統部署邏輯設計的審查 113
3.4.2 軟件部署物理設計的審查 114
3.4.3 可用性設計的審查 115
3.4.4 可伸縮性設計的驗證 119
3.4.5 安全性設計的驗證 121
3.5 小結 121
第4章 測試設計 123
4.1 測試用例框架的設計 124
4.1.1 為什麼需要測試用例 124
4.1.2 測試用例設計考慮因素 125
4.1.3 測試用例框架的構成 127
4.1.4 測試用例的元素 129
4.2 探索式測試之設計 130
4.3 功能測試用例的設計 133
4.3.1 功能測試用例的內容 135
4.3.2 功能測試用例的設計方法 136
4.3.3 等價類劃分法與邊界值分析法 136
4.3.4 決策錶與因果圖法 141
4.3.5 功能圖法 144
4.3.6 PAIR-WISE方法和正交實驗設計方法 145
4.4 非功能性測試設計 148
4.4.1 故障轉移測試設計 148
4.4.2 係統安全性測試設計 150
4.5 測試用例的審查 153
4.5.1 測試用例書寫標準 153
4.5.2 測試用例評審要點 154
4.6 測試套件的創建 157
4.7 小結 160
第5章 測試工具選擇和腳本開發 161
5.1 測試工具的需求分析 162
5.1.1 測試工具的優勢 162
5.1.2 測試工具的實現原理 163
5.2 測試工具的選擇 167
5.2.1 測試工具選擇的標準 167
5.2.2 測試工具選擇的誤區 170
5.3 商業測試工具解決方案 171
5.4 開源測試工具解決方案 172
5.5 測試腳本的開發 174
5.5.1 測試自動化策略 175
5.5.2 適應測試腳本開發的測試用例 176
5.5.3 測試腳本的重構和優化 178
5.6 小結 179
第6章 單元測試 180
6.1 程序代碼的審查 181
6.1.1 代碼審查的方法和範圍 181
6.1.2 代碼風格的審查 183
6.1.3 編程規則的審查 186
6.2 單元測試內容 189
6.2.1 什麼是單元測試 189
6.2.2 單元測試的現狀和作用 191
6.2.3 單元測試的方法 192
6.3 單元測試用例的設計 194
6.3.1 語句覆蓋法 194
6.3.2 判定和條件覆蓋法 196
6.3.3 基本路徑測試法 198
6.3.4 多種白盒測試方法的比較和總結 199
6.3.5 循環結構的測試用例 201
6.3.6 單元測試的典型實例 203
6.4 單元測試工具 205
6.4.1 靜態代碼分析 206
6.4.2 測試覆蓋率工具EMMA 207
6.5 小結 210
第7章 功能測試的執行 211
7.1 測試執行概述 212
7.2 測試執行的準備 214
7.2.1 測試任務安排 215
7.2.2 測試環境的建立 216
7.2.3 測試環境的設置 217
7.2.4 測試自動化運行平颱 219
7.3 如何有效地創建測試套件 221
7.3.1 功能測試套件的創建 221
7.3.2 測試環境的爆炸性組閤及其優化 223
7.4 功能測試自動化的執行 226
7.5 敏捷測試的執行 229
7.5.1 策略與實踐 229
7.5.2 探索式測試的執行 231
7.6 用戶界麵和適用性測試 233
7.7 迴歸測試 237
7.8 軟件缺陷的報告 240
7.8.1 缺陷的屬性 240
7.8.2 缺陷的詳細描述 243
7.8.3 如何報告缺陷 245
7.9 小結 246
第8章 國際化和本地化測試 247
8.1 國際化測試 248
8.1.1 軟件國際化的基本要求 249
8.1.2 國際化測試 253
8.1.3 I18N測試實例 255
8.2 本地化測試 257
8.2.1 軟件本地化的質量需求 258
8.2.2 本地化測試的基本內容 260
8.2.3 L10N的功能測試 262
8.2.4 L10N的數據格式驗證 264
8.2.5 L10N的UI驗證 268
8.2.6 L10N的配置和兼容性驗證 268
8.2.7 L10N的翻譯驗證 270
8.3 I18N和L10N測試工具 271
8.4 小結 273
第9章 係統非功能性測試 275
9.1 實施要求和策略 276
9.2 WEB應用服務器的負載測試 278
9.2.1 負載測試的加載方式 278
9.2.2 負載測試的準備工作 279
9.2.3 負載測試的執行 282
9.2.4 負載測試的結果分析 284
9.3 WEB應用服務器的性能測試 285
9.4 WEB安全性測試 287
9.5 容錯性測試 289
9.6 數據庫的性能測試 290
9.7 兼容性測試 294
9.8 小結 297
第10章 後續測試 299
10.1 驗收測試 299
10.2 部署測試 303
10.2.1 客戶端軟件安裝測試 303
10.2.2 後颱係統的部署測試 305
10.3 在綫測試 306
10.4 後繼版本的測試 308
10.5 小結 310
第11章 測試的跟蹤和管理 311
11.1 測試管理 312
11.1.1 測試管理的全局性 312
11.1.2 測試管理思想和策略 313
11.1.3 測試管理係統的應用 315
11.1.4 測試管理工具 317
11.2 測試用例的管理 320
11.2.1 測試用例管理架構 320
11.2.2 管理與維護要點 321
11.3 測試自動化的管理 323
11.3.1 測試自動化的管理準則 323
11.3.2 測試自動化的框架 327
11.3.3 測試自動化的流程 328
11.4 缺陷跟蹤和分析 330
11.4.1 缺陷生命周期 330
11.4.2 缺陷狀態的跟蹤 332
11.4.3 缺陷的分析 333
11.4.4 纍計缺陷趨勢分析 336
11.5 測試進度和風險的控製 337
11.5.1 測試進度管理 337
11.5.2 測試風險的控製 341
11.6 測試覆蓋度和結果分析 343
11.6.1 測試覆蓋評估 344
11.6.2 基於軟件缺陷的質量評估 346
11.6.3 軟件缺陷清除率 348
11.6.4 測試報告的模闆、實例 350
11.7 小結 354
第12章 總結與思考 355
12.1 軟件測試的現實和原則 356
12.1.1 測試的現實 356
12.1.2 測試的原則 357
12.2 軟件測試的多維空間 363
12.3 軟件測試之辯證統一 364
12.3.1 白盒測試方法和黑盒測試方法 365
12.3.2 靜態測試和動態測試 366
12.3.3 主動測試和被動測試 366
12.3.4 基於腳本測試和探索式測試 367
12.3.5 手工測試和自動化測試 369
12.3.6 測試方法綜閤應用的總結 370
12.4 軟件測試的優秀實踐 371
12.4.1 測試有效性和風險性的平衡 372
12.4.2 測試計劃的優秀實踐 373
12.4.3 測試設計的優秀實踐 374
12.4.4 測試執行的優秀實踐 375
12.4.5 測試團隊建設中的優秀實踐 377
12.5 持續改進 379
12.5.1 TMMI和TPI NEXT分析 380
12.5.2 構建更實用的持續改進模型 382
附錄A 軟件測試全景圖 388
附錄B 測試計劃(GB8567-2006) 391
附錄C 測試用例設計模闆 398
附錄D 軟件缺陷模闆 401
附錄E 代碼審查的示範性列錶 403
附錄F 軟件測試相關的國傢標準 407
附錄G 軟件測試術語中英文對照 409
附錄H 參考書目和資源 414
· · · · · · (
收起)