本書(shū)全面講述了軟件質(zhì)量保證與測(cè)試的發(fā)展過(guò)程、基本概念、核心思想、基本原理、基本方法、主要過(guò)程、常用技術(shù)和工具。內(nèi)容包括緒論、軟件測(cè)試策略、黑盒測(cè)試、白盒測(cè)試、軟件測(cè)試過(guò)程、面向?qū)ο鬁y(cè)試、自動(dòng)化測(cè)試、軟件評(píng)審、軟件質(zhì)量與質(zhì)量保證、測(cè)試的組織和管理及軟件測(cè)試熱點(diǎn)等。
本書(shū)以大量源程序代碼和測(cè)試代碼作為示例來(lái)進(jìn)行講解,結(jié)合軟件開(kāi)發(fā),培養(yǎng)學(xué)生的測(cè)試分析、測(cè)試設(shè)計(jì)和測(cè)試開(kāi)發(fā)能力。本書(shū)以基于“學(xué)習(xí)產(chǎn)出”的教育模式為指導(dǎo),提供豐富新穎的習(xí)題,加強(qiáng)對(duì)學(xué)生“能力產(chǎn)出”的度量和考核,適應(yīng)工程教育認(rèn)證的要求。本書(shū)為慕課(MOOC)教材,可以提供全套網(wǎng)絡(luò)教學(xué)資源,讓暫不具備這些數(shù)字化資源的學(xué)校和老師能快速開(kāi)設(shè)《軟件質(zhì)量保證與測(cè)試》《軟件測(cè)試》慕課/微課課程。
本書(shū)可作為應(yīng)用型本科軟件工程、計(jì)算機(jī)等專業(yè)“軟件質(zhì)量保證與測(cè)試”、“軟件測(cè)試”課程的教材,也可作為軟件測(cè)試工程師的參考書(shū)。
1.結(jié)合軟件項(xiàng)目代碼實(shí)例講授軟件測(cè)試。
2.MOOC資源完善,實(shí)現(xiàn)立體化教學(xué)。
3.注重軟件質(zhì)量保證、測(cè)試分析設(shè)計(jì)能力和長(zhǎng)信能力的培養(yǎng)。
4.適應(yīng)現(xiàn)代碎片化學(xué)習(xí)需要,將知識(shí)體系分解為相對(duì)獨(dú)立的知識(shí)點(diǎn)。
王智鋼,男,碩士,副教授,主要從事軟件測(cè)試教學(xué)和數(shù)據(jù)挖掘算法研究及應(yīng)用。發(fā)表論文20余篇,承擔(dān)省級(jí)及以上科研項(xiàng)目5項(xiàng),所在團(tuán)隊(duì)獲得2017年江蘇省教學(xué)成果二等獎(jiǎng)和2018年江蘇省優(yōu)秀教學(xué)團(tuán)隊(duì)稱號(hào)。主持的《軟件質(zhì)量保證與測(cè)試》在線課程,獲得教育部與優(yōu)課在線協(xié)同育人MOOC建設(shè)項(xiàng)目立項(xiàng),被列為江蘇省2018-2019在線開(kāi)放課程建設(shè)項(xiàng)目,目前同時(shí)在中國(guó)大學(xué)慕課和優(yōu)課在線開(kāi)展網(wǎng)絡(luò)教學(xué)。
第1章 緒論 1
1.1 軟件測(cè)試的產(chǎn)生與發(fā)展 2
1.1.1 軟件測(cè)試的產(chǎn)生 2
1.1.2 軟件測(cè)試的第一類測(cè)試方法 2
1.1.3 軟件測(cè)試的第二類測(cè)試方法 2
1.1.4 軟件測(cè)試與軟件質(zhì)量 3
1.1.5 軟件測(cè)試及軟件測(cè)試觀念的發(fā)展過(guò)程 4
1.2 軟件缺陷、軟件錯(cuò)誤、軟件失敗 4
1.2.1 第一個(gè)Bug 4
1.2.2 軟件缺陷 5
1.2.3 缺陷產(chǎn)生的原因 5
1.2.4 PIE模型 7
1.3 軟件測(cè)試的意義、原則和挑戰(zhàn) 9
1.3.1 軟件發(fā)展特點(diǎn)對(duì)軟件測(cè)試的
影響 9
1.3.2 軟件缺陷導(dǎo)致的事故案例 10
1.3.3 軟件測(cè)試的意義 11
1.3.4 軟件測(cè)試的基本原則 13
1.3.5 關(guān)于測(cè)試的錯(cuò)誤認(rèn)識(shí) 14
1.3.6 軟件測(cè)試面臨的挑戰(zhàn) 14
習(xí)題 14
第2章 軟件測(cè)試策略 18
2.1 軟件測(cè)試的模型、過(guò)程和
生命周期 19
2.1.1 軟件測(cè)試的模型 19
2.1.2 軟件測(cè)試的過(guò)程 21
2.1.3 軟件測(cè)試的生命周期 21
2.2 軟件測(cè)試的方法和技術(shù) 24
2.2.1 靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試 24
2.2.2 黑盒測(cè)試和白盒測(cè)試 25
2.2.3 手工測(cè)試與自動(dòng)化測(cè)試 27
2.2.4 軟件測(cè)試的基本策略 27
習(xí)題 27
第3章 黑盒測(cè)試 29
3.1 黑盒測(cè)試簡(jiǎn)介 30
3.2 等價(jià)類劃分測(cè)試法 31
3.2.1 等價(jià)類劃分 31
3.2.2 等價(jià)類劃分測(cè)試 34
3.2.3 等價(jià)類的組合 35
3.3 邊界值測(cè)試法 36
3.3.1 邊界值 37
3.3.2 邊界值測(cè)試用例設(shè)計(jì) 38
3.3.3 邊界值的組合 38
3.4 錯(cuò)誤推測(cè)法 39
3.4.1 錯(cuò)誤推測(cè)法簡(jiǎn)介 39
3.4.2 登錄測(cè)試錯(cuò)誤推測(cè)法應(yīng)用 40
3.4.3 數(shù)據(jù)表操作測(cè)試錯(cuò)誤推測(cè)法
應(yīng)用及示例 41
3.5 判定表驅(qū)動(dòng)法 41
3.5.1 判定表 41
3.5.2 判定表的建立 43
3.5.3 判定表驅(qū)動(dòng)測(cè)試示例 43
3.6 因果圖法 44
3.6.1 因果圖介紹 45
3.6.2 因果圖法設(shè)計(jì)測(cè)試用例的步驟 46
3.6.3 因果圖法設(shè)計(jì)測(cè)試用例示例 46
3.7 場(chǎng)景法 48
3.7.1 事件流 48
3.7.2 場(chǎng)景法設(shè)計(jì)測(cè)試用例的步驟 48
3.7.3 場(chǎng)景法應(yīng)用示例 49
3.8 正交實(shí)驗(yàn)法 50
3.8.1 正交實(shí)驗(yàn)法應(yīng)用背景 50
3.8.2 正交實(shí)驗(yàn)法簡(jiǎn)介 51
3.8.3 正交實(shí)驗(yàn)法應(yīng)用步驟和原則 52
3.8.4 正交實(shí)驗(yàn)法應(yīng)用示例 52
習(xí)題 54
第4章 白盒測(cè)試 57
4.1 白盒測(cè)試簡(jiǎn)介 58
4.2 靜態(tài)白盒測(cè)試 58
4.2.1 代碼檢查 58
4.2.2 靜態(tài)結(jié)構(gòu)分析 60
4.2.3 程序流程分析 60
4.2.4 編程規(guī)范 62
4.2.5 靜態(tài)測(cè)試掃描工具 65
4.2.6 靜態(tài)測(cè)試掃描工具安裝與使用 68
4.3 邏輯覆蓋 71
4.3.1 邏輯覆蓋簡(jiǎn)介 71
4.3.2 語(yǔ)句覆蓋 72
4.3.3 判定覆蓋 73
4.3.4 條件覆蓋 74
4.3.5 條件/判定覆蓋 74
4.3.6 條件組合覆蓋 75
4.3.7 修正條件/判定覆蓋 76
4.3.8 覆蓋標(biāo)準(zhǔn) 76
4.4 基本路徑覆蓋 77
4.4.1 控制流圖 77
4.4.2 環(huán)路復(fù)雜度 79
4.4.3 基本路徑覆蓋及實(shí)例 80
4.5 測(cè)試覆蓋分析工具 84
4.5.1 JaCoCo 84
4.5.2 JCov 84
4.5.3 Cobertura 85
4.6 循環(huán)測(cè)試 85
4.6.1 基本循環(huán)結(jié)構(gòu)測(cè)試 85
4.6.2 復(fù)合循環(huán)結(jié)構(gòu)測(cè)試 86
4.7 程序變異測(cè)試 87
4.7.1 程序變異 88
4.7.2 變異測(cè)試 89
4.7.3 變異測(cè)試的優(yōu)缺點(diǎn) 91
4.8 符號(hào)執(zhí)行 91
4.8.1 符號(hào)執(zhí)行簡(jiǎn)介 91
4.8.2 符號(hào)執(zhí)行示例 92
4.8.3 符號(hào)執(zhí)行的特點(diǎn)和作用 93
4.9 程序插樁和調(diào)試 93
4.9.1 斷言 93
4.9.2 設(shè)計(jì)插樁 94
4.9.3 程序調(diào)試 96
習(xí)題 98
第5章 軟件測(cè)試過(guò)程 103
5.1 單元測(cè)試 104
5.1.1 單元測(cè)試簡(jiǎn)介 104
5.1.2 單元測(cè)試的任務(wù) 107
5.1.3 JUnit單元測(cè)試入門 111
5.2 集成測(cè)試 114
5.2.1 集成測(cè)試簡(jiǎn)介 114
5.2.2 一次性集成與增量式集成 119
5.2.3 自頂向下集成與自底
向上集成 120
5.2.4 基于調(diào)用圖的集成 122
5.2.5 其他集成測(cè)試方法 124
5.3 系統(tǒng)測(cè)試 128
5.3.1 系統(tǒng)測(cè)試簡(jiǎn)介 128
5.3.2 系統(tǒng)測(cè)試項(xiàng)目 129
5.4 驗(yàn)收測(cè)試 138
5.4.1 驗(yàn)收測(cè)試簡(jiǎn)介 138
5.4.2 驗(yàn)收測(cè)試的分類 139
5.5 回歸測(cè)試 140
5.5.1 回歸測(cè)試簡(jiǎn)介 140
5.5.2 實(shí)施回歸測(cè)試 141
習(xí)題 142
第6章 面向?qū)ο鬁y(cè)試 146
6.1 面向?qū)ο筇攸c(diǎn)對(duì)測(cè)試的影響 147
6.1.1 封裝對(duì)測(cè)試的影響 147
6.1.2 繼承對(duì)測(cè)試的影響 147
6.1.3 多態(tài)對(duì)測(cè)試的影響 148
6.1.4 復(fù)雜的依賴關(guān)系對(duì)
測(cè)試的影響 148
6.2 面向?qū)ο鬁y(cè)試技術(shù) 149
6.2.1 面向?qū)ο鬁y(cè)試技術(shù)簡(jiǎn)介 149
6.2.2 類測(cè)試 149
習(xí)題 150
第7章 自動(dòng)化測(cè)試 151
7.1 自動(dòng)化測(cè)試技術(shù)和工具 152
7.1.1 自動(dòng)化測(cè)試簡(jiǎn)介 152
7.1.2 自動(dòng)化測(cè)試的優(yōu)點(diǎn)、
局限性和適用情況 152
7.1.3 自動(dòng)化測(cè)試工具 154
7.2 自動(dòng)化黑盒測(cè)試 155
7.2.1 自動(dòng)化黑盒測(cè)試的基本原理 155
7.2.2 自動(dòng)化黑盒測(cè)試的相關(guān)技術(shù) 156
7.3 自動(dòng)化白盒測(cè)試 158
7.3.1 自動(dòng)化白盒測(cè)試工具
Logiscope 158
7.3.2 Logiscope的功能 159
習(xí)題 160
第8章 軟件評(píng)審 162
8.1 軟件評(píng)審簡(jiǎn)介 163
8.1.1 軟件評(píng)審的概念 163
8.1.2 軟件評(píng)審的作用 163
8.1.3 軟件評(píng)審的特點(diǎn) 164
8.2 軟件評(píng)審活動(dòng) 164
8.2.1 需求評(píng)審 165
8.2.2 概要設(shè)計(jì)評(píng)審 166
8.2.3 詳細(xì)設(shè)計(jì)評(píng)審 167
8.2.4 數(shù)據(jù)庫(kù)設(shè)計(jì)評(píng)審 168
8.2.5 測(cè)試評(píng)審 170
8.2.6 驗(yàn)收評(píng)審 170
8.3 軟件評(píng)審技術(shù)和工具 171
8.4 軟件評(píng)審的組織和相關(guān)因素 171
8.4.1 軟件評(píng)審的組織 171
8.4.2 軟件評(píng)審的相關(guān)因素 172
習(xí)題 173
第9章 軟件質(zhì)量與質(zhì)量保證 174
9.1 軟件錯(cuò)誤及分類 175
9.1.1 各種軟件錯(cuò)誤 175
9.1.2 程序正確性的標(biāo)準(zhǔn) 176
9.1.3 軟件錯(cuò)誤的分類 176
9.2 程序中隱藏錯(cuò)誤數(shù)量估計(jì) 177
9.2.1 種子模型法 177
9.2.2 Hyman估算法 178
9.2.3 回歸分析 179
9.3 軟件質(zhì)量 180
9.3.1 軟件質(zhì)量基本概念 180
9.3.2 相關(guān)概念 181
9.3.3 軟件質(zhì)量特性 181
9.4 軟件質(zhì)量模型和質(zhì)量度量 182
9.4.1 軟件質(zhì)量模型 182
9.4.2 軟件質(zhì)量的度量 184
9.4.3 不同質(zhì)量之間的關(guān)系 185
9.5 軟件質(zhì)量管理與質(zhì)量保證 186
9.5.1 軟件質(zhì)量管理 186
9.5.2 軟件質(zhì)量保證 187
9.5.3 軟件質(zhì)量保證體系 188
習(xí)題 190
第10章 測(cè)試的組織和管理 192
10.1 人員和資源組織 193
10.1.1 軟件測(cè)試工作的特點(diǎn) 193
10.1.2 軟件測(cè)試人員組織 193
10.1.3 軟件測(cè)試資源組織 195
10.2 過(guò)程和進(jìn)度管理 195
10.2.1 軟件測(cè)試項(xiàng)目的生命周期 195
10.2.2 測(cè)試進(jìn)度管理 199
10.3 測(cè)試文檔、測(cè)試用例和
缺陷管理 199
10.3.1 測(cè)試文檔管理 199
10.3.2 測(cè)試用例管理 200
10.3.3 缺陷管理 202
習(xí)題 203
第11章 軟件測(cè)試熱點(diǎn) 204
11.1 安全測(cè)試 205
11.1.1 安全測(cè)試簡(jiǎn)介 205
11.1.2 安全測(cè)試方法 206
11.1.3 安全測(cè)試示例 211
11.2 移動(dòng)應(yīng)用測(cè)試 218
11.2.1 移動(dòng)應(yīng)用測(cè)試簡(jiǎn)介 218
11.2.2 移動(dòng)應(yīng)用自動(dòng)化測(cè)試
工具簡(jiǎn)介 219
11.2.3 移動(dòng)應(yīng)用測(cè)試示例 221
習(xí)題 228
參考文獻(xiàn) 231