本書(shū)在內(nèi)容上較為全面地、系統(tǒng)地涵蓋了當(dāng)前軟件測(cè)試領(lǐng)域的理論和實(shí)踐知識(shí),反映了當(dāng)前最新的軟件測(cè)試?yán)碚、?biāo)準(zhǔn)、技術(shù)和工具。全書(shū)共14章,包括:軟件測(cè)試概述、軟件測(cè)試模型、靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試、白盒測(cè)試、黑盒測(cè)試、單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、軟件測(cè)試管理、面向?qū)ο蟮能浖䴗y(cè)試、軟件測(cè)試自動(dòng)化、缺陷跟蹤管理、單元測(cè)試工具JUnit、接口測(cè)試工具、負(fù)載測(cè)試工具LoadRunner、網(wǎng)上書(shū)店系統(tǒng)測(cè)試、生活小工具微服務(wù)測(cè)試和手機(jī)視頻播放軟件測(cè)試。每章內(nèi)容均有實(shí)際案例做補(bǔ)充,以加深讀者對(duì)軟件測(cè)試技術(shù)和過(guò)程的理解,做到理論與實(shí)踐相結(jié)合。
本書(shū)可作為高等院校相關(guān)專業(yè)軟件測(cè)試的教材或教學(xué)參考書(shū),也可以供從事計(jì)算機(jī)應(yīng)用開(kāi)發(fā)的各類技術(shù)人員參考。
作者在高校從事計(jì)算機(jī)教學(xué)多年,有過(guò)在高校教書(shū)、留學(xué)和企業(yè)工作的經(jīng)驗(yàn),目前已出版的書(shū)籍有多本。相信本書(shū)無(wú)論是在內(nèi)容上及渠道上都比競(jìng)爭(zhēng)對(duì)手更具有優(yōu)勢(shì)。
本書(shū)涵蓋了當(dāng)前軟件測(cè)試領(lǐng)域的理論和實(shí)踐知識(shí),反映了當(dāng)前最新的軟件測(cè)試?yán)碚、?biāo)準(zhǔn)、技術(shù)和工具。
呂云翔,北京航空航天大學(xué)軟件學(xué)院副教授 有多年的教學(xué)工作經(jīng)驗(yàn),出版過(guò)軟件工程、計(jì)算機(jī)專業(yè)英語(yǔ)等計(jì)算機(jī)領(lǐng)域教材。
前言 1
目錄 3
第 一部分 理論基礎(chǔ) 1
第 1章 軟件測(cè)試概述 2
1.1 軟件測(cè)試的背景意義 2
1.1.1 著名軟件錯(cuò)誤案例 2
1.1.2 軟件的定義及分類方法 3
1.1.3 軟件工程 4
1.1.4 軟件質(zhì)量 6
1.2 軟件測(cè)試的基本概念 6
1.2.1 軟件缺陷的定義 6
1.2.2 軟件缺陷出現(xiàn)的原因 7
1.2.3 軟件測(cè)試的定義 8
1.3 軟件測(cè)試的目的原則 9
1.3.1 軟件測(cè)試的目的 9
1.3.2 軟件測(cè)試的原則 10
1.4 軟件測(cè)試的分類 11
1.4.1 按測(cè)試階段 11
1.4.2 按是否需要執(zhí)行被測(cè)試軟件 12
1.4.3 按是否需要查看代碼 13
1.4.4 按測(cè)試執(zhí)行時(shí)是否需要人工干預(yù) 14
1.4.5 按測(cè)試實(shí)施組織 15
1.4.6 其他測(cè)試類型 16
1.5 軟件測(cè)試行業(yè)的發(fā)展 16
1.5.1 軟件測(cè)試的歷史回顧 16
1.5.2 軟件測(cè)試的現(xiàn)狀 17
1.5.3 軟件測(cè)試的前景 18
1.6 本章小結(jié) 19
習(xí)題1 19
第 2章 軟件測(cè)試模型 20
2.1 軟件開(kāi)發(fā)過(guò)程模型 20
2.1.1 軟件開(kāi)發(fā)基本過(guò)程 20
2.1.2 常見(jiàn)軟件開(kāi)發(fā)過(guò)程模型 24
2.2 軟件項(xiàng)目中的測(cè)試流程 31
2.2.1 軟件生命周期中的測(cè)試 31
2.2.2 軟件測(cè)試的基本流程 32
2.2.3 軟件測(cè)試的組織 32
2.3 軟件測(cè)試過(guò)程模型 32
2.3.1 V模型 33
2.3.2 W模型 33
2.3.3 H模型 34
2.3.4 X模型 34
2.3.5 前置測(cè)試模型 35
2.4 軟件測(cè)試過(guò)程改進(jìn)模型 37
2.4.1 TMM測(cè)試成熟度模型 37
2.4.2 TPI模型 38
2.4.3 其他測(cè)試過(guò)程改進(jìn)模型 39
2.5 本章小結(jié) 40
習(xí)題2 41
第3章 軟件測(cè)試方法 42
3.1 靜態(tài)測(cè)試 42
3.1.1 代碼檢查 42
3.1.2 靜態(tài)結(jié)構(gòu)分析 51
3.2 動(dòng)態(tài)測(cè)試 53
3.2.1 主動(dòng)測(cè)試 53
3.2.2 被動(dòng)測(cè)試 54
3.3 白盒測(cè)試 54
3.3.1 程序插樁法 54
3.3.2 邏輯覆蓋法 57
3.3.3 基本路徑法 62
3.3.4 白盒測(cè)試方法選擇 64
3.4 黑盒測(cè)試 64
3.4.1 黑盒測(cè)試方法 65
3.4.2 黑盒測(cè)試方法選擇 75
3.4.3 白盒測(cè)試和黑盒測(cè)試比較 75
3.5 本章小結(jié) 76
習(xí)題3 76
第4章 軟件測(cè)試過(guò)程 78
4.1 單元測(cè)試 78
4.1.1 單元測(cè)試的定義 78
4.1.2 單元測(cè)試的原則 79
4.1.3 單元測(cè)試的內(nèi)容 79
4.1.4 單元測(cè)試的過(guò)程 81
4.1.5 單元測(cè)試中的覆蓋率 81
4.1.6 單元測(cè)試相關(guān)案例 84
4.2 集成測(cè)試 91
4.2.1 集成測(cè)試的定義 91
4.2.2 集成測(cè)試的原則 92
4.2.3 集成測(cè)試的內(nèi)容 92
4.2.4 集成測(cè)試的過(guò)程 93
4.2.5 集成測(cè)試相關(guān)策略 93
4.2.6 集成測(cè)試常用方法 95
4.2.7 集成測(cè)試相關(guān)案例 99
4.3 系統(tǒng)測(cè)試 103
4.3.1 系統(tǒng)測(cè)試的定義 103
4.3.2 系統(tǒng)測(cè)試的原則 104
4.3.3 系統(tǒng)測(cè)試的內(nèi)容 104
4.3.4 系統(tǒng)測(cè)試相關(guān)案例 114
4.4 驗(yàn)收測(cè)試 121
4.4.1 驗(yàn)收測(cè)試的定義 121
4.4.2 驗(yàn)收測(cè)試的原則 121
4.4.3 驗(yàn)收測(cè)試的內(nèi)容 122
4.4.4 驗(yàn)收測(cè)試的過(guò)程 124
4.4.5 驗(yàn)收測(cè)試的深度與廣度 125
4.4.6 驗(yàn)收測(cè)試的階段 126
4.4.7 驗(yàn)收測(cè)試相關(guān)案例 128
4.5 本章小結(jié) 129
習(xí)題 4 130
第5章 軟件測(cè)試管理 131
5.1 軟件測(cè)試管理概述 131
5.1.1 軟件測(cè)試項(xiàng)目 131
5.1.2 軟件測(cè)試項(xiàng)目管理 132
5.1.3 軟件測(cè)試項(xiàng)目范圍管理 133
5.2 軟件測(cè)試管理計(jì)劃 133
5.2.1 軟件測(cè)試計(jì)劃制定 133
5.2.2 軟件測(cè)試計(jì)劃執(zhí)行 136
5.3 軟件測(cè)試文檔 136
5.3.1 軟件測(cè)試文檔的作用 137
5.3.2 主要的軟件測(cè)試文檔 138
5.4 測(cè)試組織和人員管理 140
5.4.1 測(cè)試人員及組織結(jié)構(gòu) 140
5.4.2 測(cè)試人員的溝通和激勵(lì) 141
5.4.3 測(cè)試人員的培訓(xùn) 142
5.5 軟件測(cè)試過(guò)程控制 142
5.5.1 測(cè)試項(xiàng)目的過(guò)程管理 143
5.5.2 軟件測(cè)試的配置管理 144
5.5.3 軟件測(cè)試的風(fēng)險(xiǎn)管理 145
5.5.4 軟件測(cè)試的成本管理 146
5.6 本章小結(jié) 147
習(xí)題 5 148
第6章 面向?qū)ο筌浖䴗y(cè)試 149
6.1 面向?qū)ο蠹夹g(shù)概述 149
6.1.1 面向?qū)ο蟮幕靖拍睢?49
6.1.2 面向?qū)ο蟮拈_(kāi)發(fā)方法 152
6.1.3 面向?qū)ο蟮姆治鲈O(shè)計(jì) 153
6.1.4 面向?qū)ο蟮哪P图夹g(shù) 154
6.2 面向?qū)ο筌浖臏y(cè)試策略 155
6.2.1 面向?qū)ο蟮膯卧獪y(cè)試 156
6.2.2 面向?qū)ο蟮募蓽y(cè)試 156
6.2.3 面向?qū)ο蟮南到y(tǒng)測(cè)試 157
6.2.4 面向?qū)ο蟮幕貧w測(cè)試 158
6.3 面向?qū)ο筌浖臏y(cè)試用例設(shè)計(jì) 158
6.3.1 面向?qū)ο鬁y(cè)試用例設(shè)計(jì)的基本概念 158
6.3.2 面向?qū)ο缶幊虒?duì)測(cè)試的影響 159
6.3.3 基于故障的測(cè)試 159
6.3.4 基于場(chǎng)景的測(cè)試 160
6.3.5 表層結(jié)構(gòu)和深層結(jié)構(gòu)的測(cè)試 160
6.4 面向?qū)ο蟮能浖䴗y(cè)試案例 160
6.4.1 HelloWorld類的測(cè)試 160
6.4.2 Date.increment方法的測(cè)試 161
6.5 本章小結(jié) 163
習(xí)題 6 164
第二部分 工具應(yīng)用 165
第7章 軟件測(cè)試自動(dòng)化 166
7.1 軟件測(cè)試自動(dòng)化概述 166
7.1.1 手工測(cè)試與自動(dòng)測(cè)試 166
7.1.2 自動(dòng)測(cè)試的優(yōu)缺點(diǎn) 167
7.2 自動(dòng)化測(cè)試的原理方法 168
7.2.1 代碼分析 168
7.2.2 捕獲回放 168
7.2.3 錄制回放 168
7.2.4 腳本技術(shù) 169
7.2.5 自動(dòng)比較 170
7.3 自動(dòng)化測(cè)試的開(kāi)展 170
7.3.1 自動(dòng)化測(cè)試的引入原則 171
7.3.2 自動(dòng)化測(cè)試的生命周期 171
7.3.3 自動(dòng)化測(cè)試的成本 173
7.3.4 自動(dòng)化測(cè)試的導(dǎo)入時(shí)機(jī) 173
7.3.5 自動(dòng)化測(cè)試的人員要求 173
7.3.6 自動(dòng)化測(cè)試存在的問(wèn)題 174
7.4 自動(dòng)化測(cè)試的方案選擇 174
7.4.1 自動(dòng)化測(cè)試對(duì)象分析 174
7.4.2 確定自動(dòng)化測(cè)試方案 175
7.5 自動(dòng)化測(cè)試的工具 177
7.5.1 自動(dòng)化測(cè)試工具的特征 177
7.5.2 自動(dòng)化測(cè)試工具的作用和優(yōu)勢(shì) 178
7.5.3 自動(dòng)化測(cè)試工具的分類 179
7.5.4 自動(dòng)化測(cè)試工具的選擇 181
7.5.5 自動(dòng)化測(cè)試工具的局限性 182
7.6 本章小結(jié) 182
習(xí)題 7 182
第8章 缺陷跟蹤管理 183
8.1 缺陷管理工具概述 183
8.1.1 缺陷管理的目的與意義 183
8.1.2 缺陷管理工具的分類 183
8.1.3 缺陷管理工具的選擇 184
8.2 項(xiàng)目管理工具Redmine 184
8.2.1 Redmine的特點(diǎn) 184
8.2.2 Redmine的缺陷跟蹤 185
8.3 缺陷管理工具Bugzilla 190
8.3.1 Bugzilla的特點(diǎn) 191
8.3.2 Bugzilla的缺陷跟蹤 191
8.4 問(wèn)題跟蹤工具JIRA 193
8.4.1 JIRA的特點(diǎn) 193
8.4.2 JIRA的缺陷跟蹤 194
8.5 本章小結(jié) 198
習(xí)題 8 198
第9章 JUnit單元測(cè)試 199
9.1 JUnit概述 199
9.1.1 JUnit簡(jiǎn)介 199
9.1.2 JUnit組成 200
9.2 JUnit測(cè)試過(guò)程 203
9.2.1 JUnit測(cè)試用例編寫(xiě) 204
9.3 JUnit安裝與集成 205
9.3.1 JUnit簡(jiǎn)單安裝 205
9.3.2 JUnit與IDE集成 206
9.4 JUnit使用案例 209
9.4.1 案例介紹 209
9.4.2 常規(guī)測(cè)試 210
9.4.3 使用JUnit測(cè)試 211
9.5 本章小結(jié) 220
習(xí)題 9 220
第 10章 接口測(cè)試工具 222
10.1 接口測(cè)試概述 222
10.1.1 接口測(cè)試工具的分類 222
10.1.2 接口測(cè)試工具的選擇 223
10.2 SoapUI 223
10.2.1 SoapUI的特點(diǎn) 223
10.2.2 SoapUI的使用 223
10.3 Jmeter 224
10.3.1 Jmeter的特點(diǎn) 225
10.3.2 Jmeter的使用 225
10.4 Postman 227
10.4.1 Postman的特點(diǎn) 227
10.4.2 Postman的使用 227
10.5 本章小結(jié) 229
習(xí)題 10 229
第 11章 LoadRunner性能測(cè)試 230
11.1 LoadRunner概述 230
11.1.1 LoadRunner簡(jiǎn)介 230
11.1.2 LoadRunner主要特性 231
11.1.3 LoadRunner組件和術(shù)語(yǔ) 232
11.1.4 LoadRunner工作流程 232
11.2 制定性能測(cè)試計(jì)劃 233
11.2.1 分析應(yīng)用程序 233
11.2.2 定制執(zhí)行計(jì)劃 234
11.3 創(chuàng)建測(cè)試腳本 234
11.3.1 創(chuàng)建空白腳本 235
11.3.2 VuGen界面介紹 236
11.3.3 錄制腳本 239
11.4 設(shè)計(jì)運(yùn)行場(chǎng)景 243
11.4.1 新建場(chǎng)景 243
11.4.2 負(fù)載生成器管理 246
11.4.3 虛擬用戶管理 247
11.4.4 運(yùn)行設(shè)置 248
11.5 運(yùn)行測(cè)試并分析結(jié)果 248
11.5.1 運(yùn)行測(cè)試場(chǎng)景 248
11.5.2 監(jiān)視場(chǎng)景 249
11.5.3 結(jié)果分析 250
11.6 LoadRunner綜合應(yīng)用 251
11.6.1 案例介紹 251
11.6.2 測(cè)試過(guò)程 252
11.7 本章小結(jié) 255
習(xí)題 11 255
第三部分 案例實(shí)踐 256
第 12章 網(wǎng)上書(shū)店系統(tǒng)測(cè)試 257
12.1 網(wǎng)站測(cè)試概述 257
12.1.1 網(wǎng)站測(cè)試概念 257
12.1.2 網(wǎng)站測(cè)試過(guò)程 258
12.1.3 數(shù)據(jù)庫(kù)測(cè)試 259
12.1.4 用戶界面測(cè)試 261
12.1.5 構(gòu)件級(jí)測(cè)試 262
12.1.6 配置測(cè)試 262
12.1.7 安全性測(cè)試 263
12.1.8 系統(tǒng)性能測(cè)試 264
12.2 案例概述 265
12.2.1 用戶簡(jiǎn)介 265
12.2.2 項(xiàng)目的目的與目標(biāo) 266
12.2.3 目標(biāo)系統(tǒng)功能需求 266
12.2.4 目標(biāo)系統(tǒng)性能需求 276
12.2.5 目標(biāo)系統(tǒng)界面需求 277
12.2.6 目標(biāo)系統(tǒng)的其他需求 277
12.2.7 目標(biāo)系統(tǒng)的假設(shè)與約束條件 277
12.3 項(xiàng)目測(cè)試計(jì)劃 277
12.3.1 測(cè)試項(xiàng)目 277
12.3.2 測(cè)試方案 277
12.3.3 測(cè)試資源 277
12.4 測(cè)試用例設(shè)計(jì) 278
12.4.1 單元測(cè)試用例 278
12.4.2 功能測(cè)試用例 283
12.4.3 性能測(cè)試用例 284
12.5 測(cè)試進(jìn)度 286
12.5.1 單元測(cè)試 286
12.5.2 集成測(cè)試 287
12.5.3 系統(tǒng)測(cè)試 287
12.5.4 驗(yàn)收測(cè)試 287
12.6 評(píng)價(jià) 288
12.6.1 范圍 288
12.6.2 數(shù)據(jù)整理 288
12.6.3 量度 288
12.7 測(cè)試分析報(bào)告 288
12.7.1 引言 288
12.7.2 測(cè)試計(jì)劃實(shí)施 289
12.7.3 評(píng)價(jià) 290
12.8 本章小結(jié) 290
習(xí)題 13 290
第 13章 生活小工具微服務(wù)測(cè)試 291
13.1 微服務(wù)架構(gòu)概述 291
13.1.1 微服務(wù)架構(gòu)的出現(xiàn)和發(fā)展 291
13.1.2 微服務(wù)的優(yōu)缺點(diǎn) 295
13.2 接口測(cè)試技術(shù) 296
13.2.1 接口類型 297
13.2.2 接口測(cè)試類型和流程 298
13.3 案例概述 298
13.3.1 項(xiàng)目概述 299
13.3.2 功能需求 299
13.3.3 性能需求 299
13.4 測(cè)試計(jì)劃 299
13.4.1 測(cè)試目標(biāo) 299
13.4.2 測(cè)試方案 299
13.4.3 測(cè)試資源 300
13.5 測(cè)試用例 300
13.5.1 功能測(cè)試用例 300
13.5.2 性能測(cè)試用例 301
13.6 測(cè)試分析報(bào)告 301
13.6.1 引言 301
13.6.2 測(cè)試概要 302
13.6.3 測(cè)試結(jié)果及發(fā)現(xiàn) 302
13.6.4 分析摘要 302
13.7 本章小結(jié) 302
習(xí)題 14 302
第 14章 手機(jī)視頻播放APP測(cè)試 303
14.1 手機(jī)軟件測(cè)試概述 303
14.1.1 移動(dòng)終端介紹 303
14.1.2 手機(jī)軟件測(cè)試用例設(shè)計(jì) 304
14.1.3 手機(jī)軟件測(cè)試基本流程 305
14.1.4 測(cè)試環(huán)境搭建實(shí)例 307
14.2 案例概述 308
14.2.1 項(xiàng)目概述 308
14.2.2 功能需求 308
14.2.3 性能需求 311
14.3 測(cè)試計(jì)劃 311
14.3.1 測(cè)試目標(biāo) 311
14.3.2 測(cè)試方案 311
14.3.3 測(cè)試資源 311
14.4 測(cè)試用例 312
14.4.1 功能測(cè)試用例 312
14.4.2 性能測(cè)試用例 320
14.5 測(cè)試過(guò)程 320
14.5.1 單元測(cè)試 320
14.5.2 集成測(cè)試 321
14.5.3 系統(tǒng)測(cè)試 321
14.5.4 驗(yàn)收測(cè)試 323
14.6 測(cè)試分析報(bào)告 323
14.6.1 引言 323
14.6.2 測(cè)試概要 324
14.6.3 測(cè)試結(jié)果及發(fā)現(xiàn) 324
14.6.4 分析摘要 325
14.6.5 測(cè)試資源消耗 325
14.7 本章小結(jié) 326
習(xí)題 15 326
附錄 327
軟件測(cè)試文檔模板 327
A.1測(cè)試計(jì)劃(GB8567——88) 327
A.2測(cè)試報(bào)告(GB8567——88) 328
參考文獻(xiàn) 331