第1章 緒論
第2章 軟件測試基礎
2.1 術語和目的
2.1.1 錯誤和缺陷術語
2.1.2 測試術語
2.1.3 軟件質量
2.1.4 測試工作量
2.2 基本測試過程
2.2.1 測試計劃和控制
2.2.2 測試分析和設計
2.2.3 測試實現和執行
2.2.4 測試出口準則的評估和報告
2.2.5 測試結束活動
2.3 測試心理學
2.4 測試基本原理
2.5 小結
第3章 軟件生命周期中的測試
3.1 通用V模型
3.2 組件測試
3.2.1 術語解釋
3.2.2 測試對象
3.2.3 測試環境
3.2.4 測試目標
3.2.5 測試策略
3.3 集成測試
3.3.1 術語解釋
3.3.2 測試對象
3.3.3 測試環境
3.3.4 測試目標
3.3.5 集成策略
3.4 系統測試
3.4.1 術語解釋
3.4.2 測試對象和測試環境
3.4.3 測試目標
3.4.4 系統測試實踐中的問題
3.5 驗收測試
3.5.1 根據合同進行的驗收測試
3.5.2 用戶驗收測試
3.5.3 操作(驗收)測試
3.5.4 現場測試
3.6 產品新版本的測試
3.6.1 軟件維護
3.6.2 版本開發
3.6.3 增量開發中的測試
3.7 測試的常見類型
3.7.1 功能測試
3.7.2 非功能測試
3.7.3 軟件結構的測試
3.7.4 與變更有關的測試和回歸測試
3.8 小結
第4章 靜態測試
4.1 結構化團體檢查
4.1.1 基礎
4.1.2 評審
4.1.3 通用的評審過程
4.1.4 角色和職責
4.1.5 評審的類型
4.2 靜態分析
4.2.1 編譯器作為靜態分析工具
4.2.2 檢查和規範、標準的一致性
4.2.3 數據流分析
4.2.4 控制流分析
4.2.5 確定度量
4.3 小結
第5章 動態分析——測試設計技術
5.1 黑盒測試技術
5.1.1 等價類劃分
5.1.2 邊界值分析
5.1.3 狀態轉換測試
5.1.4 因果圖技術和決策表技術
5.1.5 用例測試
5.1.6 其他黑盒技術
5.1.7 黑盒技術的常規討論
5.2 白盒測試技術
5.2.1 語句覆蓋
5.2.2 分支覆蓋
5.2.3 條件測試
5.2.4 路徑覆蓋
5.2.5 其他白盒技術
5.2.6 白盒技術的常規討論
5.2.7 探測和工具支持
5.3 基于直覺和經驗的測試用例設計
5.4 小結
第6章 測試管理
6.1 測試的組織
6.1.1 測試團隊
6.1.2 任務和資質
6.2 制定測試計劃
6.2.1 質量保證計劃
6.2.2 測試計劃
6.2.3 劃分測試優先級
6.2.4 測試出口準則
6.3 成本因素和經濟因素
6.3.1 缺陷成本
6.3.2 測試的成本
6.3.3 測試工作量的估算
6.4 測試策略的定義
6.4.1 預防性方法和應對性方法
6.4.2 分析式方法和啟發式方法
6.4.3 測試和風險
6.5 測試活動管理
6.5.1 計劃測試周期
6.5.2 監測測試周期
6.5.3 測試周期控制
6.6 事件管理
6.6.1 測試日志
6.6.2 事件報告
6.6.3 事件分類
6.6.4 事件狀態
6.7 配置管理需求
6.8 相關標準
6.9 小結
第7章 測試工具
7.1 測試工具的類型
7.1.1 測試管理及控制的工具
7.1.2 測試規格說明的工具
7.1.3 靜態測試的工具
7.1.4 動態測試的工具
7.1.5 非功能測試的工具
7.2 測試工具的選擇和引入
7.2.1 工具引入的成本效益
7.2.2 工具的選擇
7.2.3 工具的引入
7.3 小結
附錄A 根據IEEE 829標準制定的測試計劃模板
附錄B 關于課程和認證測試人員考試的重要信息
附錄C 習題
術語表
參考文獻
索引