定 價(jià):79.8 元
叢書名:高等院校計(jì)算機(jī)應(yīng)用系列教材
- 作者:宰光軍、劉燕、石磊、陳志堅(jiān)
- 出版時(shí)間:2025/8/1
- ISBN:9787302695592
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP311.55
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
《軟件測試技術(shù)(微課版)》全面介紹了軟件測試的相關(guān)技術(shù)。本書共分為10章,首先介紹了軟件測試的基本概念,并基于SWEBOKV3對整個(gè)知識領(lǐng)域進(jìn)行細(xì)致分解。隨后介紹了黑盒和白盒軟件測試方法,總結(jié)了測試方法的實(shí)施策略。接下來,本書詳細(xì)闡述了軟件測試的過程,包括各類軟件測試過程模型。根據(jù)典型的軟件測試過程階段,分別介紹了單元測試、集成測試、系統(tǒng)測試、驗(yàn)收測試四個(gè)階段。每個(gè)測試階段采用不同的測試方法:在單元測試和集成測試中,主要使用前面章節(jié)講解的白盒測試方法,而系統(tǒng)測試則常用黑盒測試方法。接下來,系統(tǒng)介紹了軟件測試管理、軟件測試工具與自動(dòng)化。以敏捷開發(fā)為例介紹測試管理體系,并介紹了常用的項(xiàng)目管理軟件、軟件配置管理、缺陷管理等內(nèi)容。最后,本書介紹了軟件測試的相關(guān)領(lǐng)域(包括軟件測試環(huán)境、容器技術(shù)、軟件測試評估、軟件質(zhì)量等),以及目前流行的人工智能和大數(shù)據(jù)技術(shù)在軟件測試中的應(yīng)用及相關(guān)知識。本書在內(nèi)容組織上力求條理清晰、內(nèi)容豐富、語言流暢、通俗易懂,結(jié)合目前流行的技術(shù)趨勢,使理論和實(shí)踐能夠有機(jī)地結(jié)合起來,更好地滿足軟件工程學(xué)科的特點(diǎn)。本書適合作為高等學(xué)校軟件工程等計(jì)算機(jī)類專業(yè)的教材,也可以作為軟件測試技術(shù)的培訓(xùn)教材。本書配套的電子課件和習(xí)題答案可以到http://www.tupwk.com.cn/downpage網(wǎng)站下載,也可以掃描前言中的二維碼獲取。掃描前言中的視頻二維碼可以直接觀看教學(xué)視頻。
基礎(chǔ)與實(shí)踐相結(jié)合,實(shí)例豐富,內(nèi)容實(shí)用,操作性強(qiáng),可切實(shí)提高讀者的學(xué)習(xí)興趣,并可進(jìn)行強(qiáng)化練習(xí)。
前 言
隨著大數(shù)據(jù)、人工智能、云計(jì)算等技術(shù)的迅猛發(fā)展,軟件開發(fā)行業(yè)正經(jīng)歷著前所未有的變革。這些技術(shù)不僅極大地提升了軟件開發(fā)的效率和質(zhì)量,也迫使軟件測試領(lǐng)域必須緊跟時(shí)代步伐,不斷創(chuàng)新和進(jìn)化,主要表現(xiàn)在以下幾個(gè)方面。
1. 智能測試與人工智能的融入
人工智能和機(jī)器學(xué)習(xí)技術(shù)正被廣泛應(yīng)用于軟件測試領(lǐng)域,涵蓋了智能缺陷預(yù)測、測試用例自動(dòng)生成、測試數(shù)據(jù)優(yōu)化等方面。人工智能技術(shù)可以幫助測試團(tuán)隊(duì)更精準(zhǔn)地識別潛在問題,優(yōu)化測試資源分配,提高測試覆蓋率和測試效率。
2. DevOps與測試左移
DevOps強(qiáng)調(diào)開發(fā)、測試、運(yùn)維等團(tuán)隊(duì)之間的緊密協(xié)作,推動(dòng)快速且高質(zhì)量的軟件交付。測試左移是DevOps理念在測試領(lǐng)域的具體實(shí)踐,即在軟件開發(fā)早期就引入測試活動(dòng),盡早發(fā)現(xiàn)并解決問題。這要求測試團(tuán)隊(duì)與開發(fā)團(tuán)隊(duì)緊密合作,共同制定測試策略,確保軟件質(zhì)量從源頭開始把控。
3. 持續(xù)集成與持續(xù)交付(CI/CD)
CI/CD流程要求軟件開發(fā)和測試過程高度自動(dòng)化和集成化,實(shí)現(xiàn)代碼的頻繁提交、自動(dòng)構(gòu)建、測試和部署。這要求測試團(tuán)隊(duì)能夠快速響應(yīng)開發(fā)團(tuán)隊(duì)的變更,確保每次提交都能通過自動(dòng)化測試,從而保持軟件的高質(zhì)量和高可用性。
4. 自動(dòng)化測試的全面普及
自動(dòng)化測試已成為現(xiàn)代軟件開發(fā)流程中不可或缺的一部分。采用自動(dòng)化測試,可以顯著減少重復(fù)性工作,提高測試的效率和準(zhǔn)確性,加快軟件的持續(xù)集成和持續(xù)交付過程。自動(dòng)化測試不僅限于單元測試、集成測試,還包括接口測試、性能測試、安全測試等多個(gè)層面,從而逐步構(gòu)建一個(gè)全面、系統(tǒng)的自動(dòng)化測試體系。
5. 云原生測試
隨著云原生技術(shù)的興起,越來越多的應(yīng)用被部署在云平臺上。云原生測試強(qiáng)調(diào)在云環(huán)境中進(jìn)行測試,以驗(yàn)證應(yīng)用在云環(huán)境下的性能、穩(wěn)定性和安全性。這要求測試團(tuán)隊(duì)具備云計(jì)算相關(guān)的知識和技能,能夠利用云平臺的優(yōu)勢開展測試活動(dòng)。
6. 安全性測試與合規(guī)性測試
隨著網(wǎng)絡(luò)安全和數(shù)據(jù)保護(hù)的重要性日益凸顯,安全性測試和合規(guī)性測試已成為軟件測試的重要組成部分。測試團(tuán)隊(duì)需要關(guān)注軟件的安全漏洞和潛在風(fēng)險(xiǎn),確保軟件符合相關(guān)法律法規(guī)和行業(yè)標(biāo)準(zhǔn)的要求。
7. 性能測試與壓力測試
在大數(shù)據(jù)和云計(jì)算環(huán)境下,軟件的性能和穩(wěn)定性對于用戶體驗(yàn)至關(guān)重要。性能測試和壓力測試已成為評估軟件質(zhì)量的重要手段。測試團(tuán)隊(duì)需要模擬真實(shí)或極端的用戶場景,對軟件進(jìn)行全面的性能測試和壓力測試,以確保軟件在高負(fù)載下仍能穩(wěn)定運(yùn)行。
因此,軟件測試技術(shù)需要不斷適應(yīng)新技術(shù)和新模式的發(fā)展,通過自動(dòng)化、智能化、持續(xù)集成和云原生等手段提升測試效率和質(zhì)量,確保軟件能夠快速、穩(wěn)定、安全地交付給用戶。
在這一技術(shù)背景下,《軟件測試技術(shù)(微課版)》立足于軟件測試的基礎(chǔ)理論和知識體系,以SWEBOK V3提出的15個(gè)知識域?yàn)橹敢,分析了軟件測試相關(guān)的學(xué)科,并按照不同的方法對軟件測試進(jìn)行了系統(tǒng)的分類。為了讓讀者更好地理解軟件測試知識體系,本書還介紹了ISTQB、CSTQB、軟件評測師、CSTE、LoadRunner ASP等流行的軟件測試資質(zhì)認(rèn)證體系。
在軟件測試概述的基礎(chǔ)上,本書介紹了經(jīng)典的黑盒和白盒測試方法,其中黑盒測試方法主要包括等價(jià)類劃分法、邊界值分析法、判定表、因果圖、正交實(shí)驗(yàn)法、場景法、狀態(tài)遷移法和錯(cuò)誤推測法等,而白盒測試方法包括邏輯覆蓋、基本路徑測試、循環(huán)測試、程序插樁、域測試等。在軟件測試過程知識體系中,除基本的軟件測試過程模型和過程管理外,本書還介紹了國內(nèi)開源的項(xiàng)目管理工具禪道,并針對新技術(shù)和新模式的發(fā)展,介紹了敏捷和DevOps測試。
在單元測試中,本書除介紹驅(qū)動(dòng)程序、樁程序和Mock技術(shù)外,還介紹了流行的單元測試工具。集成測試部分則介紹了微服務(wù)架構(gòu)的集成測試方法。在系統(tǒng)測試中,除基本的功能測試外,本書還特別介紹了澤眾軟件科技有限公司推出的性能測試工具。在安全性測試方面,本書將信息安全知識融入軟件測試知識體系,例如基于故障注入的安全性測試、基于滲透的安全性測試等。
在可靠性測試方面,本書將可靠性工程引入軟件測試領(lǐng)域,深入講解可靠性模型。在易用性測試方面,本書將人機(jī)交互的軟件工程引入軟件測試領(lǐng)域,為易用性提供了更好的參考依據(jù),并同時(shí)介紹了兼容性、本地化和驗(yàn)收測試。在軟件測試管理方面,本書引入PMPOK作為知識領(lǐng)域的指引,并詳細(xì)介紹了國際和國內(nèi)相關(guān)的軟件測試文檔標(biāo)準(zhǔn)。
本書總結(jié)了軟件測試工具的能力、分類和選擇策略,并介紹了軟件測試工具的研發(fā)技術(shù)。在自動(dòng)化軟件測試中,介紹了流行的自動(dòng)化測試框架。在軟件測試環(huán)境搭建過程中,介紹了主流的容器技術(shù)。本書還探討了高質(zhì)量編程與軟件測試的關(guān)系,并提供了安全編程的建議。
在新技術(shù)應(yīng)用領(lǐng)域,本書介紹了人工智能和大數(shù)據(jù)的測試,特別是人工智能領(lǐng)域的測試技術(shù),包括對算法、數(shù)據(jù)集和性能的測試。同時(shí),借助人工智能中的機(jī)器學(xué)習(xí)、深度學(xué)習(xí)和自然語言處理等算法,可以快速而精準(zhǔn)地生成測試用例,顯著提升測試的質(zhì)量和覆蓋率。
由于作者水平有限,書中難免有不足之處,懇請和廣大讀者批評指正。在編寫本書的過程中參考了相關(guān)文獻(xiàn),在此向這些文獻(xiàn)的作者表示感謝。我們的電話是010-62796045,郵箱是992116@qq.com。
本書配套的電子課件和習(xí)題答案可以到http://www.tupwk.com.cn/downpage網(wǎng)站下載,也可以掃描下方左側(cè)的二維碼獲取。掃描下方右側(cè)的視頻二維碼可以直接觀看教學(xué)視頻。
編 者
2025年3月
目 錄
第 1 章 軟件測試概述 1
1.1 軟件缺陷 1
1.1.1 Bug與軟件缺陷 1
1.1.2 軟件缺陷的普遍性 2
1.2 軟件質(zhì)量 4
1.3 軟件測試定義 5
1.4 軟件測試學(xué)科 6
1.4.1 軟件測試的發(fā)展歷程 6
1.4.2 軟件工程與軟件測試 7
1.4.3 軟件測試學(xué)派 8
1.5 軟件測試目的和原則 9
1.5.1 軟件測試目的 9
1.5.2 軟件測試原則 11
1.6 軟件測試分類 14
1.7 測試用例 19
1.8 軟件測試資質(zhì)認(rèn)證 22
1.8.1 ISTQB 22
1.8.2 CSTQB 25
1.8.3 軟件測評師 26
1.9 思考題 27
第 2 章 黑盒測試 29
2.1 黑盒測試概述 29
2.2 等價(jià)類劃分 31
2.2.1 等價(jià)類劃分概述 31
2.2.2 等價(jià)類劃分的設(shè)計(jì)規(guī)則 32
2.2.3 測試用例完整性劃分 32
2.2.4 等價(jià)類劃分的設(shè)計(jì)過程 33
2.2.5 等價(jià)類劃分的示例 33
2.3 邊界值分析法 35
2.3.1 邊界值選取原則 35
2.3.2 邊界值選取方法 36
2.3.3 邊界值分析法示例 37
2.3.4 邊界值分析法的特點(diǎn) 37
2.4 判定表 38
2.4.1 判定表的要素 38
2.4.2 判定表的實(shí)例 39
2.4.3 判定表的特點(diǎn) 40
2.5 因果圖 40
2.5.1 因果圖的原理 41
2.5.2 因果圖的實(shí)例 42
2.5.3 因果圖的特點(diǎn) 44
2.6 正交實(shí)驗(yàn)法 44
2.6.1 正交實(shí)驗(yàn)法的原理與實(shí)例 45
2.6.2 正交實(shí)驗(yàn)法的標(biāo)準(zhǔn)與工具 46
2.7 場景法 47
2.7.1 場景法的設(shè)計(jì)流程 47
2.7.2 場景法的特點(diǎn) 49
2.8 狀態(tài)遷移法 49
2.9 錯(cuò)誤推測法 50
2.10 黑盒測試實(shí)施策略 51
2.11 思考題 51
第 3 章 白盒測試 53
3.1 白盒測試概述 53
3.2 靜態(tài)白盒測試 54
3.2.1 編碼規(guī)范 54
3.2.2 代碼靜態(tài)檢測 57
3.2.3 代碼靜態(tài)檢測工具 59
3.3 邏輯覆蓋測試 61
3.3.1 語句覆蓋 62
3.3.2 判定覆蓋 63
3.3.3 條件覆蓋 63
3.3.4 判定條件覆蓋 64
3.3.5 條件組合覆蓋 64
3.3.6 路徑覆蓋 65
3.4 基本路徑測試 65
3.5 循環(huán)測試 68
3.6 程序插樁 69
3.7 灰盒測試 72
3.8 其他白盒測試方法 73
3.9 白盒測試實(shí)施策略 76
3.10 思考題 76
第 4 章 軟件測試過程 79
4.1 軟件測試標(biāo)準(zhǔn) 79
4.1.1 標(biāo)準(zhǔn)概述 79
4.1.2 軟件測試相關(guān)標(biāo)準(zhǔn) 80
4.2 軟件測試過程模型 84
4.2.1 V模型 86
4.2.2 W模型 87
4.2.3 H模型 88
4.2.4 X模型 88
4.2.5 前置測試模型 89
4.3 軟件測試過程管理 90
4.4 軟件測試管理工具 91
4.5 敏捷測試 94
4.5.1 敏捷測試方法 96
4.5.2 敏捷測試技術(shù) 97
4.5.3 敏捷測試工具 99
4.6 DevOps測試 100
4.7 思考題 103
第 5 章 單元測試與集成測試 105
5.1 單元測試 105
5.1.1 單元測試概述 106
5.1.2 單元測試的內(nèi)容 107
5.1.3 單元測試的過程 109
5.1.4 驅(qū)動(dòng)程序、樁程序和Mock 110
5.1.5 單元測試工具 111
5.2 集成測試 118
5.2.1 集成測試概述 118
5.2.2 集成測試的模式 119
5.2.3 微服務(wù)架構(gòu)的集成測試 122
5.2.4 持續(xù)集成與測試 123
5.3 思考題 125
第 6 章 系統(tǒng)測試(一) 127
6.1 功能測試 128
6.1.1 功能測試與非功能測試 128
6.1.2 功能測試的內(nèi)容 129
6.2 性能測試 131
6.2.1 性能測試的分類 131
6.2.2 性能測試的指標(biāo) 134
6.2.3 性能測試的過程 137
6.2.4 負(fù)載測試 138
6.2.5 壓力測試 138
6.2.6 容量測試 139
6.2.7 性能測試工具 140
6.3 安全性測試 145
6.3.1 安全性測試概述 146
6.3.2 安全性測試原則 146
6.3.3 安全性測試評價(jià) 147
6.3.4 安全性測試方法 148
6.4 思考題 154
第 7 章 系統(tǒng)測試(二)與驗(yàn)收測試 155
7.1 可靠性測試 155
7.1.1 可靠性測試概述 156
7.1.2 可靠性測試相關(guān)標(biāo)準(zhǔn)與規(guī)范 157
7.1.3 可靠性模型 158
7.1.4 可靠性測試過程 160
7.2 易用性測試 161
7.2.1 易用性測試概述 161
7.2.2 易用性測試方法 162
7.2.3 A/B測試 163
7.2.4 人機(jī)交互的軟件工程 165
7.3 兼容性測試 167
7.3.1 硬件兼容性測試 167
7.3.2 軟件兼容性測試 168
7.3.3 數(shù)據(jù)兼容性測試 170
7.4 本地化測試 170
7.4.1 本地化測試概述 170
7.4.2 軟件國際化標(biāo)準(zhǔn) 171
7.4.3 國際化開發(fā)測試流程 172
7.4.4 本地化測試內(nèi)容 172
7.5 驗(yàn)收測試 174
7.5.1 驗(yàn)收測試的步驟 174
7.5.2 驗(yàn)收測試的策略 175
7.6 思考題 177
第 8 章 軟件測試管理 179
8.1 項(xiàng)目管理 179
8.1.1 項(xiàng)目管理概述 180
8.1.2 項(xiàng)目管理軟件 183
8.1.3 軟件配置管理與測試 184
8.2 軟件缺陷管理 186
8.2.1 軟件缺陷的屬性 187
8.2.2 軟件缺陷的生命周期 191
8.2.3 軟件缺陷報(bào)告 192
8.2.4 軟件缺陷的分離和再現(xiàn) 195
8.2.5 軟件缺陷管理工具 196
8.3 軟件測試文檔 197
8.3.1 IEEE 829-2008軟件和系統(tǒng)測試文檔標(biāo)準(zhǔn) 197
8.3.2 GB/T 9386-2008計(jì)算機(jī)軟件測試文檔編制規(guī)范 200
8.3.3 測試計(jì)劃 200
8.4 思考題 207
第9 章 軟件測試工具與自動(dòng)化 209
9.1 軟件測試工具總結(jié) 209
9.1.1 軟件測試工具能力 210
9.1.2 軟件測試工具的分類 210
9.1.3 軟件測試工具的選擇 214
9.1.4 軟件測試工具的研發(fā) 214
9.2 自動(dòng)化軟件測試 215
9.2.1 自動(dòng)化軟件測試概述 215
9.2.2 自動(dòng)化軟件測試的優(yōu)勢 216
9.2.3 自動(dòng)化軟件測試的關(guān)鍵技術(shù) 217
9.2.4 自動(dòng)化測試框架 218
9.2.5 自動(dòng)化測試工具 224
9.3 自動(dòng)軟件測試的引入 226
9.3.1 引入過程中存在的問題 226
9.3.2 自動(dòng)化測試的引入風(fēng)險(xiǎn)分析 229
9.3.3 適合引入自動(dòng)化測試的軟件項(xiàng)目 230
9.4 思考題 231
第 10 章 軟件測試領(lǐng)域 233
10.1 軟件測試環(huán)境 234
10.1.1 軟件測試環(huán)境概述 234
10.1.2 虛擬化與容器技術(shù) 235
10.2 軟件測試的評估 237
10.2.1 測試評估的目的和方法 238
10.2.2 覆蓋率評估 238
10.2.3 質(zhì)量評估 240
10.2.4 性能評估 247
10.3 軟件質(zhì)量與測試 247
10.4 高質(zhì)量編程與測試 249
10.5 人工智能與測試 252
10.5.1 人工智能領(lǐng)域內(nèi)的測試技術(shù) 252
10.5.2 人工智能輔助軟件測試 254
10.6 大數(shù)據(jù)與測試 257
10.7 思考題 258
參考文獻(xiàn) 259