內容簡介
本書較為全面、系統地介紹了當前業界測試領域的理論和實踐知識,反映了當前最新的軟體測試理論、標準、技術和工具,展望了軟體測試的發展趨勢。
全書共分三大部分,分別是測試理論、測試實踐和測試考試指導。第一部分內容主要包括軟體測試概論、軟體測試基本知識、軟體測試過程、黑盒測試、白盒測試、自動測試技術、性能測試、面向對象測試、嵌入式測試和軟體測試管理。第二部分內容主要包括軟體測試工具、測試管理工具、性能測試工具、缺陷跟蹤管理工具、單元測試工具和功能測試工具等。第三部分內容主要包括計算機認證考試和測試行業,介紹了四級軟體測試工程師考試和企業招聘測試工程師考試的一些情況。
本書可作為高等院校相關專業軟體測試課程的教材或教學參考書,也可供從事計算機套用開發的各類技術人員參考,或用作全國計算機軟體測評師考試、軟體技術資格與水平考試的培訓資料。
目錄
第1章 軟體測試概論 1
1.1 軟體 1
1.1.1 軟體發展史 1
1.1.2 軟體生命周期 2
1.1.3 軟體缺陷 3
1.1.4 三種糾錯技術 5
1.2 軟體過程 5
1.2.1 RUP 5
1.2.2 敏捷過程 8
1.3 軟體質量 10
1.3.1 概述 10
1.3.2 CMM/CMMI 11
1.3.3 質量與測試 13
1.4 測試與開發的關係 15
1.5 思考與習題 17
第2章 軟體測試基本知識 18
2.1 軟體測試發展歷程 18
2.2 軟體測試目的 19
2.3 軟體測試原則 19
2.4 軟體測試分類 20
2.4.1 按照開發階段劃分 20
2.4.2 按照執行主體劃分 20
2.4.3 按照執行狀態劃分 21
2.4.4 按照測試技術劃分 22
2.4.5 按照軟體發布範圍劃分 24
2.5 軟體測試模型 25
2.5.1 V模型 25
2.5.2 W模型 26
2.5.3 H模型 26
2.5.4 X模型 27
2.5.5 前置模型 27
2.6 測試用例 28
2.6.1 測試用例的基本概念 28
2.6.2 測試用例的編寫 29
2.6.3 測試用例的作用 30
2.6.4 相關問題 30
2.7 思考與習題 31
第3章 軟體測試過程 33
3.1 軟體測試流程概述 33
3.2 單元測試 34
3.3 集成測試 36
3.4 確認測試 41
3.5 驗收測試 41
3.5.1 α測試和β測試 42
3.5.2 回歸測試 42
3.6 思考與習題 44
第4章 黑盒測試 46
4.1 概述 46
4.2 等價類劃分法 47
4.2.1 劃分原則 47
4.2.2 設計測試用例的步驟 47
4.3 邊界值分析法 49
4.3.1 設計原則 49
4.3.2 套用舉例 49
4.4 決策表法 50
4.4.1 套用舉例 51
4.4.2 優點和缺點 52
4.5 因果圖法 52
4.5.1 基本術語 53
4.5.2 套用舉例 54
4.6 場景法 55
4.6.1 基本流和備選流 55
4.6.2 套用舉例 56
4.7 思考與習題 60
第5章 白盒測試 62
5.1 概述 62
5.2 邏輯覆蓋法 62
5.2.1 語句覆蓋 63
5.2.2 判定覆蓋 63
5.2.3 條件覆蓋 64
5.2.4 條件判定覆蓋 64
5.2.5 修正條件判定覆蓋 65
5.2.6 條件組合覆蓋 66
5.2.7 路徑覆蓋 66
5.2.8 邏輯覆蓋法總結 67
5.3 基本路徑測試 68
5.3.1 控制流 68
5.3.2 基本路徑測試方法 70
5.4 思考與習題 71
第6章 自動測試技術 72
6.1 自動測試技術簡介 72
6.2 自動測試發展歷程 73
6.3 測試成熟度模型 74
6.4 三代測試框架 79
6.5 自動測試原理 80
6.6 自動測試的19條經驗教訓 82
6.7 自動測試研究熱點 83
6.8 思考與習題 84
第7章 性能測試 85
7.1 基本概念 85
7.2 性能測試分類 88
7.2.1 負載測試 88
7.2.2 壓力測試 89
7.2.3 可靠性測試 90
7.2.4 資料庫測試 91
7.2.5 安全性測試 91
7.2.6 文檔測試 92
7.3 性能測試的步驟 93
7.4 網站測試 94
7.4.1 網站體系結構 95
7.4.2 網站測試內容 95
7.5 思考與習題 96
第8章 面向對象測試 97
8.1 面向對象影響測試 97
8.1.1 封裝性影響測試 97
8.1.2 繼承性影響測試 98
8.1.3 多態性影響測試 98
8.2 面向對象測試模型 99
8.3 面向對象分析測試 99
8.4 面向對象設計測試 102
8.5 面向對象單元測試 103
8.5.1 功能性和結構性測試 103
8.5.2 測試用例的設計和選擇 104
8.6 面向對象集成測試 105
8.6.1 概述 105
8.6.2 面向對象互動測試 105
8.7 面向對象的系統測試 107
8.8 思考與習題 107
第9章 嵌入式測試 108
9.1 嵌入式軟體測試的方法 108
9.2 嵌入式軟體測試的過程 108
9.3 嵌入式軟體測試的特點 109
9.4 嵌入式軟體測試的工具 110
9.5 嵌入式軟體測試策略 111
9.6 嵌入式軟體測試實例 112
9.7 思考與習題 114
第10章 軟體測試管理 115
10.1 過程管理 115
10.1.1 測試的組織 115
10.1.2 測試計畫階段 117
10.1.3 軟體測試設計和開發 119
10.1.4 測試執行階段 121
10.1.5 測試執行結束和測試總結 121
10.1.6 測試過程改進 122
10.2 需求管理 124
10.2.1 需求管理概述 124
10.2.2 軟體測試中的需求分析 124
10.3 軟體配置管理 125
10.3.1 軟體配置管理概述 125
10.3.2 軟體配置管理角色職責 126
10.3.3 軟體配置管理過程描述 127
10.3.4 軟體配置管理的關鍵活動 128
10.4 缺陷管理 130
10.4.1 缺陷跟蹤管理系統概述 130
10.4.2 軟體缺陷內容 131
10.4.3 軟體跟蹤缺陷處理的一般流程 132
10.5 風險管理 132
10.5.1 風險管理概述 132
10.5.2 軟體項目風險管理 133
10.5.3 軟體項目中的風險 133
10.5.4 軟體風險管理模型 135
10.6 思考與習題 137
第11章 軟體測試工具 138
11.1 軟體測試工具概述 138
11.2 軟體測試工具分類 138
11.2.1 按測試工具所屬公司分類 138
11.2.2 按測試工具的功能分類 143
11.2.3 按測試工具在軟體測試中套用的階段分類 144
11.3 軟體測試工具特徵 146
11.4 軟體測試工具選擇 146
第12章 測試管理工具 148
12.1 測試管理工具概述 148
12.2 測試管理工具—TestDirector 149
12.2.1 TestDirector簡介 149
12.2.2 TestDirector的安裝 151
12.2.3 TestDirector的配置 159
第13章 性能測試工具 166
13.1 LoadRunner 166
13.1.1 綜述 166
13.1.2 測試示例 168
第14章 缺陷跟蹤管理工具 180
14.1 缺陷跟蹤管理工具——Bugzilla 180
14.1.1 Bugzilla的特點 180
14.1.2 Bugzilla的缺陷處理流程 180
14.1.3 Bugzilla的基本操作 181
14.1.4 TestCenter與Testlink,Bugzilla對比 185
14.2 問題跟蹤軟體—Jira 187
14.2.1 Jira的特點 187
14.2.2 缺陷跟蹤操作 188
14.2.3 查詢操作 190
14.2.4 生成報表 191
14.2.5 系統設定 194
第15章 單元測試工具 195
15.1 Junit的安裝 195
15.2 Junit的特點 195
15.3 Junit的內容 196
15.4 Junit的設計原則 197
15.5 測試示例 198
第16章 功能測試工具 203
16.1 WinRunner簡介 203
16.1.1 WinRunner測試模式 203
16.1.2 WinRunner測試過程 204
16.1.3 認識WinRunner工作環境 205
16.1.4 WinRunner測試示例一 207
16.1.5 WinRunner測試示例二 211
16.2 QuickTest Professional簡介 216
16.2.1 認識QuickTest Professional工作環境 216
16.2.2 QTP測試示例 217
第17章 計算機認證考試 229
17.1 計算機認證考試概述 229
17.2 各類計算機認證考試 229
17.3 全國計算機等級考試 230
17.4 四級軟體測試工程師考試 232
17.4.1 概述 232
17.4.2 內容介紹 235
17.4.3 相關資料 238
第18章 測試行業 239
18.1 測試行業概述 239
18.2 測試認識誤區 240
18.3 測試員的思維方式 241
18.4 著名企業的測試面試題 242
18.5 軟體測試工程師職位簡介 245
參考文獻 247