第 1 章 軟件工程與軟件測試 1
1.1 軟件工程 1
1.1.1 軟件工程的目標及其一般開發(fā)過程 1
1.1.2 軟件過程模型 3
1.2 軟件質量 5
1.2.1 質量與質量模型 5
1.2.2 軟件質量保證 7
1.2.3 ISO 9000和CMM 9
1.3 軟件測試 10
1.3.1 軟件測試的定義及目的 11
1.3.2 軟件測試信息流 12
1.3.3 軟件測試與軟件開發(fā)過程的關系 13
1.3.4 軟件測試與質量保證的區(qū)別 14
1.3.5 軟件測試的發(fā)展歷程及趨勢 15
1.4 軟件測試人員的基本素質 16
習題 17
第 2 章 軟件測試的基本知識 18
2.1 軟件測試貫穿于整個的軟件開發(fā)生命周期 18
2.1.1 軟件測試中使用的各種術語 18
2.1.2 軟件測試貫穿于整個的軟件開發(fā)生命周期 19
2.1.3 軟件測試的手段 21
2.2 測試模型 23
2.3 軟件測試的分類 24
2.4 軟件測試的原則 26
2.5 軟件測試策略 27
2.6 軟件測試流程 30
2.6.1 制定測試計劃 31
2.6.2 設計測試 32
2.6.3 實施測試 34
2.6.4 執(zhí)行測試 41
2.6.5 評估測試 42
2.7 測試的成功經驗 43
習題 45
第 3 章 軟件測試的方法和技術 46
3.1 軟件測試方法概述 46
3.2 白盒測試 47
3.2.1 程序插樁 48
3.2.2 邏輯覆蓋 51
3.2.3 基本路徑測試 56
3.2.4 程序的靜態(tài)測試 58
3.2.5 其他白盒測試方法簡介 61
3.3 黑盒測試 63
3.3.1 等價類劃分法 64
3.3.2 邊界值分析法 65
3.3.3 錯誤推測法 65
3.3.4 因果圖法 66
3.3.5 場景法 67
3.4 測試用例設計 72
3.4.1 測試用例的基本概念 72
3.4.2 測試用例的設計步驟 73
3.4.3 測試用例的編寫 76
3.4.4 測試用例設計實例 79
3.4.5 測試用例的管理 83
習題 84
第 4 章 軟件測試過程 86
4.1 軟件測試過程概述 86
4.2 單元測試 87
4.2.1 單元測試的主要任務 87
4.2.2 單元測試的執(zhí)行過程 89
4.2.3 單元測試技術和測試數據 90
4.2.4 單元測試人員 90
4.3 集成測試 91
4.3.1 集成測試的主要任務 91
4.3.2 集成測試方法 91
4.3.3 集成測試技術和測試數據 94
4.3.4 集成測試遵循的原則 95
4.3.5 集成測試人員 95
4.4 系統測試 95
4.4.1 系統測試的任務 96
4.4.2 系統測試技術和測試數據 96
4.4.3 系統測試人員 97
4.5 驗收測試 97
4.5.1 驗收測試的主要任務 97
4.5.2 驗收測試技術和測試數據 98
4.5.3 驗收測試人員 99
4.5.4 α、β測試 99
4.6 回歸測試 99
4.6.1 回歸測試技術和測試數據 100
4.6.2 回歸測試的范圍 101
4.6.3 回歸測試人員 101
4.7 系統排錯 101
習題 103
第 5 章 軟件測試報告與測試評價 104
5.1 軟件缺陷的概念和種類 104
5.2 正確面對軟件缺陷 107
5.3 軟件缺陷的生命周期 108
5.4 軟件缺陷的嚴重性和優(yōu)先級 109
5.5 報告軟件缺陷 110
5.5.1 報告軟件缺陷的基本原則 110
5.5.2 IEEE軟件缺陷報告模板 112
5.5.3 軟件缺陷數據庫跟蹤系統 114
5.5.4 手工報告和跟蹤軟件缺陷 115
5.6 分離和再現軟件缺陷 116
5.7 測試總結報告 117
5.8 測試的評測 118
5.8.1 覆蓋評測 119
5.8.2 質量評測 121
5.8.3 性能評測 124
習題 125
第 6 章 軟件測試項目管理 127
6.1 測試項目管理概述 127
6.1.1 測試項目與測試項目管理 127
6.1.2 測試項目的范圍管理 128
6.2 測試文檔 129
6.2.1 測試文檔的作用 129
6.2.2 測試文檔的類型 130
6.2.3 主要軟件測試文檔 131
6.3 軟件測試計劃 135
6.3.1 制定測試計劃的目的 135
6.3.2 制定測試計劃的原則 136
6.3.3 制定測試計劃時面對的問題 136
6.3.4 制定測試計劃 137
6.4 測試的組織與人員管理 143
6.4.1 測試的組織與人員管理概述 143
6.4.2 測試人員的組織結構 144
6.4.3 測試人員 146
6.4.4 人員的通信方式 146
6.4.5 測試人員管理的激勵機制 146
6.4.6 測試人員的培訓 147
6.4.7 測試的組織與人員管理中的風險管理 148
6.5 軟件測試過程管理 148
6.5.1 測試項目的跟蹤與監(jiān)控 148
6.5.2 測試的配置管理 149
6.5.3 軟件測試風險管理 150
6.5.4 軟件測試的成本管理 153
習題 157
第 7 章 軟件測試自動化與軟件測試工具 158
7.1 軟件自動化測試基礎 158
7.2 自動化測試的作用和優(yōu)勢 159
7.3 軟件測試工具分類 165
7.4 幾種常用軟件測試工具 168
習題 176
第 8 章 軟件測試實例 177
8.1 被測試軟件項目介紹 177
8.1.1 軟件背景 177
8.1.2 門診掛號管理子系統介紹 178
8.1.3 門診掛號管理子系統的功能需求分析 180
8.1.4 門診掛號管理子系統性能及可用性要求 182
8.2 HIS測試過程概述 183
8.2.1 單元測試 183
8.2.2 集成測試 184
8.2.3 系統測試 184
8.2.4 驗收測試 185
8.3 測試計劃 185
8.3.1 概述 185
8.3.2 定義 185
8.3.3 質量風險摘要 186
8.3.4 測試進度計劃 186
8.3.5 進入標準 187
8.3.6 退出標準 187
8.3.7 測試配置和環(huán)境 187
8.3.8 測試開發(fā) 187
8.3.9 關鍵參與者 187
8.3.10 預算 188
8.3.11 參考文檔 188
8.4 測試用例 188
8.4.1 掛號管理子系統測試大綱 189
8.4.2 其他可用性測試檢查標準 190
8.4.3 功能測試用例 191
8.4.4 性能測試用例 198
8.5 缺陷報告 199
8.5.1 建立缺陷報告數據庫 199
8.5.2 編寫缺陷報告 200
8.6 測試結果總結分析 201
8.6.1 測試總結報告 201
8.6.2 測試用例分析 202
8.6.3 軟件測試結果統計分析 202
8.7 應用測試工具 206
8.8 文檔測試 207
習題 209
參考文獻 210