出版才者的話
專家指導委員會
譯者序
前言
第一部分 軟件測試綜述
第1章 軟件測試的背景
1.1 臭名昭著的軟件錯誤用例研究
1.1.1 迪斯尼的獅子王,1994—1995
1.1.2 英特爾奔騰浮點除法缺陷,1994
1.1.3 美國航天局火星極地登陸者號探測器,1999
1.1.4 愛國者導彈防御系統,1991
1.1.5 千年蟲問題,大約1974
1.1.6 危險的預見,2004
1.2 軟件缺陷是什麼
1.2.1 軟件失敗的術語
1.2.2 軟件缺陷的官方定義
1.3 為什麼會出現軟件缺陷
1.4 軟件缺陷的修復費用
1.5 軟件測試員究竟做些什麼
1.6 優秀的軟件測試員應具備的素質
1.7 小結
1.8 小測驗
第2章 軟件開發的過程
2.1 產品的組成部分
2.1.1 軟件產品需要多少投入
2.1.2 軟件產品由哪些部分組成
2.2 軟件項目成員
2.3 軟件開發生命周期模式
2.3.1 大爆炸模式
2.3.2 邊寫邊改模式
2.3.3 瀑布模式
2.3.4 螺旋模式
2.4 小結
2.5 小測驗
第3章 軟件測試的實質
3.1 測試的原則
3.1.1 完全測試程序是不可能的
3.1.2 軟件測試是有風險的行為
3.1.3 測試無法顯示潛伏的軟件缺陷
3.1.4 找到的軟件缺陷越多,就說明軟件缺陷越多
3.1.5 殺蟲劑怪事
3.1.6 並非所有軟件缺陷都要修復
3.1.7 什麼時候才叫缺陷難以說情
3.1.8 產品說明書從沒有最終版本
3.1.9 軟件測試員在產品小組中不受歡迎
3.1.10 軟件測試是一項講究條理的技術專業
3.2 軟件測試的術語和定義
3.2.1 精確和準確
3.2.2 確認和驗證
3.2.3 質量和可靠性
3.2.4 測試和質量保證(QA)
3.3 小結
3.4 小測驗
第二部分 測試基礎
第4章 檢查產品說明書
4.1 開始測試
4.1.1 墨盒測試和白盒測試
4.1.2 靜態測試和動態測試
4.1.3 靜態黑盒測試、測試產品說明書
4.2 對產品說明書進行高級審查
4.2.1 假設自己是客戶
4.2.2 研究現有的標準和規範
4.2.3 審查和測試類似軟件
4.3 產品說明書的低層次測試技術
4.3.1 產品說明書屬性檢查清單
4.3.2 產品說明書術語檢查清單
4.4 小結
4.5 小測驗
第5章 帶上眼罩測試軟件
5.1 動態黑盒測試︰帶上眼罩測試軟件
5.2 通過性測試和失效性測試
5.3 等價類劃分
5.4 數據測試
5.4.1 邊界條件
5.4.2 次邊界條件
5.4.3 默認、空白、空值、零值和無
5.4.4 非法、錯誤、不正確和垃圾數據
5.5 狀態測試
5.5.1 測試軟件的邏輯流程
5.5.2 失敗狀態測試
5.6 其他黑盒測試技術
5.6.1 像笨拙的用戶那樣做
5.6.2 在已經找到的軟件缺陷的地方再找找
5.6.3 像黑客一樣考慮問題
5.6.4 憑借經驗、直覺和預感
5.7 小結
5.8 小測驗
第6章 檢查代碼
6.1 靜態白盒測試︰檢查設計和代碼
6.2 正式審查
6.2.1 同事審查
6.2.2 走查
6.2.3 檢驗
6.3 編碼標準和規範
6.3.1 編碼標準和規範示例
6.3.2 獲取標準
6.4 通用代碼審查清單
6.4.1 數據引用錯誤
6.4.2 數據聲明錯誤
6.4.3 計算錯誤
6.4.4 比較錯誤
6.4.5 控制流程模式
6.4.6 子程序參數錯誤
6.4.7 輸入/輸出錯誤
6.4.8 其他檢查
6.5 小結
6.6 小測驗
第7章 帶上X光眼鏡測試軟件
7.1 動態白盒測試
7.2 動態白盒測試和調試
7.3 分段測試
7.3.1 單元測試和集成測試
7.3.2 單元測試示例
7.4 數據覆蓋
7.4.1 數據流
7.4.2 次邊界
7.4.3 公式和等式
7.4.4 錯誤強制
7.5 代碼覆蓋
7.5.1 程序語句和代碼行覆蓋
7.5.2 分支覆蓋
7.5.3 條件覆蓋
7.6 小結
7.7 小測驗
第三部分 運用測試技術
第8章 配置測試
8.1 配置測試綜述
8.1.1 分離配置缺陷
8.1.2 計算工作量
8.2 執行任務
8.2.1 確定所需的硬件類型
8.2.2 確定有哪些廠商的硬件、型號和驅動程序可用
8.2.3 確定可能的硬件特性、模式和選項
8.2.4 將確定後的硬件配置縮減為可控制的範圍
8.2.5 明確與硬件配置有關的軟件唯一特性
8.2.6 設計在每一種配置中執行的測試用例
8.2.7 在每種配置中執行測試
8.2.8 反復測試直到小組對結果滿意為止
8.3 獲得硬件
8.4 明確硬件標準
8.5 對其他硬件進行配置測試
8.6 小結
8.7 小測驗
第9章 兼容性測試
9.1 兼容性測試綜述
9.2 平台和應用程序版本
9.2.1 向後和向前兼容
9.2.2 測試多個版本的影響
9.3 標準和規範
9.3.1 高級標準和規範
9.3.2 低級標準和規範
9.4 數據共享兼容性
9.5 小結
9.6 小測驗
第10章 外國語言測試
第11章 易用性測試
第12章 測試文檔
第13章 軟件安全性測試
第14章 網站測試
第四部分 測試的補充
第15章 自動測試和測試工具
第16章 缺陷轟炸和beta測試
第五部分 計劃測試工作
第17章 計劃測試工作
第18章 編寫和跟蹤測試用例
第19章 報告發現的問題
第20章 成效評價
第六部分 軟件測試的未來
第21章 軟件質量保證
第22章 軟件測試員的職業
附錄A 小測驗問題解答