本書根據(jù)高等職業(yè)院校軟件技術(shù)專業(yè)教學(xué)標(biāo)準(zhǔn),參考《Web應(yīng)用軟件測試職業(yè)技能等級標(biāo)準(zhǔn)》及全國職業(yè)院校技能大賽“軟件測試”賽項規(guī)程,按照企業(yè)軟件測試的流程及軟件測試初→中→高崗位級別對應(yīng)的典型任務(wù)將內(nèi)容分為8個單元(共28)個任務(wù),包括軟件測試基礎(chǔ)、白盒測試、黑盒測試、軟件測試過程、面向?qū)ο筌浖䴗y試、缺陷報告與測試管理、軟件測試自動化和軟件測試項目實(shí)戰(zhàn)——測試資產(chǎn)管理系統(tǒng)。 本書適合作為高等職業(yè)院校信息技術(shù)類專業(yè)軟件測試課程的教材,也可作為軟件開發(fā)及測試的技術(shù)人員以及對軟件測試有興趣的學(xué)習(xí)者的參考書。
1.采用單元任務(wù)式寫法,鍛煉測試實(shí)踐能力
2.配套電子活頁,教學(xué)、學(xué)習(xí)更加靈活
3.配套大量習(xí)題,鞏固所學(xué)知識
4.配套源代碼、教學(xué)大綱、課件等教學(xué)資源
王敏,教授,畢業(yè)于華東師范大學(xué)計算機(jī)科學(xué)專業(yè)。曾在中船重工709研究所從事加固型計算機(jī)相關(guān)研發(fā)工作;在日本從事計算機(jī)軟件編程、設(shè)計、測試及項目管理工作;在中南民族大學(xué)、武昌理工學(xué)院從事教學(xué)、管理工作。擔(dān)任《軟件測試》《Java面向?qū)ο蟪绦蛟O(shè)計》、《HTML5技術(shù)》《數(shù)據(jù)庫應(yīng)用技術(shù)》《軟件工程》等課程主講教師。主持完成省級教研課題4項,主持完成湖北省自然科學(xué)基金課題1項,主持完成對日外包軟件開發(fā)項目1項,主持省級重點(diǎn)教研課題1項,擔(dān)任省級精品資源共享課程《數(shù)據(jù)結(jié)構(gòu)》課程負(fù)責(zé)人。撰寫科研論文論文40余篇,其中中文核心10余篇。主要研究方向:軟件測試技術(shù)。受聘湖北工業(yè)大學(xué)碩士研究生導(dǎo)師、柬埔寨國家技術(shù)培訓(xùn)學(xué)院軟件技術(shù)方向骨干教師、中國計算機(jī)學(xué)會職業(yè)教育發(fā)展委員會軟件技術(shù)工作組副組長、國家開放大學(xué)《軟件工程》核心教學(xué)團(tuán)隊成員,現(xiàn)任湖北開放大學(xué)(湖北科技職業(yè)學(xué)院)軟件工程學(xué)院院長。
目 錄
單元一 軟件測試基礎(chǔ) 1
單元導(dǎo)學(xué) 1
學(xué)習(xí)目標(biāo) 1
任務(wù)1-1 了解軟件測試的背景 1
任務(wù)引入 1
問題導(dǎo)引 2
2
知識準(zhǔn)備 2
1.1.1 軟件 2
1.1.2 軟件工程 3
1.1.3 軟件缺陷 7
任務(wù)拓展 11
關(guān)于軟件缺陷的討論 11
復(fù)習(xí)任務(wù) 12
任務(wù)1-2 掌握軟件測試基礎(chǔ)知識 13
任務(wù)引入 13
問題導(dǎo)引 13
知識準(zhǔn)備 13
1.2.1 軟件測試 13
1.2.2 軟件測試過程模型 15
1.2.3 軟件測試的原則 20
1.2.4 軟件測試的分類 22
任務(wù)拓展 26
關(guān)于軟件測試基礎(chǔ)知識應(yīng)用的討論 26
復(fù)習(xí)任務(wù) 26
任務(wù)1-3 了解軟件質(zhì)量 29
任務(wù)引入 29
問題導(dǎo)引 29
知識準(zhǔn)備 29
1.3.1 軟件質(zhì)量 29
1.3.2 軟件質(zhì)量模型 30
任務(wù)拓展 33
關(guān)于軟件產(chǎn)品質(zhì)量的討論 33
復(fù)習(xí)任務(wù) 33
任務(wù)1-4 了解軟件測試行業(yè)發(fā)展 34
任務(wù)引入 34
問題導(dǎo)引 34
知識準(zhǔn)備 34
1.4.1 軟件測試發(fā)展的歷程 34
1.4.2 軟件測試現(xiàn)狀及前景 36
1.4.3 軟件測試人員的基本技能和素質(zhì) 36
任務(wù)實(shí)操 37
軟件測試基礎(chǔ)之功能實(shí)現(xiàn)及簡單測試 37
復(fù)習(xí)任務(wù) 38
單元小結(jié) 38
單元練習(xí) 39
單元二 白盒測試 46
單元導(dǎo)學(xué) 46
學(xué)習(xí)目標(biāo) 47
任務(wù)2-1掌握靜態(tài)測試方法 47
任務(wù)引入 47
問題導(dǎo)引 47
知識準(zhǔn)備 47
2.1.1代碼檢查 47
2.1.2靜態(tài)結(jié)構(gòu)分析 50
任務(wù)實(shí)操 50
編程實(shí)現(xiàn)CodeReview簡單功能 50
復(fù)習(xí)任務(wù) 52
任務(wù)2-2 采用邏輯覆蓋法進(jìn)行測試用例設(shè)計 53
任務(wù)引入 53
問題導(dǎo)引 53
知識準(zhǔn)備 53
2.2.1語句覆蓋 54
2.2.2判定覆蓋 55
2.2.3條件覆蓋 55
2.2.4條件判定覆蓋 56
2.2.5條件組合覆蓋 57
任務(wù)實(shí)操 58
使用邏輯覆蓋方法設(shè)計測試用例 58
復(fù)習(xí)任務(wù) 59
任務(wù)2-3采用基本路徑覆蓋法進(jìn)行測試用例設(shè)計 60
任務(wù)引入 60
問題導(dǎo)引 60
知識準(zhǔn)備 60
2.3.1程序控制流圖 60
2.3.2控制流圖的繪制方法 61
2.3.3控制流圖環(huán)路復(fù)雜度的計算 63
2.3.4 基本路徑測試用例的設(shè)計步驟 63
任務(wù)實(shí)操 64
使用基本路徑覆蓋方法設(shè)計測試用例 64
復(fù)習(xí)任務(wù) 65
單元小結(jié) 66
單元練習(xí) 66
單元三 黑盒測試 69
單元導(dǎo)學(xué) 69
學(xué)習(xí)目標(biāo) 69
任務(wù)3-1 采用等價類劃分法進(jìn)行測試用例設(shè)計 70
任務(wù)引入 70
問題導(dǎo)引 70
知識準(zhǔn)備 70
3.1.1 等價類劃分的常見類型 70
3.1.2 等價類劃分法測試用例設(shè)計步驟 74
任務(wù)實(shí)操 78
測試用例設(shè)計之等價類劃分法 78
復(fù)習(xí)任務(wù) 79
任務(wù)3-2 采用邊界值分析法進(jìn)行測試用例設(shè)計 81
任務(wù)引入 81
問題導(dǎo)引 81
知識準(zhǔn)備 81
3.2.1 邊界值分析法 83
3.2.2 邊界值的分析方法 83
3.2.3 邊界的類型 86
3.2.4 隱含邊界 88
3.2.5 邊界值分析法測試用例設(shè)計步驟 90
任務(wù)實(shí)操 92
測試用例設(shè)計之邊界值分析法 92
復(fù)習(xí)任務(wù) 93
任務(wù)3-3 采用決策表法進(jìn)行測試用例設(shè)計 94
任務(wù)引入 94
問題導(dǎo)引 94
知識準(zhǔn)備 94
3.3.1 決策表的構(gòu)成 95
3.3.2 決策表的簡化 96
3.3.3 決策表法測試用例設(shè)計步驟 98
3.3.4 決策表的擴(kuò)展 98
3.3.5 決策表法的適用范圍 99
任務(wù)實(shí)操 102
測試用例設(shè)計之決策表法 102
復(fù)習(xí)任務(wù) 103
任務(wù)3-4 采用因果圖法進(jìn)行測試用例設(shè)計 105
任務(wù)引入 105
問題導(dǎo)引 105
知識準(zhǔn)備 105
3.4.1 因果圖的基本符號 105
3.4.2 因果圖的約束符號 106
3.4.3 因果圖法測試用例設(shè)計步驟 107
任務(wù)拓展 107
關(guān)于自動售貨機(jī)問題的測試用例設(shè)計的討論 107
復(fù)習(xí)任務(wù) 111
任務(wù)3-5 采用正交試驗(yàn)法進(jìn)行測試用例設(shè)計 112
任務(wù)引入 112
問題導(dǎo)引 112
知識準(zhǔn)備 112
3.5.1 正交試驗(yàn)法及其特性 112
3.5.2 正交試驗(yàn)法測試用例設(shè)計步驟 114
任務(wù)實(shí)操 116
采用正交試驗(yàn)法對WPS幻燈片打印功能進(jìn)行測試 116
復(fù)習(xí)任務(wù) 118
任務(wù)3-6 采用場景法進(jìn)行測試用例設(shè)計 119
任務(wù)引入 119
問題導(dǎo)引 119
知識準(zhǔn)備 120
3.6.1 基本流和備選流 120
3.6.2 場景法設(shè)計測試用例的步驟 120
任務(wù)實(shí)操 122
采用功能圖法對ATM機(jī)取款流程進(jìn)行測試用例設(shè)計 122
復(fù)習(xí)任務(wù) 123
單元小結(jié) 124
單元練習(xí) 124
單元四 軟件測試過程 129
單元導(dǎo)學(xué) 129
學(xué)習(xí)目標(biāo) 129
任務(wù)4-1掌握單元測試方法 130
任務(wù)引入 130
問題導(dǎo)引 130
知識準(zhǔn)備 130
4.1.1單元測試的重要性及原則 130
4.1.2單元測試的主要任務(wù) 131
4.1.3單元測試的環(huán)境 134
4.1.4單元測試技術(shù)與測試數(shù)據(jù) 134
4.1.5單元測試的人員 136
任務(wù)實(shí)操 136
以界面為單元進(jìn)行單元測試 136
復(fù)習(xí)任務(wù) 137
任務(wù)4-2掌握集成測試方法 138
任務(wù)引入 138
問題導(dǎo)引 139
知識準(zhǔn)備 139
4.2.1集成測試的主要任務(wù) 139
4.2.2集成測試遵循的原則 140
4.2.3集成測試的環(huán)境 140
4.2.4集成測試實(shí)施方案 140
4.2.5集成測試技術(shù)與測試數(shù)據(jù) 142
4.2.6集成測試的人員 147
任務(wù)實(shí)操 147
以界面為單元進(jìn)行集成測試 147
復(fù)習(xí)任務(wù) 148
任務(wù)4-3掌握系統(tǒng)測試方法 149
任務(wù)引入 149
問題導(dǎo)引 149
知識準(zhǔn)備 149
4.3.1系統(tǒng)測試準(zhǔn)備 149
4.3.2系統(tǒng)測試環(huán)境 150
4.3.3系統(tǒng)測試技術(shù)與測試數(shù)據(jù) 152
4.3.4系統(tǒng)測試人員 157
任務(wù)實(shí)操 157
對系統(tǒng)的業(yè)務(wù)性能進(jìn)行測試 157
復(fù)習(xí)任務(wù) 158
任務(wù)4-4 了解驗(yàn)收測試方法 159
任務(wù)引入 159
問題導(dǎo)引 159
知識準(zhǔn)備 159
4.4.1驗(yàn)收測試的主要任務(wù) 159
4.4.2 α、β測試 161
4.4.3驗(yàn)收測試技術(shù)和數(shù)據(jù) 164
4.4.4驗(yàn)收測試人員 166
任務(wù)實(shí)操 166
對系統(tǒng)進(jìn)行驗(yàn)收測試 166
復(fù)習(xí)任務(wù) 167
任務(wù)4-5掌握回歸測試的方法 168
任務(wù)引入 168
問題導(dǎo)引 168
知識準(zhǔn)備 168
4.5.1回歸測試技術(shù)和方法 168
4.5.2回歸測試范圍 169
4.5.3回歸測試人員 169
任務(wù)實(shí)操 170
對系統(tǒng)進(jìn)行回歸測試 170
復(fù)習(xí)任務(wù) 170
單元小結(jié) 171
單元練習(xí) 171
單元五 面向?qū)ο筌浖䴗y試 174
單元導(dǎo)學(xué) 174
學(xué)習(xí)目標(biāo) 174
任務(wù)3-1 了解面向?qū)ο筌浖䴗y試的層次 174
任務(wù)引入 174
問題導(dǎo)引 175
知識準(zhǔn)備 175
3.1.1 面向?qū)ο筌浖奶攸c(diǎn) 175
3.1.2 面向?qū)ο筌浖䴗y試的階段 176
任務(wù)拓展 180
關(guān)于面向?qū)ο筌浖䴗y試的討論 180
復(fù)習(xí)任務(wù) 182
任務(wù)5-2 掌握面向?qū)ο筌浖䴗y試的策略 182
任務(wù)引入 182
問題導(dǎo)引 183
知識準(zhǔn)備 183
3.1.1 面向?qū)ο筌浖臏y試策略 183
3.1.2 面向?qū)ο筌浖臏y試用例設(shè)計 185
任務(wù)實(shí)操 187
對Money和MoneyBag類進(jìn)行測試 187
復(fù)習(xí)任務(wù) 187
單元小結(jié) 188
單元練習(xí) 188
單元六 缺陷報告與測試管理 189
單元導(dǎo)學(xué) 189
學(xué)習(xí)目標(biāo) 189
任務(wù)6-1 學(xué)會缺陷的報告方法 189
任務(wù)引入 189
問題導(dǎo)引 190
知識準(zhǔn)備 190
6.1.1 軟件缺陷的種類和屬性 190
6.1.2 軟件缺陷的生命周期 196
6.1.3 分離和再現(xiàn)軟件缺陷 198
6.1.4 報告軟件缺陷 199
任務(wù)實(shí)操 203
編寫資產(chǎn)管理系統(tǒng)“修改資產(chǎn)類別”模塊的缺陷報告 203
復(fù)習(xí)任務(wù) 204
任務(wù)6-2 掌握軟件測試項目管理的方法 207
任務(wù)引入 207
問題導(dǎo)引 207
知識準(zhǔn)備 207
6.2.1 軟件測試管理概述 207
6.2.2 軟件測試文檔 210
6.2.3 測試組織與人員管理 216
6.2.4 軟件測試過程控制 218
任務(wù)拓展 223
復(fù)習(xí)任務(wù) 224
單元小結(jié) 225
單元練習(xí) 225
1.
單元七 軟件測試自動化 228
單元導(dǎo)學(xué) 228
學(xué)習(xí)目標(biāo) 228
任務(wù)7-1 了解軟件測試自動化的基本知識 228
任務(wù)引入 228
問題引導(dǎo) 229
知識準(zhǔn)備 229
7.1.1 軟件測試自動化概述 229
7.1.2 自動化測試的原理和方法 230
7.1.3 自動化測試的引入原則 232
7.1.4 自動化測試的實(shí)施 232
任務(wù)拓展 234
復(fù)習(xí)任務(wù) 234
任務(wù)7-2 掌握單元測試工具Junit的使用 235
任務(wù)引入 235
問題引導(dǎo) 235
知識準(zhǔn)備 235
7.2.1 Junit簡介 235
7.2.2 Junit的安裝與使用 237
7.2.3 Junit測試用例編寫與執(zhí)行 240
任務(wù)實(shí)操 241
采用Junit對Calculator類進(jìn)行測試 241
復(fù)習(xí)任務(wù) 242
任務(wù)7-3 掌握功能測試工具 Selenium的使用 243
任務(wù)引入 243
問題導(dǎo)引 243
知識準(zhǔn)備 243
7.3.1 Selenium簡介 243
7.3.2 Selenium的安裝與使用 244
7.3.3 Selenium測試用例編寫及執(zhí)行 247
任務(wù)實(shí)操 248
采用Selenium對登錄界面進(jìn)行測試 248
復(fù)習(xí)任務(wù) 249
任務(wù)7-4 掌握接口測試工具Postman的使用 250
任務(wù)引入 250
問題導(dǎo)引 250
知識準(zhǔn)備 250
7.4.1 Postman簡介 250
7.4.2 Postman的特性 250
7.4.3 Postman安裝與使用 251
任務(wù)實(shí)操 254
采用Postman工具對登錄接口進(jìn)行測試 254
復(fù)習(xí)任務(wù) 256
任務(wù)7-5 掌握性能測試工具LoadRunner的使用 257
任務(wù)引入 257
問題導(dǎo)引 257
知識準(zhǔn)備 257
7.5.1 LoadRunner綜述 257
7.5.2 制定測試計劃 260
7.5.3 創(chuàng)建測試腳本 261
7.5.4 設(shè)計測試場景 266
7.5.5 運(yùn)行測試場景 272
7.5.6 分析測試結(jié)果 273
任務(wù)實(shí)操 274
使用LoadRunner對飛機(jī)訂票系統(tǒng)進(jìn)行性能測試 274
復(fù)習(xí)任務(wù) 275
任務(wù)7-6 測試管理工具禪道 276
任務(wù)引入 276
問題導(dǎo)引 276
7.6.1 測試管理工具概述 276
7.6.2 禪道的安裝 277
7.6.3 測試用例管理 279
7.6.4 Bug管理 281
任務(wù)實(shí)操 283
使用禪道編寫測試用例和缺陷報告 283
復(fù)習(xí)任務(wù) 284
單元小結(jié) 285
單元練習(xí) 285
單元八 軟件測試項目實(shí)戰(zhàn)-測試資產(chǎn)管理系統(tǒng) 286
單元導(dǎo)學(xué) 286
學(xué)習(xí)目標(biāo) 286
【項目背景】 287
【測試計劃】 287
1. 測試概述 287
2. 測試任務(wù) 288
3. 測試資源 289
4. 測試計劃 289
5. 發(fā)布標(biāo)準(zhǔn) 291
6. 相關(guān)風(fēng)險 291
【測試用例設(shè)計】 291
【測試實(shí)施】 302
1. 測試環(huán)境搭建 302
2. 測試執(zhí)行 302
3. 測試工具的使用 303
【測試總結(jié)】 316
1. 測試概述 317
2. 測試設(shè)計 317
3. 測試回顧 318
4. 用例匯總 318
5. Bug匯總 320
6. 測試結(jié)論 320