《軟體代碼可靠性測試實踐》是2014年清華大學出版社出版的圖書。
基本介紹
- 中文名:軟體代碼可靠性測試實踐
- 作者:趙國亮
- 出版時間:2014年11月17日
- 出版社: 清華大學出版社
- ISBN:9787302384892
- 定價:65 元
- 裝幀:平裝
- 印次:1-1
圖書簡介,目錄,
圖書簡介
本書將軟體測試技術、方法與實際工程樣例系統及主流測試工具相結合,提出軟體代碼可靠性測試理論,詳細闡述了軟體代碼可靠性測試的實施過程及工程解決方案,可作為軟體測試實踐指導用書。
全書總計16章,可分成三個部分。第一部分由第1章和第2章組成,提出全新的軟體代碼可靠性理論,從軟體代碼的角度詳細闡述了軟體代碼可靠性設計的過程、方法及軟體代碼可靠性設計原則和規範,從而提出軟體代碼可靠性測試的概念。第二部分由第3章至第13章組成,重點介紹軟體代碼可靠性測試技術和方法,創新性地提出軟體代碼可靠性測試Z模型,並結合第4章的實際樣例系統、詳細地介紹軟體代碼可靠性測試的測試流程、測試方法和各階段所採用的專業化測試工具的使用。第三部分由第14章至第16章組成,從軟體缺陷管理、測試準備及測試過程管理、軟體測試文檔編寫等幾方面詳細介紹軟體代碼可靠性測試的過程控制和管理。
目錄
第1章軟體代碼可靠性基礎 1
1.1軟體代碼可靠性基礎 1
1.2軟體代碼可靠性設計與編程 3
1.2.1軟體代碼可靠性設計 3
1.2.2軟體代碼可靠性編程 6
1.3軟體代碼可靠性保障因素 9
1.3.1需求分析保障 9
1.3.2配置管理保障 10
1.3.3跟蹤控制保障 10
1.4軟體代碼可靠性分析與測試 11
1.4.1軟體代碼可靠性分析 11
1.4.2軟體代碼可靠性測試綜述 13
第2章軟體代碼可靠性測試需求 15
2.1軟體代碼可靠性測試的概念 15
2.1.1代碼可靠性測試的基本概念 15
2.1.2代碼可靠性測試的意義 16
2.2軟體需求、設計及分析實現 18
2.2.1軟體需求分析 18
2.2.2軟體需求實現 18
2.2.3軟體設計實現 21
2.3軟體代碼可靠性測試需求分析 24
第3章軟體代碼可靠性測試的方法與技術 27
3.1軟體代碼可靠性測試方法 27
3.1.1靜態測試 27
3.1.2動態測試 28
3.2軟體代碼可靠性測試過程 28
3.2.1軟體測試過程 29
3.2.2軟體代碼可靠性測試過程 32
3.3軟體代碼可靠性測試技術 35
3.3.1黑盒測試技術 35
3.3.2白盒測試技術 35
3.3.3單元測試技術 36
3.3.4集成測試技術 36
3.3.5系統測試技術 36
第4章被測樣例系統 39
4.1被測樣例系統的需求說明 39
4.1.1引言 39
4.1.2系統概述 40
4.1.3功能性需求 41
4.1.4非功能性需求 43
4.1.5外部接口說明 44
4.2被測樣例系統設計說明 44
4.2.1引言 44
4.2.2全局數據說明 44
4.2.3功能設計說明 49
4.2.4需求可追溯性 79
第5章軟體質量度量 81
5.1軟體質量 81
5.1.1軟體質量定義 82
5.1.2軟體質量特性 83
5.1.3軟體質量模型 85
5.2軟體質量度量與評價 92
5.2.1產品質量度量的分類 92
5.2.2軟體質量評價策略 93
5.2.3軟體質量評價過程 95
5.3軟體質量度量方法 97
5.3.1行數度量 97
5.3.2扇入/扇出數度量 98
5.3.3McCabe度量 99
5.4軟體質量度量實踐 103
5.4.1軟體質量度量工具 103
5.4.2被測樣例系統質量度量實踐 108
第6章軟體代碼靜態分析 131
6.1軟體代碼靜態分析的概念 131
6.2C語言編碼規範 132
6.2.1編碼規範 132
6.2.2MISRA-C2004編碼規範 133
6.3MISRA-C2004典型編碼規範介紹 135
6.3.1數據類型及數據類型轉換規範 135
6.3.2初始化規範 139
6.3.3指針的規範 140
6.3.4表達式規範 143
6.3.5程式流的控制規範 147
6.3.6函式相關規範 152
6.4軟體代碼靜態分析實踐 156
6.4.1代碼靜態分析工具 156
6.4.2被測樣例系統靜態分析實踐 161
第7章軟體代碼動態分析 169
7.1軟體代碼動態分析的概念 169
7.2軟體代碼動態分析的原理 170
7.2.1數據流分析 170
7.2.2控制流分析 172
7.2.3接口分析 173
7.2.4表達式分析 173
7.3典型錯誤分析 173
7.3.1緩衝區溢出 173
7.3.2記憶體泄漏 176
7.3.3引用未初始化變數 179
7.3.4指針與數組錯誤 180
7.4軟體代碼動態分析的實踐 184
7.4.1代碼動態分析工具 184
7.4.2被測樣例系統代碼動態分析 194
第8章軟體黑盒測試 205
8.1軟體黑盒測試概述 205
8.1.1黑盒測試的基本概念 205
8.1.2黑盒測試的優點和缺點 206
8.1.3黑盒測試的意義 206
8.2軟體黑盒測試環境構建 206
8.2.1黑盒測試環境的重要性 207
8.2.2黑盒測試環境構建要素 207
8.2.3黑盒測試環境的管理與維護 207
8.3軟體黑盒測試方法和技術 207
8.3.1功能分解法 208
8.3.2等價類劃分法 209
8.3.3邊界值分析法 211
8.3.4因果圖分析法 214
8.3.5場景測試法 217
8.3.6隨機測試法 223
8.3.7猜錯法 223
8.3.8測試方法的評價 223
8.4軟體黑盒測試原則和策略 224
8.4.1黑盒測試的原則 225
8.4.2黑盒測試的策略 225
8.4.3黑盒測試的類型 225
8.5軟體黑盒測試實踐 227
第9章軟體白盒測試 241
9.1軟體白盒測試概述 241
9.1.1白盒測試的基本概念 241
9.1.2白盒測試的原則 242
9.1.3白盒測試的意義 242
9.2軟體白盒測試方法和技術 243
9.2.1靜態白盒測試 243
9.2.2對判定的測試 243
9.2.3對路徑的測試 244
9.2.4對循環的測試 251
9.2.5對變數的測試 254
9.2.6白盒測試策略 255
9.3系統級動態白盒測試實踐 255
9.3.1系統級動態白盒測試工具介紹 255
9.3.2被測樣例系統動態白盒測試 266
第10章軟體單元測試 275
10.1單元測試概述 275
10.1.1單元測試基本概念 276
10.1.2單元測試的重要性 276
10.1.3單元測試的主要任務 277
10.2單元測試方法和技術 279
10.2.1單元測試方法 279
10.2.2單元測試技術 280
10.2.3單元測試要求 284
10.3單元測試策略和過程 285
10.3.1單元測試策略 285
10.3.2單元測試過程 286
10.3.3單元測試環境 290
10.4單元測試實踐 291
10.4.1單元測試工具 291
10.4.2被測樣例系統單元測試實踐 296
第11章軟體集成測試 331
11.1集成測試概述 331
11.1.1集成測試基本概念 331
11.1.2集成測試的重要性 332
11.1.3集成測試的主要任務 333
11.2集成測試方法和技術 335
11.2.1集成測試方法 335
11.2.2集成測試技術要求 335
11.3集成測試策略和過程 336
11.3.1集成測試策略 336
11.3.2集成測試過程 343
11.3.3集成測試環境 347
11.4集成測試實踐 349
11.4.1集成測試工具 349
11.4.2被測樣例系統集成測試實踐 349
第12章測試策略與測試方法 375
12.1軟體系統測試策略 375
12.1.1功能測試策略 377
12.1.2性能測試策略 377
12.1.3接口測試策略 378
12.1.4人機互動界面測試策略 378
12.1.5強度測試策略 379
12.1.6餘量測試策略 379
12.1.7安全性測試策略 379
12.1.8恢復性測試策略 380
12.1.9邊界測試策略 380
12.1.10數據處理測試策略 380
12.1.11容量測試策略 380
12.1.12互操作性測試策略 380
12.1.13敏感性測試策略 380
12.1.14標準符合性測試策略 381
12.1.15兼容性測試策略 381
12.2軟體系統測試方法 381
12.2.1多任務測試 382
12.2.2臨界測試 382
12.2.3中斷測試 382
12.2.4其他系統測試方法 382
12.3軟體系統測試過程 383
12.3.1系統測試需求分析 383
12.3.2制定系統測試計畫 384
12.3.3設計系統測試用例 387
12.3.4系統測試的前期準備工作 388
12.3.5系統測試實施 388
12.4軟體系統測試環境構建 389
12.4.1系統測試環境的要求 389
12.4.2系統測試環境構建要素 390
12.4.3系統測試環境確認 390
12.4.4系統測試環境的管理與維護 391
12.5系統測試實踐 393
第13章基於模型的軟體需求驗證 417
13.1基於模型的軟體測試 417
13.1.1基於模型的軟體測試概念 418
13.1.2一致性測試 418
13.1.3軟體測試模型 418
13.2基於模型的軟體測試過程及支持工具 420
13.2.1分析理解被測軟體 420
13.2.2選擇合適的測試模型 420
13.2.3構造測試模型 421
13.2.4生成和執行測試用例 421
13.2.5收集測試結果進行分析 421
13.2.6支持工具 421
13.3基於模型的軟體測試的優缺點 422
13.3.1基於模型的軟體測試優點 422
13.3.2基於模型的軟體測試缺點 422
13.4有限狀態機及其測試理論 423
13.4.1有限狀態機 423
13.4.2狀態和遷移覆蓋 423
13.4.3狀態遷移矩陣 424
13.5基於模型的軟體測試實踐 424
13.5.1基於模型的軟體需求驗證工具 424
13.5.2被測樣例系統模型化需求驗證 426
第14章軟體測試數據、測試用例管理 441
14.1軟體測試數據的準備與生成 441
14.1.1軟體測試數據的定義 442
14.1.2軟體測試數據的準備與生成 443
14.1.3軟體測試數據的驗證 444
14.2軟體測試用例管理 444
14.2.1測試用例的基本要素 445
14.2.2測試用例的管理 446
14.2.3測試用例的評審 447
14.2.4測試用例的修改/更新 447
14.3軟體測試管理實踐 448
14.3.1測試用例管理工具的使用 448
14.3.2被測樣例系統測試用例的管理 448
第15章軟體缺陷管理與跟蹤 453
15.1軟體缺陷的定義與分類 453
15.1.1軟體缺陷的定義 453
15.1.2軟體缺陷的分類 454
15.2軟體缺陷管理 455
15.2.1軟體缺陷生命周期概述 455
15.2.2軟體缺陷管理流程 456
15.3軟體缺陷報告和軟體缺陷度量 457
15.3.1軟體缺陷報告 457
15.3.2軟體缺陷度量 458
15.4軟體缺陷管理實踐 461
第16章軟體測試文檔的編寫與管理 467
16.1軟體測試文檔類型 467
16.1.1測試計畫 468
16.1.2測試報告 469
16.2軟體測試文檔編寫要點 469
16.2.1測試計畫編寫要點 469
16.2.2測試報告編寫要點 472
16.3軟體測試文檔管理 474
16.3.1測試文檔管理的意義 474
16.3.2如何管理測試文檔 475
16.3.3測試文檔評審 475
16.4軟體測試文檔編寫實踐 476
16.4.1被測樣例系統測試計畫編寫 476
16.4.2被測樣例系統測試報告編寫 487