軟體測試:一個軟體工藝師的方法(原書第5版) Software Testing: A Craftsman's Approach, Fifth Edition

Paul C.Jorgensen,Byron DeVries 譯者 王軼事//王軼事昆

相關主題

商品描述

本書是經典的軟體測試教材,綜合闡述了軟體測試的基礎知識和方法,既涉及基於模型的開發,
又介紹了測試驅動的開發,做到了理論與實務的完美結合,反映了軟體標準和開發的新進展。
作者擁有豐富的軟體開發和測試領域的教學和研發經驗,他在書中藉助精心挑選的實例,
把軟體測試理論與實務緊密結合,講解循序漸進、層次分明,以便讀者理解。

目錄大綱

譯者序
前言
作者簡介
第一部分數學背景
第1章測試概覽
1.1 基本定義
1.2 測試用例
1.3 測試的Venn圖
1.4 確定測試用例
1.4.1 基於規範的測試
1.4.2 基於代碼的測試
1.4.3 基於規範和基於程式碼之爭
1.5 錯誤的分類
1.6 測驗等級
1.7 習題
1.8 參考文獻
第2章案例
2.1 偽代碼與Java的結構元素
2.2 三角形問題
2.2.1 問題描述
2.2.2 問題分析
2.2.3 Java實作
2.3 NextDate程式
2.3 .1 問題描述
2.3.2 問題分析
2.3.3 Java實作
2.4 「美食家」線上購物系統
2.4.1 問題描述
2.4.2 問題分析
2.5 車庫門控制系統
2.6 習題中的案例
2.6.1 四邊形程序
2.6.2 NextWeek程序
2.6.3 雨刷控制器
2.7 習題
2.8 參考文獻
第3章軟體測驗的離散數學基礎
3.1 集合論
3.1.1 集合中的元素
3.1.2 集合的定義
3.1.3 空集
3.1.4 Venn圖
3.1.5集合運算
3.1.6 集合關係
3.1.7 集合分割
3.1.8 集合恆等式
3.2 函數
3.2.1 定義域與值域
3.2.2 函數型別
3.2.3 函數組合
3.3 關係
3.3.1 集合間關係
3.3.2 單集合關係
3.4 命題邏輯
3.4.1 邏輯運算子
3.4.2 邏輯表達式
3.4.3 邏輯等價
3.4.4 機率論
3.5 習題
3.6 參考文獻
第4章軟體測試的圖論基礎
4.1 圖
4.1.1 節點的度數
4.1 .2 關聯矩陣
4.1.3 鄰接矩陣
4.1.4 路徑
4.1.5 連結性
4.1.6 壓縮圖
4.1.7 環數
4.2 有向圖
4.2.1 入度與出度
4.2.2 節點類型
4.2.3 有向圖的鄰接矩陣
4.2.4 路徑與半路徑
4.2.5 可達矩陣
4.2.6 n-連通
4.2.7 強連通分量
4.3 測試中的圖
4.3.1 程式圖
4.3.2 有限狀態機
4.3.3 Petri網
4.3.4 事件驅動的Petri網
4.3.5 狀態圖
4.4 練習
4.5 參考文獻
第二部分單元測試
第5章邊界值測試
5.1 常規邊界值測試
5.1.1 通用邊界值分析
5.1.2 邊界值分析的局限性
5.2 穩健邊界值測試
5.3 最壞情況邊界值測試
5.4 特殊值測試
5.5 案例
5.5.1 三角形問題的測試案例
5.5.2 NextDate程式的測試案例
5.6 隨機測試
5.7 邊界值測試指南
5.8 習題
第6章等價類測試
6.1 等價類
6.2 傳統等價類測試
6.3 改進的等價類測試
6.3.1 弱等價類測試
6.3.2 強等價類測試
6.3.3 弱魯棒等價類測試
6.3.4 強魯棒等價類測試
6.4 三角形問題的等價類測試用例
6.5 NextDate函數的等價類測試用例
6.6 completeOrder方法的等價類測試用例
6.7 邊緣測試
6.8 關於無效等價類
6.9 等價類方法的使用指南
6.10 習題
6.11 參考文獻
第7章基於決策表的測試
7.1 決策表
7.2 決策表技術
7.3 三角形問題的測試用例
7.4 NextDate函數的測試用例
7.4.1 第一輪測試
7.4.2 第二輪測試
7.4.3 第三輪測試
7.5 因果圖
7.6 基於決策表測試的指南
7.7 習題
7.8 參考文獻
第8章基於代碼的測試
8.1 程序流程圖
8.2 DD路徑
8.3 代碼覆蓋
8.3.1 基於程序流程圖的覆蓋
8.3. 2 Miller的覆蓋
8.3.3 剖析組合條件
8.3.4 案例
8.4 基本路徑測試
8.4.1 McCabe的基本路徑法
8.4.2 McCabe基本路徑測試的觀察
8.4.3 基本複雜度
8.5 基於代碼測試的指南
8.6 習題
8.7參考文獻
第9章物件導向軟體測試
9.1 單元測試架構
9.1.1 通用的單元測試架構
9.1.2 JUnit
9.2 模擬物件與自動物件模擬
9.3 資料流測試
9.3.1 定義-使用測試的定義
9.3.2 定義-使用測試度量
9.3.3 定義-使用測試的例子
9.4 物件導向的複雜度量
9.4.1 類別中方法權重
9.4.2 繼承樹深度
9.4.3 子類別個數
9.4.4 類別間耦合度
9.4.5 類別的回應
9.4.6 內聚性缺失
9.5 物件導向軟體測試中的問題
9.5.1 組合和封裝的意義
9.5.2 繼承的意義
9.5.3 多態的意義
9.6 基於切片的測試技術
9.6.1 案例
9.6. 2 型與技術
9.6.3 切片拼接
9.6.4 程序切片工具