第一部分預備知識
第1章 一個小問題
第2章 如何使用本書
2. 1 讀者向導
2. 2 約定
2. 2. 1 每章的基本成分
2. 2. 2 難度
2. 2. 3 標準
2. 2. 4 面向對象術語
2. 2. 5 程序設計語言和代碼舉例
2. 2. 6 測試工具
2. 2. 7 歡迎指出本書的錯誤
2. 3 用于面向對象測試的FAQ
2. 3. 1 為什么要測試對象
2. 3. 2 測試設計
2. 3. 3 方法和類的測試設計
2. 3. 4 復用的測試
2. 3. 5 子系統(tǒng)和應用系統(tǒng)的測試設計
2. 3. 6 集成測試和開發(fā)的順序
2. 3. 7 回歸測試和重復的增量的開發(fā)
2. 3. 8 UML模型的測試
2. 3. 9 測試自動機
2. 4 測試過程
第3章 軟件測試:簡要介紹
3. 1 什么是軟件測試
3. 2 定義
3. 3 測試的局限
3. 3. 1 輸入/狀態(tài)空間
3. 3. 2 執(zhí)行順序
3. 3. 3 故障敏感性和巧合正確性
3. 3. 4 絕對局限性
3. 4 測試能完成什么
3. 5 文獻注釋
第4章 必須改變:測試和面向對象軟件
4. 1 軟件測試的沉悶科學
4. 1. 1 我是對的, 你是對的, 對象也是對的
4. 1. 2 故障模型的作用
4. 1. 3 用于面向對象編程的故障模型
4. 2 范型的副作用
4. 2. 1 什么錯了
4. 2. 2 封裝
4. 2. 3 繼承性
4. 2. 4 多態(tài)性
4. 2. 5 消息序列和狀態(tài)相關錯誤
4. 2. 6 內置的低層服務
4. 2. 7 錯誤列表
4. 3 具體語言的風險
4. 3. 1 C++
4. 3. 2 Java
4. 3. 3 Smalltalk
4. 4 面向對象測試的覆蓋模型
4. 5 面向對象測試的聲明
4. 6 文獻注釋
第二部分 模 型
第5章 測試模型
5. 1 測試設計與測試模型
5. 1. 1 為什么測試必須是基于模型的
5. 1. 2 什么是模型
5. 1. 3 模型在測試中的作用
5. 1. 4 草圖或測試就緒模型
5. 1. 5 結論
5. 2 文獻注釋
第6章 組合模型
6. 1 組合模型如何支持測試
6. 2 怎樣得到判定表
6. 2. 1 基本方法
6. 2. 2 構件和結構
6. 2. 3 汽車保險續(xù)保模型
6. 2. 4 無關條件. 不知條件和不可能發(fā)生條件
6. 2. 5 判定表在面向對象開發(fā)中的應用
6. 3 導出邏輯函數(shù)
6. 3. 1 布爾表達式
6. 3. 2 真值表與判定表
6. 3. 3 布爾表達式的組成
6. 3. 4 卡諾矩陣(Kanaugh—Veitch Matrix)
6. 3. 5 因—果圖(Cause—Effect Graphs)
6. 4 判定表確認(Validation)
6. 5 測試生成(Test Generation)
6. 5. 1 故障模型(Fault Model)
6. 5. 2 全顯式變式
6. 5. 3 全變式. 全真變式. 全假變式和全素因子變式
6. 5. 4 每一個條件/所有條件
6. 5. 5 二元判定圖行列式
6. 5. 6 變量的否定(variable negation)
6. 5. 7 非二值變量值域分析
6. 5. 8 其它啟發(fā)方式
6. 6 選擇組合測試策略
6. 7 文獻注釋
第7章 狀態(tài)機
7. 1 動機
7. 2 基本模型
7. 2. 1 什么是狀態(tài)機
7. 2. 2 狀態(tài)轉換圖
7. 2. 3 有限狀態(tài)自動機的一些性質
7. 2. 4 受監(jiān)視轉換
7. 2. 5 Mealy機和Moore機
7. 2. 6 狀態(tài)轉換表
7. 2. 7 基本模型的局限性
7. 2. 8 狀態(tài)圖
7. 2. 9 狀態(tài)機與面向對象的開發(fā)
7. 3 FREE狀態(tài)模型
7. 3. 1 OOA/D行為模型的局限性
7. 3. 2 狀態(tài)
7. 3. 3 轉換
7. 3. 4 a和w狀態(tài)
7. 3. 5 繼承性及類的展平
7. 3. 6 未指明的事件/轉換對偶
7. 4 基于狀態(tài)的測試設計
7. 4. 1 狀態(tài)機是如何失敗的
7. 4. 2 開發(fā)可側模型
7. 4. 3 N+測試策略
7. 4. 4 相關能力和局限性
7. 4. 5 選擇基于狀態(tài)測試的策略
7. 5 文獻注釋
第8章 UML測試者指南
8. 1 引言
8. 1. 1 作為測試模型的UML
8. 1. 2 關系測試策略
8. 2 通用元素
8. 2. 1 組織與注解
8. 2. 2 對象約束語言
8. 3 用例圖
8. 3. 1 符號和語義
8. 3. 2 一般測試模型
8. 3. 3 測試性擴充
8. 4 類圖
8. 4. 1 符號和語義
8. 4. 2 一般測試模型
8. 5 順序圖
8. 5. 1 符號和語義
8. 5. 2 一般測試需求
8. 5. 3 可測試性能擴充
8. 6 活動圖
8. 6. 1 符號和語義
8. 6. 2 一般測試模型
8. 7 狀態(tài)圖
8. 8 協(xié)作圖
8. 8. 1 符號和語義
8. 8. 2 一般測試模型
8. 8. 3 可測試性擴充
8. 9 構件圖
8. 9. 1 符號和語義
8. 9. 2 一般測試模型
8. 10 實施圖
8. 10. 1 符號和語義
8. 10. 2 一般溯試模型
8. 11 圖. 關系和測試
8. 12 文獻注釋
第三部分 樣 式
第9章 面向結果的測試策略
9. 1 面向結果的測試
9. 1. 1 基于責任的測試設計的作用
9. 1. 2 基于實現(xiàn)的測試設計的作用
9. 1. 3 面向對象開發(fā)的集成
9. 1. 4 利用責任和實現(xiàn)
9. 2 測試設計樣式
9. 2. 1 什么是樣式
9. 2. 2 樣式和測試
9. 2. 3 測試設計樣式模板
9. 2. 4 本書中的測試樣式
9. 2. 5 應用測試設計樣式
9. 3 測試實例. 測試包和測試計劃的文檔
9. 3. 1 IEEE829文件
9. 3. 2 可跟蹤性
9. 4 文獻注釋
第10章 類
10. 1 類測試和集成
10. 1. 1 什么是類范圍的測試
10. 1. 2 為什么在類范圍進行測試
10. 1. 3 由誰和什么時候測試
10. 1. 4 實例分析:MPR Teltech
10. 2 基礎知識
10. 2. 1 類范圍集成
10. 2. 2 基于實現(xiàn)的測試模型
10. 2. 3 路徑敏感
10. 2. 4 域測試模型
10. 3 方法范圍測試設計樣式
10. 3. 1 功能內聚
10. 3. 2 方法范圍的集成
10. 3. 3 樣式
10. 4 類范圍測試設計樣式
10. 4. 1 類模態(tài)性
10. 4. 2 樣式
10. 5 展平類范圍測試設計樣式
10. 5. 1 超類的麻煩
10. 5. 2 展平類的測試策略
10. 5. 3 樣式
10. 6 文獻注釋
第11章 可復用構件
11. 1 測試和復用
11. 1. 1 復用機制
11. 1. 2 測試在復用中的作用
11. 1. 3 復用測試包
11. 2 測試設計樣式
11. 2. 1 抽象類測試
11. 2. 2 類屬類測試
11. 2. 3 新框架測試
11. 2. 4 流行框架溯試
11. 3 文獻注釋
第12章 子系統(tǒng)
12. 1 子系統(tǒng)
12. 1. 1 什么是子系統(tǒng)
12. 1. 2 為什么在于系統(tǒng)范圍內測試
12. 2 子系統(tǒng)測試設計樣式
12. 2. 1 類關聯(lián)測試
12. 2. 2 往返場景測試
12. 2. 3 受控異常測試
12. 2. 4 模式機測試
12. 3 文獻注釋
第13章 集成
13. 1 面向對象開發(fā)中的集成
13. 1. 1 定義
13. 1. 2 集成測試的必要性
13. 1. 3 相依性分析
13. 1. 4 集成故障
13. 2 集成樣式
13. 2. 1 特定范圍需要考慮的事項
13. 2. 2 大爆炸集成
13. 2. 3 自底向上集成
13. 2. 4 自頂向下集成
13. 2. 5 協(xié)作集成
13. 2. 6 基于集成
13. 2. 7 層次集成
13. 2. 8 客戶/服務器集成
13. 2. 9 分布服務集成
13. 2. 10 高頻集成
13. 3 文獻注釋
第14章 應用系統(tǒng)
14. 1 應用系統(tǒng)測試
14. 1. 1 一個告誡人們的故事
14. 1. 2 面向對象應用系統(tǒng)測試
14. 1. 3 應用系統(tǒng)測試策略
14. 2 測試設計樣式
14. 2. 1 擴充式用例測試
14. 2. 2 覆蓋CRUD
14. 2. 3 按綱要分配測試
14. 3 特定實現(xiàn)的能力
14. 3. 1 配置和兼容性
14. 3. 2 性能
14. 3. 3 完整性和容錯性
14. 3. 4 人機交互
14. 4 開發(fā)后測試
14. 5 測試性能目標注解
14. 5. 1 批處理系統(tǒng)
14. 5. 2 交互式系統(tǒng)
14. 5. 3 實時系統(tǒng)
14. 6 文獻注釋
第15章 回歸測試
15. 1 預備
15. 1. 1 什么和為什么
15. 1. 2 何時和如何
15. 1. 3 回歸故障(RepessionFault)
15. 1. 4 測試自動化
15. 1. 5 測試包維護
15. 1. 6 縮減一個測試包需要考慮的事項
15. 2 測試樣式
15. 2. 1 全部再測試
15. 2. 2 再測試風險用例
15. 2. 3 按綱要再測試
15. 2. 4 再測試修改的代碼
15. 2. 5 防火墻內再測試
15. 3 文獻注釋
第四部分工 具
第16章 測試自動機
16. 1 為什么測試必須自動化
16. 2 限制和告誡
第17章 斷言
17. 1 簡介
17. 1. 1 什么是斷言
17. 1. 2 為什么使用斷言
17. 1. 3 誰使用斷言
17. 2 基于實現(xiàn)的斷言
17. 2. 1 假設檢查器
17. 2. 2 潛伏的故障和探測器
17. 3 基于責任的斷言
17. 3. 1 概述
17. 3. 2 責任. 契約和子類型
17. 3. 3 方法范圍
17. 3. 4 類范圍
17. 3. 5 順序約束
17. 3. 6 超類/子類范圍
17. 3. 7 客戶/服務器范圍
17. 4 實現(xiàn)
17. 4. 1 程序設計人員的斷言FAQ
17. 4. 2 斷言動作
17. 4. 3 不可執(zhí)行的斷言
17. 4. 4 Ada95
17. 4. 5 C++
17. 4. 6 Eiffel
17. 4. 7 Java
17. 4. 8 Objective-C
17. 4. 9 Smalltalk
17. 5 實施
17. 5. 1 內嵌測試的驗證
17. 5. 2 應用斷言設計測試
17. 5. 3 發(fā)行前的考慮
17. 5. 4 發(fā)行后的考慮
17. 6 限制和告誡
17. 7 一些斷言工具
17. 8 文獻注釋
第18章 預測
18. 1 簡介
18. 2 預測樣式
18. 2. 1 簡介
18. 2. 2 評判
18. 2. 3 預說明預測
18. 2. 4 保值預測
18. 2. 5 有機預測
18. 3 比較器
18. 3. 1 簡介
18. 3. 2 確定對象相等
18. 3. 3 深相等和淺相等
18. 3. 4 抽象內容和具體內容
18. 3. 5 別名
18. 3. 6 匯集
18. 3. 7 類型/子類型相等
18. 3. 8 部分相等方法
18. 4 文獻注釋
第19章 測試裝置設計
19. 1 如何開發(fā)測試裝置
19. 1. 1 需求
19. 1. 2 體系結構
19. 2 測試實例樣式
19. 2. 1 考慮
19. 3 測試控制樣式
19. 3. 1 考慮
19. 4 驅動器樣式
19. 4. 1 考慮
19. 4. 2 驅動器設計樣式
19. 5 測試執(zhí)行樣式
19. 6 測試實現(xiàn)語法
19. 7 文獻注釋
附錄 BigFoot's Tootsie:實例研究
術語匯編
參考文獻