本書首先從工程導(dǎo)入軟件測試;其次從軟件測試與軟件生命周期的關(guān)系,循序漸進(jìn)介紹軟件測試的內(nèi)容;最后從軟件質(zhì)量的角度闡述軟件質(zhì)量保證體系,明確軟件測試與軟件質(zhì)量保證的關(guān)系,旨在為軟件行業(yè)培養(yǎng)其需要的軟件測試人才。本書配套有完整的課程資源,包括課程標(biāo)準(zhǔn)、教學(xué)大綱、教學(xué)課件等。
更多科學(xué)出版社服務(wù),請掃碼獲取。
教育部協(xié)同育人項(xiàng)目"軟件測試方法與技術(shù)的測試案例建設(shè)"的負(fù)責(zé)人;連續(xù)三年獲全國大學(xué)生軟件測試大賽優(yōu)秀指導(dǎo)教師獎
目錄
第1章 導(dǎo)論 1
1.1 軟件工程與軟件測試 1
1.1.1 工程 1
1.1.2 軟件工程 1
1.1.3 軟件測試 2
1.1.4 軟件生命周期 3
1.2 軟件質(zhì)量與軟件測試 6
1.2.1 質(zhì)量革命 6
1.2.2 軟件質(zhì)量 6
1.2.3 SWEBOK中的軟件質(zhì)量與軟件測試 7
1.3 軟件缺陷 8
1.3.1 軟件缺陷案例 8
1.3.2 軟件失敗、錯誤、故障、缺陷 10
1.3.3 軟件缺陷的定義 11
1.4 軟件測試與軟件質(zhì)量保證 11
1.5 確認(rèn)與驗(yàn)證 11
1.6 測試用例 12
1.7 軟件測試人員與組織 12
1.7.1 關(guān)于測試的錯誤認(rèn)知 12
1.7.2 優(yōu)秀軟件測試人員應(yīng)具備的素質(zhì) 13
1.7.3 軟件測試人員的組織 14
1.7.4 軟件測試人員的職業(yè)發(fā)展路徑 15
本章小結(jié) 16
本章思考題 16
第2章 軟件測試分類 17
2.1 基于測試階段的劃分 17
2.1.1 單元測試 17
2.1.2 集成測試 18
2.1.3 系統(tǒng)測試 18
2.1.4 驗(yàn)收測試 18
2.2 基于測試目標(biāo)或特性的劃分 19
2.2.1 功能測試 19
2.2.2 非功能測試 19
2.3 基于測試方法的劃分 21
2.3.1 靜態(tài)測試 21
2.3.2 動態(tài)測試 21
2.3.3 白盒測試 21
2.3.4 黑盒測試 22
2.4 基于被測對象的劃分 22
2.5 其他類型的測試 23
2.5.1 回歸測試 23
2.5.2 冒煙測試 23
2.5.3 國際化測試 24
2.5.4 即興測試 24
2.5.5 云測試 24
2.5.6 眾包測試 24
2.5.7 配置測試 25
2.5.8 探索性測試 26
2.5.9 智能化測試 26
本章小結(jié) 27
本章思考題 28
第3章 軟件測試的理論及測試有效性 29
3.1 三個著名的測試?yán)碚?29
3.1.1 Goodenough和Gerhart理論 29
3.1.2 Weyuker和Ostrand理論 32
3.1.3 Gourlay理論 33
3.2 測試的足夠性 34
3.3 測試的局限性 35
本章小結(jié) 35
本章思考題 35
第4章 軟件測試方法與測試用例設(shè)計 37
4.1 白盒測試方法 37
4.1.1 控制流與數(shù)據(jù)流 37
4.1.2 邏輯覆蓋法 39
4.1.3 基本路徑測試 42
4.1.4 數(shù)據(jù)流測試 42
4.2 黑盒測試方法 44
4.2.1 等價類劃分法 44
4.2.2 邊界值分析法 48
4.2.3 決策表法 49
4.2.4 因果圖法 52
4.2.5 功能圖法 56
4.2.6 場景法 57
4.2.7 錯誤推測法 58
4.3 測試用例設(shè)計的測試方法選擇策略 59
本章小結(jié) 59
本章思考題 59
第5章 單元測試 60
5.1 靜態(tài)單元測試 60
5.1.1 人工靜態(tài)測試 60
5.1.2 靜態(tài)分析工具 61
5.2 動態(tài)單元測試 63
5.2.1 樁模塊 64
5.2.2 驅(qū)動模塊 64
5.3 單元測試框架XUnit 64
5.3.1 JUnit 64
5.3.2 NUnit 64
5.3.3 CppUnit 65
5.3.4 PHPUnit 65
本章小結(jié) 65
本章思考題 65
第6章 集成測試與系統(tǒng)測試 66
6.1 集成測試 66
6.1.1 接口類型和接口錯誤 66
6.1.2 集成測試粒度 67
6.1.3 集成測試目標(biāo) 67
6.1.4 集成測試開展 67
6.1.5 集成測試方法 68
6.1.6 集成測試策略 69
6.1.7 集成測試優(yōu)點(diǎn) 71
6.2 系統(tǒng)測試 72
6.2.1 功能測試 72
6.2.2 健壯性測試 72
6.2.3 性能測試 72
6.2.4 安全性測試 75
6.2.5 兼容性測試 76
6.2.6 可恢復(fù)性測試 77
6.2.7 用戶界面測試 78
6.2.8 文檔測試 81
本章小結(jié) 82
本章思考題 82
第7章 軟件測試過程與缺陷管理 83
7.1 測試基本過程 83
7.1.1 軟件測試需求分析 83
7.1.2 軟件測試計劃 85
7.1.3 軟件測試設(shè)計 86
7.1.4 軟件測試實(shí)現(xiàn)與測試環(huán)境搭建 88
7.1.5 軟件測試執(zhí)行 89
7.1.6 軟件測試評估 91
7.1.7 軟件測試總結(jié)和報告 92
7.2 缺陷管理 93
7.2.1 軟件缺陷管理流程 93
7.2.2 缺陷報告 99
7.2.3 缺陷確認(rèn) 104
7.2.4 缺陷解決 104
7.2.5 缺陷測試 105
7.2.6 缺陷關(guān)閉 105
本章小結(jié) 107
本章思考題 107
第8章 自動化測試與測試自動化 108
8.1 概述 108
8.1.1 自動化測試的概念 108
8.1.2 測試自動化的概念 109
8.1.3 自動化測試的優(yōu)勢 110
8.2 自動化測試的實(shí)施及實(shí)例 111
8.2.1 實(shí)施自動化測試的前提條件 111
8.2.2 自動化測試過程 112
8.2.3 自動化測試實(shí)例 117
8.3 自動化測試工具與測試自動化框架 129
8.3.1 自動化測試工具 129
8.3.2 測試自動化框架 130
8.3.3 常用的自動化測試/測試自動化框架與工具 132
本章小結(jié) 139
本章思考題 140
第9章 軟件質(zhì)量保證 141
9.1 軟件質(zhì)量與質(zhì)量保證 141
9.1.1 軟件質(zhì)量 141
9.1.2 軟件質(zhì)量保證 143
9.2 軟件質(zhì)量保證體系 145
9.2.1 軟件質(zhì)量管理標(biāo)準(zhǔn) 147
9.2.2 能力成熟度模型 151
9.3 軟件過程改進(jìn) 154
9.4 軟件過程質(zhì)量度量 156
本章小結(jié) 158
本章思考題 159
參考文獻(xiàn) 160