本書系統(tǒng)介紹了軟件測試的基本理論、工具的使用,以及前沿的軟件測試?yán)碚摵图夹g(shù)。
全書共分為11章,內(nèi)容包括:軟件測試的基礎(chǔ)、軟件測試的策略、黑盒測試與白盒測試、軟件測試過程管理、軟件測試的度量方法、系統(tǒng)測試技術(shù)、軟件測試工具及其應(yīng)用、第三方測試、公有云測試質(zhì)量評估與退出方法、企業(yè)測試實(shí)踐、CMMI與軟件測試、基于搜索的軟件測試。本書所有知識都以結(jié)合具體實(shí)例的形式進(jìn)行介紹,力求詳略得當(dāng),使讀者可以快速地理解軟件測試的方法。章后附有習(xí)題,供讀者實(shí)踐練習(xí)。同時(shí)各章節(jié)主要內(nèi)容配備了以二維碼為載體的微課,并在學(xué)堂在線(http: www.xuetangx.com)平臺上提供了在線慕課。
1. 本書被評為工業(yè)和信息化部十四五規(guī)劃教材,陜西省2019金課(精品在線課程)。
2. 體現(xiàn)新工科特色,將近年來軟件測試的新技術(shù)、新理論融入到書中,書中包含軟件度量、數(shù)據(jù)庫測試和智能軟件測試等新技術(shù)內(nèi)容。
3. 新形態(tài)教材,基于互聯(lián)網(wǎng)媒介建設(shè)慕課教學(xué)內(nèi)容。各章節(jié)均配備了以二維碼為載體的微課,并在學(xué)堂在線平臺提供了在線慕課。慕課中的視頻與教材的互相配合,可有效提高學(xué)生在線學(xué)習(xí)效率。慕課課程在2016年獲得首批慕課立項(xiàng),2017年在慕課平臺學(xué)堂在線上線,隨后2018年在中國大學(xué)慕課上線,目前已選課人數(shù)1萬多人,成為學(xué)堂在線的人氣視頻課程。
4. 作者團(tuán)隊(duì)多年從事軟件測試教學(xué)與科研,2018年校企全過程深度融合的軟件工程教學(xué)體系構(gòu)建與實(shí)踐獲國家教學(xué)成果二等獎(jiǎng),多次獲得西北工業(yè)大學(xué)教學(xué)成果獎(jiǎng)一等獎(jiǎng)和二等獎(jiǎng)。
鄭煒,西北工業(yè)大學(xué)軟件學(xué)院副教授,CCF高級會員,軟件工程,系統(tǒng)軟件、形式化方法執(zhí)行委員。在軟件工程領(lǐng)域的頂會頂刊上發(fā)表論文60余篇,其中包括TOSEM,TSE,TR,ICSE,FSE、KBS、JSS,IST, SANER,ISSRE,軟件學(xué)報(bào)等。主持、參與國家863,973、國家自然重大儀器項(xiàng)目,國家自然重點(diǎn)基金等項(xiàng)目六項(xiàng),與研究所和企業(yè)進(jìn)行多個(gè)項(xiàng)目合作,主要涉及第三方軟件測試、軟件工具、測試平臺研發(fā),形式化驗(yàn)證等,科研經(jīng)費(fèi)超千萬。主講的《軟件測試》課程在學(xué)堂在線、愛課程上選為精品課程。2019年軟件測試課程獲得陜西省精品在線課程,《軟件測試》教材第二版獲得工業(yè)信息化部十四五推薦教材,并且被五十多所學(xué)校指定為教材。指導(dǎo)學(xué)生獲得多項(xiàng)國家一等獎(jiǎng),包括挑戰(zhàn)杯,軟件杯,服務(wù)外包大賽,數(shù)模競賽,軟件測試大賽等。
第 1章 軟件測試基礎(chǔ)2
1.1 軟件測試的基本概念 2
1.1.1 軟件測試是什么 2
1.1.2 軟件測試的目的 3
1.1.3 軟件測試與軟件質(zhì)量保證 3
1.1.4 軟件測試的必要性 5
1.1.5 軟件測試的基本概念分析 6
1.2 軟件測試的分類 7
1.3 軟件缺陷管理 10
1.3.1 軟件缺陷的概念 10
1.3.2 軟件缺陷的屬性 10
1.3.3 軟件缺陷生命周期 12
1.3.4 常見的軟件缺陷管理工具 13
1.4 軟件質(zhì)量與軟件測試相關(guān)特性 14
1.4.1 軟件質(zhì)量模型 14
1.4.2 測試的復(fù)雜性和經(jīng)濟(jì)性 16
1.5 軟件測試充分性和測試停止
準(zhǔn)則 19
1.5.1 軟件的測試充分性問題 19
1.5.2 軟件測試原則 20
1.5.3 測試停止準(zhǔn)則 23
1.6 小結(jié) 25
1.7 習(xí)題 26
第 2章 軟件測試策略 27
2.1 軟件開發(fā)過程及模型 27
2.1.1 軟件開發(fā)過程 27
2.1.2 軟件開發(fā)模型 27
2.2 軟件測試過程 30
2.2.1 測試計(jì)劃和控制 31
2.2.2 測試分析和設(shè)計(jì) 32
2.2.3 測試實(shí)現(xiàn)和執(zhí)行 33
2.2.4 測試出口準(zhǔn)則的評估和
報(bào)告 33
2.2.5 測試活動結(jié)束 34
2.3 軟件測試與軟件開發(fā)的關(guān)系 35
2.3.1 軟件測試在軟件開發(fā)中的
作用 35
2.3.2 軟件測試與軟件開發(fā)各
階段的關(guān)系 35
2.3.3 常見軟件測試模型 36
2.4 黑盒測試和白盒測試 39
2.4.1 黑盒測試 40
2.4.2 白盒測試 41
2.4.3 黑盒測試與白盒測試的比較 42
2.5 小結(jié) 43
2.6 習(xí)題 43
第3章 黑盒測試方法 44
3.1 測試用例綜述 44
3.1.1 測試用例設(shè)計(jì)原則 44
3.1.2 測試用例設(shè)計(jì)步驟 46
3.1.3 測試用例的構(gòu)成 47
3.2 等價(jià)類設(shè)計(jì)方法 48
3.2.1 等價(jià)類劃分 49
3.2.2 等價(jià)類劃分方法 50
3.2.3 等價(jià)類劃分的測試運(yùn)用 52
3.3 邊界值設(shè)計(jì)方法 57
3.3.1 邊界值分析法原理 57
3.3.2 邊界值分析原則 58
3.3.3 健壯性分析 60
3.3.4 邊界值分析法的測試
運(yùn)用 60
3.4 因果圖和決策表設(shè)計(jì)方法 62
3.4.1 因果圖原理 62
3.4.2 因果圖法應(yīng)用 63
3.4.3 決策表法及其應(yīng)用 64
3.5 正交試驗(yàn)設(shè)計(jì)方法 67
3.5.1 正交試驗(yàn)設(shè)計(jì)法原理 67
3.5.2 利用正交試驗(yàn)法設(shè)計(jì)測試
用例 69
3.6 組合測試方法 70
3.6.1 基本概念 70
3.6.2 構(gòu)造方法 72
3.6.3 組合測試工具使用 73
3.7 小結(jié) 75
3.7 習(xí)題 75
第4章 白盒測試方法 77
4.1 程序控制流圖 77
4.1.1 基本塊 77
4.1.2 流圖的定義與圖形表示 78
4.2 邏輯覆蓋測試 79
4.2.1 測試覆蓋率 79
4.2.2 邏輯覆蓋 79
4.2.3 邏輯覆蓋準(zhǔn)則之間的包含
關(guān)系 81
4.2.4 測試覆蓋準(zhǔn)則 81
4.3 路徑分析與測試 82
4.4 數(shù)據(jù)流測試分析 84
4.4.1 測試充分性基礎(chǔ) 84
4.4.2 測試充分性準(zhǔn)則的度量 84
4.4.3 測試集充分性的度量 86
4.4.4 數(shù)據(jù)流概念 86
4.4.5 基于數(shù)據(jù)流的測試充分性
準(zhǔn)則 89
4.5 變異測試 90
4.5.1 變異和變體 90
4.5.2 強(qiáng)變異和弱變異 91
4.5.3 用變異技術(shù)進(jìn)行測試
評價(jià) 92
4.5.4 變異算子 94
4.5.5 變異算子的設(shè)計(jì) 95
4.5.6 變異測試的基本原則 95
4.6 小結(jié) 96
4.7 習(xí)題 96
第5章 軟件測試的過程管理 98
5.1 軟件測試的各個(gè)階段 98
5.2 測試需求 99
5.2.1 測試需求的分類 99
5.2.2 測試需求的收集 100
5.2.3 測試需求的分析 101
5.2.4 測試需求的評審 101
5.3 測試計(jì)劃 102
5.3.1 測試計(jì)劃的目標(biāo) 102
5.3.2 制訂測試計(jì)劃 103
5.3.3 劃分測試用例優(yōu)先級 103
5.4 測試設(shè)計(jì)及測試用例 104
5.4.1 測試用例的設(shè)計(jì)原則 104
5.4.2 測試用例的設(shè)計(jì)方法 105
5.4.3 測試用例的粒度 107
5.4.4 測試用例的評審 108
5.5 測試的執(zhí)行 108
5.5.1 測試用例的選擇 108
5.5.2 測試人員分工 109
5.5.3 測試環(huán)境的搭建 109
5.5.4 BVT測試與冒煙測試 110
5.5.5 每日構(gòu)建介紹 110
5.6 軟件缺陷分析 111
5.6.1 軟件缺陷分析的作用 112
5.6.2 軟件缺陷的分類 112
5.6.3 軟件缺陷分析方法 112
5.6.4 軟件缺陷分析的流程 114
5.6.5 軟件缺陷報(bào)告 115
5.7 小結(jié) 116
5.8 習(xí)題 116
第6章 軟件測試的度量 117
6.1 軟件測試度量簡介 117
6.1.1 軟件測試度量的目的 117
6.1.2 軟件測試度量的難度 119
6.1.3 軟件測試人員工作質(zhì)量的
衡量 120
6.2 軟件測試的度量及其應(yīng)用 125
6.2.1 度量軟件缺陷的數(shù)量 125
6.2.2 軟件測試的度量及其
應(yīng)用 126
6.2.3 軟件缺陷的定性評估 128
6.2.4 軟件缺陷綜合評價(jià)模型 129
6.2.5 測試覆蓋率統(tǒng)計(jì) 130
6.3 軟件測試常見的度量類型 133
6.3.1 手工測試度量 134
6.3.2 性能測試度量 139
6.3.3 自動化測試度量 141
6.3.4 通用度量 142
6.4 小結(jié) 143
6.5 習(xí)題 144
第 2部分 實(shí)際應(yīng)用
第7章 系統(tǒng)測試技術(shù) 146
7.1 軟件自動化測試 146
7.1.1 自動化測試的概念 146
7.1.2 自動化測試的優(yōu)缺點(diǎn) 148
7.1.3 自動化測試工具 149
7.2 兼容性測試 151
7.2.1 兼容性測試的概念 151
7.2.2 兼容性測試的內(nèi)容 152
7.2.3 兼容性測試的標(biāo)準(zhǔn)和
規(guī)范 155
7.2.4 兼容性測試工具 156
7.3 Web測試實(shí)踐 156
7.3.1 Web應(yīng)用體系結(jié)構(gòu) 156
7.3.2 Web測試概述 157
7.3.3 Web測試主要類型 157
7.4 移動終端軟件測試實(shí)踐 162
7.4.1 移動終端軟件測試背景 162
7.4.2 移動終端軟件測試要求 163
7.4.3 移動終端軟件測試實(shí)例 163
7.5 小結(jié) 175
7.6 習(xí)題 176
第8章 軟件測試工具及其應(yīng)用 177
8.1 性能測試工具LoadRunner 177
8.1.1 性能測試簡介 177
8.1.2 LoadRunner的主要
功能 179
8.1.3 性能測試的主要術(shù)語 181
8.1.4 LoadRunner的安裝 182
8.1.5 LoadRunner的腳本
錄制 184
8.2 單元測試工具JUnit 188
8.2.1 JUnit簡介 188
8.2.2 安裝與使用 189
8.2.3 JUnit使用原則 193
8.2.4 其他特性 195
8.3 功能測試工具C test 197
8.3.1 C test的安裝 199
8.3.2 C test靜態(tài)測試 201
8.3.3 RuleWizard 203
8.3.4 C test動態(tài)測試 210
8.4 開源軟件缺陷管理工具
Bugzilla 217
8.4.1 Bugzilla簡介 217
8.4.2 Bugzilla安裝說明 218
8.4.3 Bugzilla使用說明 221
8.5 測試用例自動生成工具
EvoSuite 224
8.5.1 EvoSuite簡介 224
8.5.2 EvoSuite安裝說明 224
8.5.3 EvoSuite使用說明 228
8.6 變異測試工具Pitest 232
8.6.1 Pitest簡介 232
8.6.2 Pitest安裝說明 232
8.6.3 Pitest使用說明 234
8.7 小結(jié) 237
8.8 習(xí)題 237
第9章 第三方測試 238
9.1 第三方測試的基本概念與測試
過程 238
9.1.1 第三方測試的應(yīng)用現(xiàn)狀 238
9.1.2 第三方測試的意義和
模式 239
9.1.3 第三方測試的相關(guān)概念 240
9.1.4 第三方測試的測試過程 240
9.2 測試實(shí)例實(shí)踐 242
9.3 小結(jié) 245
9.4 習(xí)題 245
第 10章 數(shù)據(jù)庫測試 246
10.1 數(shù)據(jù)庫應(yīng)用軟件測試 246
10.1.1 數(shù)據(jù)庫設(shè)計(jì)驗(yàn)證 246
10.1.2 功能測試 247
10.1.3 性能測試 248
10.1.5 安全性測試 253
10.2 數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)測試 254
10.2.1 數(shù)據(jù)庫管理系統(tǒng)簡介 254
10.2.2 DBMS的SQL功能
測試 254
10.2.3 DBMS的事務(wù)特性
測試 256
10.3 數(shù)據(jù)庫管理系統(tǒng)性能測試 257
10.3.1 DBMS性能測試的目的
與性能指標(biāo) 257
10.3.2 DBMS的基準(zhǔn)性能
測試 257
10.3.3 DBMS的性能測試
工具 258
10.4 數(shù)據(jù)庫管理系統(tǒng)高可用性
測試 261
10.5 小結(jié) 261
10.6 習(xí)題 262
第3部分 前沿技術(shù)
第 11章 智能軟件測試技術(shù) 264
11.1 基于機(jī)器學(xué)習(xí)的軟件缺陷報(bào)告
分析 264
11.1.1 基于機(jī)器學(xué)習(xí)的軟件缺陷
報(bào)告分析的目的和意義 264
11.1.2 安全缺陷檢測數(shù)據(jù)集的
構(gòu)造 266
11.1.3 基于深度學(xué)習(xí)的安全缺陷
報(bào)告檢測 272
11.2 基于軟件度量的軟件缺陷預(yù)測
方法 277
11.2.1 基于軟件度量的軟件缺陷
預(yù)測的目的和意義 277
11.2.2 軟件缺陷預(yù)測模型的
構(gòu)建 278
11.2.3 軟件缺陷預(yù)測模型性能
評估指標(biāo) 285
11.2.4 軟件缺陷預(yù)測常用評測
數(shù)據(jù)集 287
11.3 基于搜索的軟件測試方法 288
11.3.1 智能搜索算法 288
11.3.2 搜索技術(shù)在軟件測試中的
應(yīng)用 300
11.4 小結(jié) 314
11.5 習(xí)題 314
第 12章 公有云測試質(zhì)量評估 315
12.1 云測試概念 316
12.1.1 云計(jì)算 316
12.1.2 云測試 317
12.2 云可靠性度量 318
12.2.1 軟件可靠性 318
12.2.2 軟件故障分析和診斷 327
12.3 安全測試及安全度量 328
12.3.1 安全性測試方法 329
12.3.2 安全測試方法舉例 332
12.4 小結(jié) 335
12.5 習(xí)題 335
第 13章 軟件測試的拓展與提高 336
13.1 企業(yè)測試實(shí)踐 336
13.1.1 測試計(jì)劃 336
13.1.2 測試管理 338
13.1.3 企業(yè)的測試策略 341
13.1.4 測試人員組織 341
13.1.5 測試小組的職責(zé) 342
13.2 CMMI和軟件測試 343
13.2.1 CMMI簡介 343
第 1章 軟件測試基礎(chǔ) 2
1.1 軟件測試的基本概念 2
1.1.1 軟件測試是什么 2
1.1.2 軟件測試的目的 3
1.1.3 軟件測試與軟件質(zhì)量保證 3
1.1.4 軟件測試的必要性 5
1.1.5 軟件測試的基本概念分析 6
1.2 軟件測試的分類 7
1.3 軟件缺陷管理 10
1.3.1 軟件缺陷的概念 10
1.3.2 軟件缺陷的屬性 10
1.3.3 軟件缺陷生命周期 12
1.3.4 常見的軟件缺陷管理工具 13
1.4 軟件質(zhì)量與軟件測試相關(guān)特性 14
1.4.1 軟件質(zhì)量模型 14
1.4.2 測試的復(fù)雜性和經(jīng)濟(jì)性 16
1.5 軟件測試充分性和測試停止
準(zhǔn)則 19
1.5.1 軟件的測試充分性問題 19
1.5.2 軟件測試原則 20
1.5.3 測試停止準(zhǔn)則 23
1.6 小結(jié) 25
1.7 習(xí)題 26
第 2章 軟件測試策略 27
2.1 軟件開發(fā)過程及模型 27
2.1.1 軟件開發(fā)過程 27
2.1.2 軟件開發(fā)模型 27
2.2 軟件測試過程 30
2.2.1 測試計(jì)劃和控制 31
2.2.2 測試分析和設(shè)計(jì) 32
2.2.3 測試實(shí)現(xiàn)和執(zhí)行 33
2.2.4 測試出口準(zhǔn)則的評估和
報(bào)告 33
2.2.5 測試活動結(jié)束 34
2.3 軟件測試與軟件開發(fā)的關(guān)系 35
2.3.1 軟件測試在軟件開發(fā)中的
作用 35
2.3.2 軟件測試與軟件開發(fā)各
階段的關(guān)系 35
2.3.3 常見軟件測試模型 36
2.4 黑盒測試和白盒測試 39
2.4.1 黑盒測試 40
2.4.2 白盒測試 41
2.4.3 黑盒測試與白盒測試的比較 42
2.5 小結(jié) 43
2.6 習(xí)題 43
第3章 黑盒測試方法 44
3.1 測試用例綜述 44
3.1.1 測試用例設(shè)計(jì)原則 44
3.1.2 測試用例設(shè)計(jì)步驟 46
3.1.3 測試用例的構(gòu)成 47
3.2 等價(jià)類設(shè)計(jì)方法 48
3.2.1 等價(jià)類劃分 49
3.2.2 等價(jià)類劃分方法 50
3.2.3 等價(jià)類劃分的測試運(yùn)用 52
3.3 邊界值設(shè)計(jì)方法 57
3.3.1 邊界值分析法原理 57
3.3.2 邊界值分析原則 58
3.3.3 健壯性分析 60
3.3.4 邊界值分析法的測試
運(yùn)用 60
3.4 因果圖和決策表設(shè)計(jì)方法 62
3.4.1 因果圖原理 62
3.4.2 因果圖法應(yīng)用 63
3.4.3 決策表法及其應(yīng)用 64
3.5 正交試驗(yàn)設(shè)計(jì)方法 67
3.5.1 正交試驗(yàn)設(shè)計(jì)法原理 67
3.5.2 利用正交試驗(yàn)法設(shè)計(jì)測試
用例 69
3.6 組合測試方法 70
3.6.1 基本概念 70
3.6.2 構(gòu)造方法 72
3.6.3 組合測試工具使用 73
3.7 小結(jié) 75
3.7 習(xí)題 75
第4章 白盒測試方法 77
4.1 程序控制流圖 77
4.1.1 基本塊 77
4.1.2 流圖的定義與圖形表示 78
4.2 邏輯覆蓋測試 79
4.2.1 測試覆蓋率 79
4.2.2 邏輯覆蓋 79
4.2.3 邏輯覆蓋準(zhǔn)則之間的包含
關(guān)系 81
4.2.4 測試覆蓋準(zhǔn)則 81
4.3 路徑分析與測試 82
4.4 數(shù)據(jù)流測試分析 84
4.4.1 測試充分性基礎(chǔ) 84
4.4.2 測試充分性準(zhǔn)則的度量 84
4.4.3 測試集充分性的度量 86
4.4.4 數(shù)據(jù)流概念 86
4.4.5 基于數(shù)據(jù)流的測試充分性
準(zhǔn)則 89
4.5 變異測試 90
4.5.1 變異和變體 90
4.5.2 強(qiáng)變異和弱變異 91
4.5.3 用變異技術(shù)進(jìn)行測試
評價(jià) 92
4.5.4 變異算子 94
4.5.5 變異算子的設(shè)計(jì) 95
4.5.6 變異測試的基本原則 95
4.6 小結(jié) 96
4.7 習(xí)題 96
第5章 軟件測試的過程管理 98
5.1 軟件測試的各個(gè)階段 98
5.2 測試需求 99
5.2.1 測試需求的分類 99
5.2.2 測試需求的收集 100
5.2.3 測試需求的分析 101
5.2.4 測試需求的評審 101
5.3 測試計(jì)劃 102
5.3.1 測試計(jì)劃的目標(biāo) 102
5.3.2 制訂測試計(jì)劃 103
5.3.3 劃分測試用例優(yōu)先級 103
5.4 測試設(shè)計(jì)及測試用例 104
5.4.1 測試用例的設(shè)計(jì)原則 104
5.4.2 測試用例的設(shè)計(jì)方法 105
5.4.3 測試用例的粒度 107
5.4.4 測試用例的評審 108
5.5 測試的執(zhí)行 108
5.5.1 測試用例的選擇 108
5.5.2 測試人員分工 109
5.5.3 測試環(huán)境的搭建 109
5.5.4 BVT測試與冒煙測試 110
5.5.5 每日構(gòu)建介紹 110
5.6 軟件缺陷分析 111
5.6.1 軟件缺陷分析的作用 112
5.6.2 軟件缺陷的分類 112
5.6.3 軟件缺陷分析方法 112
5.6.4 軟件缺陷分析的流程 114
5.6.5 軟件缺陷報(bào)告 115
5.7 小結(jié) 116
5.8 習(xí)題 116
第6章 軟件測試的度量 117
6.1 軟件測試度量簡介 117
6.1.1 軟件測試度量的目的 117
6.1.2 軟件測試度量的難度 119
6.1.3 軟件測試人員工作質(zhì)量的
衡量 120
6.2 軟件測試的度量及其應(yīng)用 125
6.2.1 度量軟件缺陷的數(shù)量 125
6.2.2 軟件測試的度量及其
應(yīng)用 126
6.2.3 軟件缺陷的定性評估 128
6.2.4 軟件缺陷綜合評價(jià)模型 129
6.2.5 測試覆蓋率統(tǒng)計(jì) 130
6.3 軟件測試常見的度量類型 133
6.3.1 手工測試度量 134
6.3.2 性能測試度量 139
6.3.3 自動化測試度量 141
6.3.4 通用度量 142
6.4 小結(jié) 143
6.5 習(xí)題 144
第 2部分 實(shí)際應(yīng)用
第7章 系統(tǒng)測試技術(shù) 146
7.1 軟件自動化測試 146
7.1.1 自動化測試的概念 146
7.1.2 自動化測試的優(yōu)缺點(diǎn) 148
7.1.3 自動化測試工具 149
7.2 兼容性測試 151
7.2.1 兼容性測試的概念 151
7.2.2 兼容性測試的內(nèi)容 152
7.2.3 兼容性測試的標(biāo)準(zhǔn)和
規(guī)范 155
7.2.4 兼容性測試工具 156
7.3 Web測試實(shí)踐 156
7.3.1 Web應(yīng)用體系結(jié)構(gòu) 156
7.3.2 Web測試概述 157
7.3.3 Web測試主要類型 157
7.4 移動終端軟件測試實(shí)踐 162
7.4.1 移動終端軟件測試背景 162
7.4.2 移動終端軟件測試要求 163
7.4.3 移動終端軟件測試實(shí)例 163
7.5 小結(jié) 175
7.6 習(xí)題 176
第8章 軟件測試工具及其應(yīng)用 177
8.1 性能測試工具LoadRunner 177
8.1.1 性能測試簡介 177
8.1.2 LoadRunner的主要
功能 179
8.1.3 性能測試的主要術(shù)語 181
8.1.4 LoadRunner的安裝 182
8.1.5 LoadRunner的腳本
錄制 184
8.2 單元測試工具JUnit 188
8.2.1 JUnit簡介 188
8.2.2 安裝與使用 189
8.2.3 JUnit使用原則 193
8.2.4 其他特性 195
8.3 功能測試工具C test 197
8.3.1 C test的安裝 199
8.3.2 C test靜態(tài)測試 201
8.3.3 RuleWizard 203
8.3.4 C test動態(tài)測試 210
8.4 開源軟件缺陷管理工具
Bugzilla 217
8.4.1 Bugzilla簡介 217
8.4.2 Bugzilla安裝說明 218
8.4.3 Bugzilla使用說明 221
8.5 測試用例自動生成工具
EvoSuite 224
8.5.1 EvoSuite簡介 224
8.5.2 EvoSuite安裝說明 224
8.5.3 EvoSuite使用說明 228
8.6 變異測試工具Pitest 232
8.6.1 Pitest簡介 232
8.6.2 Pitest安裝說明 232
8.6.3 Pitest使用說明 234
8.7 小結(jié) 237
8.8 習(xí)題 237
第9章 第三方測試 238
9.1 第三方測試的基本概念與測試
過程 238
9.1.1 第三方測試的應(yīng)用現(xiàn)狀 238
9.1.2 第三方測試的意義和
模式 239
9.1.3 第三方測試的相關(guān)概念 240
9.1.4 第三方測試的測試過程 240
9.2 測試實(shí)例實(shí)踐 242
9.3 小結(jié) 245
9.4 習(xí)題 245
第 10章 數(shù)據(jù)庫測試 246
10.1 數(shù)據(jù)庫應(yīng)用軟件測試 246
10.1.1 數(shù)據(jù)庫設(shè)計(jì)驗(yàn)證 246
10.1.2 功能測試 247
10.1.3 性能測試 248
10.1.5 安全性測試 253
10.2 數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)測試 254
10.2.1 數(shù)據(jù)庫管理系統(tǒng)簡介 254
10.2.2 DBMS的SQL功能
測試 254
10.2.3 DBMS的事務(wù)特性
測試 256
10.3 數(shù)據(jù)庫管理系統(tǒng)性能測試 257
10.3.1 DBMS性能測試的目的
與性能指標(biāo) 257
10.3.2 DBMS的基準(zhǔn)性能
測試 257
10.3.3 DBMS的性能測試
工具 258
10.4 數(shù)據(jù)庫管理系統(tǒng)高可用性
測試 261
10.5 小結(jié) 261
10.6 習(xí)題 262
第3部分 前沿技術(shù)
第 11章 智能軟件測試技術(shù) 264
11.1 基于機(jī)器學(xué)習(xí)的軟件缺陷報(bào)告
分析 264
11.1.1 基于機(jī)器學(xué)習(xí)的軟件缺陷
報(bào)告分析的目的和意義 264
11.1.2 安全缺陷檢測數(shù)據(jù)集的
構(gòu)造 266
11.1.3 基于深度學(xué)習(xí)的安全缺陷
報(bào)告檢測 272
11.2 基于軟件度量的軟件缺陷預(yù)測
方法 277
11.2.1 基于軟件度量的軟件缺陷
預(yù)測的目的和意義 277
11.2.2 軟件缺陷預(yù)測模型的
構(gòu)建 278
11.2.3 軟件缺陷預(yù)測模型性能
評估指標(biāo) 285
11.2.4 軟件缺陷預(yù)測常用評測
數(shù)據(jù)集 287
11.3 基于搜索的軟件測試方法 288
11.3.1 智能搜索算法 288
11.3.2 搜索技術(shù)在軟件測試中的
應(yīng)用 300
11.4 小結(jié) 314
11.5 習(xí)題 314
第 12章 公有云測試質(zhì)量評估 315
12.1 云測試概念 316
12.1.1 云計(jì)算 316
12.1.2 云測試 317
12.2 云可靠性度量 318
12.2.1 軟件可靠性 318
12.2.2 軟件故障分析和診斷 327
12.3 安全測試及安全度量 328
12.3.1 安全性測試方法 329
12.3.2 安全測試方法舉例 332
12.4 小結(jié) 335
12.5 習(xí)題 335
第 13章 軟件測試的拓展與提高 336
13.1 企業(yè)測試實(shí)踐 336
13.1.1 測試計(jì)劃 336
13.1.2 測試管理 338
13.1.3 企業(yè)的測試策略 341
13.1.4 測試人員組織 341
13.1.5 測試小組的職責(zé) 342
13.2 CMMI和軟件測試 343
13.2.1 CMMI簡介 343