內容簡介
本書理論聯繫實際,由淺入深地對軟體驗證與確認的相關概念進行了介紹,並結合我國裝備軟體的研製過程對驗證與確認過程進行了詳細的闡述,本書對測試、評審和形式化驗證等方法進行了介紹,並對當前裝備軟體研製中的軟體測試過程進行了深入的探討。另外,本書還從實踐的角度出發介紹了軟體驗證與確認活動的自動化輔助工具以及過程文檔模板,具有極強的工程參考價值。
本書可供高等院校軟體工程、計算機及相關專業的研究生作為學習參考,同時還可作為從事裝?軟體研發、軟體測試以及軟體驗證與質量保證人員的工作參考書。
目錄
第1 章 緒論…………………………………………………………… 1
1. 1 軟體概念及其特點……………………………………………… 1
1. 2 軟體質量基本概念……………………………………………… 3
1. 3 軟體質量與可靠性管理的發展………………………………… 4
1. 4 軟體驗證與確認技術簡介……………………………………… 5
第2 章 基本概念和活動……………………………………………… 6
2. 1 基本概念………………………………………………………… 6
2. 1. 1 軟體質量模型………………………………………………… 6
2. 1. 2 軟體生命周期………………………………………………… 8
2. 1. 3 軟體的生命周期模型………………………………………… 10
2. 1. 4 軟體完整性級別……………………………………………… 18
2. 1. 5 軟體驗證……………………………………………………… 20
2. 1. 6 軟體確認……………………………………………………… 20
2. 1. 7 軟體測試……………………………………………………… 20
2. 1. 8 軟體評審……………………………………………………… 22
2. 1. 9 軟體審查……………………………………………………… 23
2. 1. 10 獨立軟體驗證和確認……………………………………… 24
2. 1. 11 軟體獨立第三方測試……………………………………… 25
2. 2 基本活動………………………………………………………… 28
2. 2. 1 軟體驗證目標………………………………………………… 28
2. 2. 2 軟體驗證活動………………………………………………… 29
第3 章 驗證與確認過程……………………………………………… 32
3. 1 驗證與確認模型………………………………………………… 32
3. 2 軟體的V&V 過程………………………………………………… 32
3. 2. 1 過程:管理…………………………………………………… 32
3. 2. 2 過程:獲取…………………………………………………… 38
3. 2. 3 過程:供應…………………………………………………… 39
3. 2. 4 過程:開發…………………………………………………… 40
3. 2. 5 過程:運行…………………………………………………… 60
3. 2. 6 過程:維護…………………………………………………… 61
3. 3 裝備軟體全生命周期的驗證與確認活動……………………… 63
第4 章 驗證與確認方法……………………………………………… 66
4. 1 軟體測試………………………………………………………… 66
4. 1. 1 軟體測試概念………………………………………………… 66
4. 1. 2 軟體測試分類方法…………………………………………… 67
4. 1. 3 靜態測試方法………………………………………………… 68
4. 2 軟體測試技術…………………………………………………… 87
4. 2. 1 軟體單元測試………………………………………………… 87
4. 2. 2 軟體集成測試………………………………………………… 90
4. 2. 3 軟體配置項測試……………………………………………… 91
4. 2. 4 軟體系統測試………………………………………………… 95
4. 2. 5 軟體驗收測試………………………………………………… 96
4. 2. 6 軟體回歸測試………………………………………………… 97
4. 3 軟體評審………………………………………………………… 97
4. 3. 1 軟體評審的作用……………………………………………… 97
4. 3. 2 軟體評審方式………………………………………………… 97
4. 3. 3 軟體評審點的設定…………………………………………… 98
4. 3. 4 軟體開發各階段的評審……………………………………… 99
4. 4 軟體驗證………………………………………………………… 118
4. 4. 1 軟體形式化驗證概述………………………………………… 118
4. 4. 2 程式正確性證明……………………………………………… 128
第5 章 軟體測評過程………………………………………………… 154
5. 1 軟體測試流程…………………………………………………… 154
5. 1. 1 軟體文檔審查………………………………………………… 154
5. 1. 2 軟體代碼走查………………………………………………… 155
5. 1. 3 測試用例設計………………………………………………… 155
5. 1. 4 測試用例審查………………………………………………… 156
5. 1. 5 測試程式設計和調試………………………………………… 156
5. 1. 6 測試程式和測試結果審查…………………………………… 156
5. 1. 7 測試覆蓋分析………………………………………………… 157
5. 1. 8 測試過程中發現問題的處理………………………………… 157
5. 1. 9 生成軟體測試報告…………………………………………… 158
5. 2 軟體測試管理…………………………………………………… 158
5. 2. 1 組織項目人員………………………………………………… 158
5. 2. 2 建立測試環境………………………………………………… 159
5. 2. 3 評審測試用例………………………………………………… 159
5. 2. 4 監控項目進展………………………………………………… 160
5. 2. 5 測試項目質量管理…………………………………………… 161
5. 2. 6 測試項目配置管理…………………………………………… 162
5. 2. 7 測試結果審查………………………………………………… 164
5. 2. 8 軟體測試質量評價…………………………………………… 165
第6 章 驗證與確認工具……………………………………………… 171
6. 1 靜態分析工具…………………………………………………… 171
6. 1. 1 靜態分析工具簡介…………………………………………… 171
6. 1. 2 常見靜態分析工具…………………………………………… 173
6. 1. 3 其他靜態分析工具…………………………………………… 174
6. 1. 4 靜態分析工具小結…………………………………………… 176
6. 2 單元測試工具…………………………………………………… 176
6. 2. 1 單元測試工具簡介…………………………………………… 176
6. 2. 2 常見單元測試工具…………………………………………… 176
6. 2. 3 單元測試工具小結…………………………………………… 178
6. 3 自動化功能測試工具…………………………………………… 179
6. 3. 1 自動化功能測試工具簡介…………………………………… 179
6. 3. 2 常見的自動化功能測試工具………………………………… 180
6. 3. 3 自動化功能測試工具小結…………………………………… 182
6. 4 自動化性能測試工具…………………………………………… 182
6. 4. 1 自動化性能測試工具簡介…………………………………… 182
6. 4. 2 常用的自動化性能測試工具………………………………… 183
6. 4. 3 自動化性能測試工具小結…………………………………… 185
6. 5 嵌入式軟體驗證與確認工具…………………………………… 186
6. 5. 1 嵌入式軟體白盒測試工具…………………………………… 186
6. 5. 2 嵌入式軟體黑盒仿真驗證工具……………………………… 189
6. 6 軟體故障診斷工具……………………………………………… 198
6. 6. 1 Delta Debug 工具…………………………………………… 198
6. 6. 2 不變式發現工具……………………………………………… 200
6. 6. 3 程式切片工具………………………………………………… 202
6. 6. 4 記憶體類診斷工具……………………………………………… 203
6. 7 軟體驗證與確認管理工具……………………………………… 206
6. 7. 1 配置管理工具………………………………………………… 206
6. 7. 2 需求管理工具………………………………………………… 209
6. 7. 3 測試輔助工具………………………………………………… 210
6. 7. 4 測試管理工具………………………………………………… 210
6. 7. 5 測試用例管理工具…………………………………………… 211
6. 7. 6 Bug 管理工具………………………………………………… 213
6. 8 逆向工程工具…………………………………………………… 214
6. 9 形式化驗證工具………………………………………………… 215
6. 10 對工具的選擇與使用………………………………………… 217
6. 10. 1 對軟體測試工具的認識誤區……………………………… 217
6. 10. 2 測試工具的選擇…………………………………………… 218
6. 10. 3 使用工具應注意的問題…………………………………… 219
第7章 軟體驗證與確認文檔
附錄1 軟體開發過程文檔模板
附錄2 文檔審查單
附錄3 裁剪後的靜態分析編碼規則
參考文獻