本書系統(tǒng)地介紹了軟件測試的基本概念和基本知識,以及軟件測試的基本技術、測試原理、測試過程、測試用例設計、測試報告和測試評測、測試管理、測試工具等內(nèi)容。本書內(nèi)容由易到難、深入淺出,簡明且通俗易懂。通過學習本書,讀者能夠較好地掌握軟件測試的基本知識和基本技術。另外,本書的最后兩章介紹了自動化測試工具,目的在于激發(fā)讀者對軟件測試技術和自動化測試技術的興趣。
本書適合作為高職高專院校軟件測試課程的教材或者軟件測試培訓班的教材,也可作為軟件測試人員的自學參考書。
第1章 軟件測試概述 1
1.1 軟件測試技術 1
1.1.1 行業(yè)背景 1
1.1.2 軟件測試的由來 2
1.1.3 軟件測試的定義 2
1.1.4 軟件測試的分類 3
1.1.5 軟件測試技術的發(fā)展 5
1.2 軟件中的Bug 6
1.2.1 軟件Bug的定義 6
1.2.2 軟件Bug的類型 6
1.2.3 軟件Bug的級別 6
1.2.4 軟件Bug的產(chǎn)生 6
1.2.5 軟件Bug的構成 7
1.2.6 修復Bug的代價 7
1.2.7 Bug的影響 8
1.3 軟件測試的職業(yè)素質(zhì)與要求 8
1.3.1 軟件測試職業(yè)發(fā)展 8
1.3.2 軟件測試人員工作目標與必備素質(zhì) 9
1.4 軟件質(zhì)量管理與評估 12
1.4.1 軟件質(zhì)量的定義 12
1.4.2 軟件質(zhì)量的屬性 12
1.4.3 軟件質(zhì)量的模型 13
1.4.4 軟件質(zhì)量的度量 14
習題與思考 14
第2章 軟件測試基礎 15
2.1 軟件開發(fā)模型 15
2.2 軟件測試的目的和原則 18
2.2.1 軟件測試的目的 18
2.2.2 軟件測試的原則 19
2.3 軟件測試的模型 19
2.4 軟件測試過程 21
2.4.1 單元測試 21
2.4.2 集成測試 22
2.4.3 系統(tǒng)測試 23
2.4.4 驗收測試 24
2.5 黑盒測試和白盒測試 25
2.5.1 黑盒測試 25
2.5.2 白盒測試 26
2.5.3 黑盒測試與白盒測試比較 27
2.6 靜態(tài)測試與動態(tài)測試 27
2.7 驗證測試與確認測試 29
習題與思考 30
第3章 黑盒測試 31
3.1 等價類測試 31
3.1.1 等價類的概念 31
3.1.2 等價類測試的類型 32
3.1.3 等價類測試的原則 34
3.1.4 等價類方法設計舉例 35
3.2 邊界值測試 36
3.2.1 邊界值分析的概念 36
3.2.2 選擇測試用例的原則 37
3.2.3 邊界值分析設計舉例 37
3.3 基于判定表的測試 38
3.3.1 判定表的概念 38
3.3.2 基于判定表的設計舉例 38
3.4 基于因果圖的測試 39
3.4.1 因果圖的適用范圍 40
3.4.2 因果圖圖形符號介紹 40
3.4.3 因果圖法測試用例設計舉例 41
3.5 基于場景的測試 42
3.6 其他黑盒測試 43
3.6.1 錯誤推測法 43
3.6.2 基于接口的測試 46
3.6.3 基于故障的測試 46
3.6.4 基于風險的測試 46
3.6.5 比較測試 47
3.7 測試用例的編寫 47
習題與思考 48
第4章 白盒測試 49
4.1 白盒測試簡介 49
4.2 白盒測試過程 50
4.3 白盒測試任務 51
4.4 邏輯覆蓋 53
4.4.1 覆蓋率的概念 53
4.4.2 邏輯覆蓋測試法 53
4.5 邏輯覆蓋測試用例設計舉例 57
4.5.1 測試用例設計 60
4.5.2 測試結果分析 68
4.6 基本路徑測試法 68
4.6.1 基本路徑測試法簡介 68
4.6.2 基本路徑測試法舉例 68
習題與思考 71
第5章 軟件測試過程 72
5.1 軟件測試過程概述 72
5.2 單元測試 73
5.2.1 單元測試定義 73
5.2.2 單元測試內(nèi)容 74
5.2.3 單元測試方法 75
5.2.4 單元測試環(huán)境 76
5.2.5 單元測試過程 77
5.2.6 單元測試人員 79
5.2.7 測試工具簡介 80
5.3 集成測試 81
5.3.1 集成測試的定義 81
5.3.2 測試目標 81
5.3.3 集成測試的原則 81
5.3.4 集成測試的策略 82
5.3.5 集成測試過程 86
5.3.6 集成測試人員 88
5.4 系統(tǒng)測試 88
5.4.1 系統(tǒng)測試定義 88
5.4.2 系統(tǒng)測試目標 88
5.4.3 系統(tǒng)測試的主要測試技術 88
5.4.4 系統(tǒng)測試的過程 91
5.4.5 系統(tǒng)測試經(jīng)驗總結 92
5.4.6 系統(tǒng)測試人員 92
5.5 驗收測試 92
5.5.1 驗收測試定義 92
5.5.2 驗收測試目標 92
5.5.3 驗收測試的主要內(nèi)容 92
5.5.4 驗收測試技術和測試數(shù)據(jù) 93
5.5.5 驗收測試人員 93
習題與思考 94
第6章 測試報告和測試評測 95
6.1 軟件缺陷 95
6.1.1 軟件缺陷簡介 95
6.1.2 軟件缺陷產(chǎn)生的原因 96
6.1.3 軟件的有效簡述規(guī)則 97
6.1.4 軟件缺陷的屬性 97
6.2 分離再現(xiàn)軟件缺陷 101
6.3 正確面對軟件缺陷 101
6.4 軟件缺陷生命周期及處理技巧 102
6.4.1 軟件缺陷生命周期概述 102
6.4.2 軟件缺陷處理技巧 104
6.5 報告軟件缺陷 104
6.5.1 報告軟件缺陷的基本原則 106
6.5.2 IEEE軟件缺陷報告模板 106
6.6 軟件缺陷的跟蹤管理 108
6.7 測試總結報告 110
6.8 測試的評測 11
6.9 質(zhì)量評測 112
習題與思考 113
第7章 測試項目管理 115
7.1 測試項目管理概述 115
7.1.1 測試項目與測試項目管理 115
7.1.2 測試項目的范圍管理 116
7.2 測試文檔 117
7.2.1 測試文檔的作用 117
7.2.2 主要軟件測試文檔 118
7.3 軟件測試計劃 121
7.3.1 制訂測試計劃的目的 121
7.3.2 制訂測試計劃的原則 122
7.3.3 制訂測試計劃時面對的問題 122
7.3.4 制訂測試計劃 123
7.3.5 如何做好測試計劃 126
7.4 測試的組織與人員管理 128
7.4.1 測試的組織與人員管理概述 128
7.4.2 軟件測試對組織結構和人員的
要求 129
7.5 軟件測試過程管理 132
7.5.1 測試項目的跟蹤與監(jiān)控 132
7.5.2 測試項目的過程管理 132
7.6 軟件測試風險管理 133
7.7 軟件測試成本管理 135
7.7.1 軟件測試成本管理概述 135
7.7.2 軟件測試成本管理中的基本概念 135
7.7.3 軟件測試項目成本管理的基本
原則和措施 136
7.8 軟件測試配置管理 138
習題與思考 139
第8章 軟件自動化測試概述 141
8.1 軟件自動化測試的產(chǎn)生 141
8.2 軟件自動化測試的概念 141
8.3 軟件自動化測試的意義 142
8.4 開展自動化測試的方法 144
8.5 軟件自動化測試的原理和方法 145
8.6 軟件自動化測試工具 146
8.6.1 測試工具分類 146
8.6.2 目前市場上主流的測試工具 148
習題與思考 153
第9章 功能測試工具QTP 154
9.1 QTP簡介 154
9.2 QTP的安裝 155
9.2.1 安裝要求 156
9.2.2 QTP支持的環(huán)境和程序 156
9.2.3 安裝步驟 156
9.2.4 QTP程序界面 160
9.2.5 測試樣例 162
9.3 QTP基本使用方法 163
9.3.1 錄制測試腳本 164
9.3.2 編輯測試腳本 167
9.3.3 調(diào)試測試腳本 178
9.3.4 分析測試結果 181
習題與思考 183
第10章 測試管理工具TestLink 184
10.1 TestLink簡介 184
10.2 安裝TestLink 185
10.3 初始設置 188
10.3.1 創(chuàng)建項目(產(chǎn)品) 188
10.3.2 設置用戶 189
10.4 測試需求管理 191
10.5 創(chuàng)建測試計劃 192
10.5.1 測試計劃管理 192
10.5.2 測試計劃版本管理 192
10.5.3 指派用戶角色 193
10.6 測試用例管理 193
10.6.1 新建測試用例集 193
10.6.2 創(chuàng)建測試用例 194
10.7 測試計劃用例管理 195
10.7.1 添加測試用例到測試計劃中 195
10.7.2 移除測試用例 196
10.7.3 分配測試任務 196
10.8 執(zhí)行測試和報告缺陷 197
10.8.1 執(zhí)行測試 197
10.8.2 報告缺陷 197
10.8.3 測試結果分析 198
習題與思考 199
參考文獻 200