目錄
出版者的話
譯者序
前言
第一部分 軟體測試基礎
第1章 為什麼測試軟體
1.1 軟體何時會出現問題
1.2 軟體測試的目的
1.3 參考文獻註解
第2章 模型驅動測試設計
2.1 軟體測試基礎
2.2 軟體測試活動
2.3 基於軟體活動的測試級別
2.4 覆蓋準則
2.5 模型驅動測試設計
2.5.1 測試設計
2.5.2 測試自動化
2.5.3 測試執行
2.5.4 測試評估
2.5.5 測試者和抽象
2.6 MDTD為什麼重要
2.7 參考文獻註解
第3章 測試自動化
3.1 軟體可測性
3.2 測試用例的構成
3.3 測試自動化框架
3.3.1 JUnit測試框架
3.3.2 數據驅動測試
3.3.3 在單元測試中添加參數
3.3.4 從命令行運行JUnit
3.4 超越自動化
3.5 參考文獻註解
第4章 測試優先
4.1 馴服改動成本曲線
4.1.1 改動成本曲線真的被馴服了嗎
4.2 測試裝具——守護者
4.2.1 持續集成
4.2.2 敏捷方法中的系統測試
4.2.3 將測試加入遺留系統
4.2.4 敏捷方法中測試的弱點
4.3 參考文獻註解
第5章 基於準則的測試設計
5.1 定義覆蓋準則
5.2 不可行性和包含
5.3 使用覆蓋準則的好處
5.4 下一個部分
5.5 參考文獻註解
第二部分 覆蓋準則
第6章 輸入空間劃分
6.1 輸入域建模
6.1.1 基於介面的輸入域建模
6.1.2 基於功能的輸入域建模
6.1.3 設計特徵
6.1.4 選擇區塊和測試值
6.1.5 檢查輸入域模型
6.2 組合策略準則
6.3 檢查特徵之間的約束
6.4 擴展實例:從JavaDoc中推導IDM
6.4.1 設計基於IDM的測試用例中的任務
6.4.2 為迭代器設計基於IDM的測試用例
6.5 參考文獻註解
第7章 圖覆蓋
7.1 概述
7.2 圖覆蓋準則
7.2.1 結構化的覆蓋準則
7.2.2 遊歷、順路和繞路
7.2.3 數據流準則
7.2.4 圖覆蓋準則間的包含關係
7.3 基於源代碼的圖覆蓋
7.3.1 基於源代碼的結構化圖覆蓋
7.3.2 基於源代碼的數據流圖覆蓋
7.4 設計元素的圖覆蓋
7.4.1 設計元素的結構化圖覆蓋
7.4.2 設計元素的數據流圖覆蓋
7.5 設計規範的圖覆蓋
7.5.1 測試順序約束
7.5.2 測試軟體的行為狀態
7.6 用例的圖覆蓋
7.6.1 用例場景
7.7 參考文獻註解
第8章 邏輯覆蓋
8.1 有效的語義邏輯覆蓋準則
8.1.1 簡單的邏輯覆蓋準則
8.1.2 有效子句覆蓋
8.1.3 無效子句覆蓋
8.1.4 不可行性和包含
8.1.5 讓子句決定謂詞
8.1.6 找到滿足準則的取值
8.2 語法邏輯覆蓋準則
8.2.1 蘊涵項覆蓋
8.2.2 極小DNF
8.2.3 MUMCUT覆蓋準則
8.2.4 卡諾圖
8.3 程序的結構化邏輯覆蓋
8.3.1 滿足謂詞覆蓋
8.3.2 滿足子句覆蓋
8.3.3 滿足有效子句覆蓋
8.3.4 謂詞轉換問題
8.3.5 謂詞中的副作用
8.4 基於規範的邏輯覆蓋
8.5 有限狀態機的邏輯覆蓋
8.6 參考文獻註解
第9章 基於語法的測試
9.1 基於語法的覆蓋準則
9.1.1 基於通用語法的覆蓋準則
9.1.2 變異測試
9.2 基於程序的語法
9.2.1 編譯器的BNF語法
9.2.2 基於程序的變異
9.3 集成測試和面向對象測試
9.3.1 BNF集成測試
9.3.2 集成變異
9.4 基於規約的語法
9.4.1 BNF語法
9.4.2 基於規約的變異
9.5 輸入空間的語法
9.5.1 BNF語法
9.5.2 變異輸入語法
9.6 參考文獻註解
第三部分 實踐中的測試
第10章 管理測試過程
10.1 概述
10.2 需求分析和規約
10.3 系統和軟體設計
10.4 中間設計
10.5 詳細設計
10.6 實現
10.7 集成
10.8 系統部署
10.9 運行和維護
10.10 實現測試過程
10.11 參考文獻註解
第11章 編寫測試計劃
11.1 分層測試計劃模板
11.2 參考文獻註解
第12章 &nbs