軟件測試 (Software Testing, 2/e)

[美]羅恩·佩騰(Ron Patton)著

買這商品的人也買了...

商品描述

“本書為初出茅廬的測試新手提供了便利。檢查單的應用以及每章末尾配備的測驗, 會讓讀者加深對所學知識的理解和掌握,其價值是無法衡量的。Patton侃侃而談的寫作風格、自我發展的組織方式,也會使有經驗的專業測試人員獲益匪淺。”
      ——Suan Archer,軟件測試學院主任,具有豐富的專業軟件測試經驗

“Patton的軟件測試是進入軟件測試專業領域的理想入門指導。測試新手可以從中學到重要的基礎知識,以及進一步提高所需要的一些高級提示。該書編排清晰合理,內容淺顯易讀。”
     ——Danny R. Faught,Cigital公司軟件分析員,comp.software.testing FAQ網站的創建者以及軟件測試討論(swtest-discuss)郵件組的共同創辦者

本書全面系統地介紹了軟件測試理論及應用技術,不僅講述基本的測試技能,也講述成為一個成功的軟件測試員所必須掌握的高級技能。其目的在於引導讀者通過基礎知識和必要技能的學習而成為一個優秀的軟件測試員,讓讀者知道如何迅速地在任一電腦程序中發現問題,如何計劃一個有效的測試步驟,如何清楚地報告發現的問題,以及如何告知軟件在何時發布。
本書是一本軟件測試的入門書,內容全面實用,講述淺顯易懂,既可作為高等院校軟件測試課程的教材,也可作為軟件測試愛好者的自學用書。 對於那些希望增強軟件測試方面知識的程序員、軟件項目經理和軟件開發團隊的其他人員,本書也具有很好的參考價值。

作者簡介

[美]羅恩·佩騰(Ron Patton) 著:羅恩·佩騰(Ron Patton)具有約30年軟件測試和軟件質量保證的工作經驗,從事過各種產品的軟件測試,從關鍵任務到兒童繪圖程序。曾先後就職於德州儀器公司、西門子公司和微軟公司,擔任過質量保證工程師、軟件測試經理等職務。他現在是一個獨立的軟件項目管理和軟件質量保證諮詢師。

目錄大綱

出版者的話
譯者序
前言
部分軟件測試綜述
第1章軟件測試的背景┊2 
1.1臭名昭著的軟件用例研究┊2 
1.1.1迪士尼的獅子王(1994~1995年) ┊2 
1.1.2英特爾奔騰浮點除法缺陷(1994年) ┊3 
1.1.3美國航天局火星極地登陸者號探測器(1999年) ┊4 
1.1.4愛國者導彈防禦(1991年) ┊4 
1.1.5千年蟲問題(大約1974年) ┊4 
1.1.6危險的預見(2004年) ┊5 
1.2軟件缺陷是什麼┊5 
1.2.1軟件失敗的術語┊5 
1.2.2軟件缺陷的官方定義┊6 
1.3為什麼會出現軟件缺陷┊8 
1.4軟件缺陷的修復費用┊8 
1.5軟件測試員究竟做些什麼┊9 
1.6的軟件測試員應具備的素質┊10 
第2章軟件開發的過程┊12 
2.1產品的組成部分┊12 
2.1.1軟件產品需要多少投入┊12 
2.1.2軟件產品由哪些部分組成┊15 
2.2軟件項目成員┊16 
2.3軟件開發生命週期模式┊17 
2.3.1大爆炸模式┊17 
2.3.2邊寫邊改模式┊18
2.3.3瀑布模式┊19 
2.3.4螺旋模式┊20 
第3章軟件測試的實質┊23 
3.1測試的原則┊23 
3.1.1完全測試程序是不可能的┊23 
3.1.2軟件測試是有的行為┊24 
3.1.3測試無法顯示潛伏的軟件缺陷┊25 
3.1.4找到的軟件缺陷越多,就說明軟件缺陷越多┊25 
3.1.5殺蟲劑怪事┊26 
3.1.6並非所有軟件缺陷都要修復┊26 
3.1.7什麼時候才叫缺陷難以說清┊27 
3.1.8產品說明書從沒有終版本┊28 
3.1.9軟件測試員在產品小組中不受歡迎┊28 
3.1.10軟件測試是一個講究條理的技術職業┊29 
3.2軟件測試的術語和定義┊29 
3.2.1和準確┊29 
3.2.2確認和驗證┊30 
3.2.3質量和可靠性┊31 
3.2.4測試和質量保證┊31 
第二部分測試基礎
第4章檢查產品說明書┊34 
4.1開始測試┊34 
4.1.1黑盒測試和白盒測試┊35 
4.1.2靜態測試和動態測試┊36 
4.1.3靜態黑盒測試—測試產品說明書┊ 36 
4.2對產品說明書進行審查┊37
4.2.1假設自己是客戶┊37 
4.2.2研究現有的標準和規範┊37 
4.2.3審查和測試類似軟件┊38 
4.3產品說明書的低層次測試技術┊39 
4.3.1產品說明書屬性檢查清單┊ 39 
4.3.2產品說明書用語檢查清單┊39 
第5章帶上眼罩測試軟件┊41 
5.1動態黑盒測試:帶上眼罩測試軟件┊42 
5.2通過性測試和失效性測試┊43 
5.3等價類劃分┊ 44 
5.4數據測試┊45 
5.4.1邊界條件┊46 
5.4.2次邊界條件┊49 
5.4.3默認、空白、空值、零值和無┊51 
5.4.4非法、、不正確和垃圾數據┊52 
5.5狀態測試┊52 
5.5.1測試軟件的邏輯流程┊53 
5.5.2失敗狀態測試┊56 
5.6其他黑盒測試技術┊58 
5.6.1像笨拙的用戶那樣做┊58 
5.6.2在已經找到軟件缺陷的地方再找找┊58 
5.6.3像黑客一樣考慮問題┊59 
5.6.4憑藉經驗、直覺和預感┊59 
第6章檢查代碼┊61 
6.1靜態白盒測試:檢查設計和代碼┊61 
6.2正式審查┊62 
6.2.1同事審 ┊63
6.2.2走查┊63 
6.2.3檢驗┊64 
6.3編碼標準和規範┊64 
6.3.1編程標準和規範示例┊65 
6.3.2獲取標準┊66 
6.4通用代碼審查清單┊67 
6.4.1數據引用┊ 67 
6.4.2數據聲明┊67 
6.4.3計算┊68 
6.4.4比較┊68 
6.4.5控制流程┊68 
6.4.6子程序參數┊69 
6.4.7輸入/輸出┊69 
6.4.8其他檢查┊69 
第7章帶上X光眼鏡測試軟件┊71 
7.1動態白盒測試┊71 
7.2動態白盒測試和調試┊72 
7.3分段測試┊73 
7.3.1單元測試和集成測試┊74 
7.3.2單元測試示例┊75 
7.4數據覆蓋┊77 
7.4.1數據流┊77 
7.4.2次邊界┊78 
7.4.3公式和等式┊78 
7.4.4強制┊78 
7.5代碼覆蓋┊79 
7.5.1程序語句和代碼行覆蓋┊80 
7.5.2分支覆蓋┊81 
7.5.3條件覆蓋┊81 
第三部分運用測試技術
第8章配置測試┊86 
8.1配置測試綜述┊86 
8.1.1分離配置缺陷┊89 
8.1.2計算工作量┊90 
8.2執行任務┊91 
8.2.1確定所需的硬件類型┊91 
8.2.2確定有哪些廠商的硬件、型號和驅動程序可用┊92 
8.2.3確定可能的硬件特性、模式和選項┊92 
8.2.4將確定後的硬件配置縮減為可控制的範圍┊92 
8.2.5明確與硬件配置有關的軟件特性┊93 
8.2.6設計在每種配置中執行的測試用例┊94 
8.2.7在每種配置中執行測試┊94 
8.2.8反複測試直到小組對結果滿意為止┊94 
8.3獲得硬件┊ 94 
8.4明確硬件標準┊96 
8.5對其他硬件進行配置測試┊96 
第9章兼容性測試┊98 
9.1兼容性測試綜述┊98 
9.2平台和應用程序版本┊99 
9.2.1向後和向前兼容┊100 
9.2.2測試多個版本的影響┊100 
9.3標準和規範┊102 
9.3.1標準和規範┊102 
9.3.2低級標準和規範┊102 
9.4數據共享兼容性┊103 
第10章外國語言測試┊106
10.1使文字和圖片有意義┊106 
10.2翻譯問題┊107 
10.2.1文本擴展┊107 
10.2.2 ASCII、DBCS和Unicode ┊108 
10.2.3熱鍵和快捷鍵┊109 
10.2.4擴展字符┊109 
10.2. 5字符計算┊110 
10.2.6從左向右和從右向左讀┊110 
10.2.7圖形中的文字┊110 
10.2.8讓文本與代碼脫離┊111 
10.3本地化問題┊111 
10.3.1內容┊ 112 
10.3.2數據格式┊113 
10.4配置和兼容性問題┊114 
10.4.1國外平台配置┊114 
10.4.2數據兼容性┊115 
10.5測試量有多大┊116 
第11章易用性測試┊118 
11.1用戶界面測試┊118 
11.2UI由什麼構成┊119 
11.2.1符合標準和規範┊120 
11.2.2直觀┊120 
11.2.3一致┊121 
11.2.4靈活┊122 
11.2.5舒適┊123 
11.2.6正確┊123 
11.2.7實用┊124
11.3為殘障人士測試:輔助選項測試┊124 
11.3.1法律要求┊125 
11.3.2軟件中的輔助特性┊125 
第12章文檔測試┊128 
12.1軟件文檔的類型┊128 
12.2文檔測試的重要性┊130 
12.3審查文檔時要找什麼┊131 
12.4文檔測試的實質┊132 
第13章軟件安全性測試┊134 
13.1戰爭遊戲—電影┊134 
13.2了解動機┊135 
13.3威脅模式分析┊137 
13.4軟件安全是一項功能嗎?軟件漏洞是一個缺陷嗎┊139 
13.5了解緩衝區溢出┊140 
13.6使用安全的字符串函數┊141 
13.7計算機取證┊143 
第14章網站測試┊147 
14.1網頁基礎┊147 
14.2黑盒測試┊149 
14.2.1文本┊150 
14.2.2鏈接┊151 
14.2.3圖片┊151 
14.2.4表單┊151 
14.2.5對象和其他各種簡單的功能┊152 
14.3灰盒測試┊152 
14.4白盒測試┊154 
14.5配置和兼容性測試┊155
14.6易用性測試┊156 
14.7自動化測試簡介┊158 
第四部分測試的補充
第15章自動測試和測試工具┊160 
15.1工具和自動化的好處┊160 
15.2測試工具┊161 
15.2.1查看器和監視器┊162 
15.2.2驅動程序┊162 
15.2.3樁┊163 
15.2.4壓力和負載工具┊164 
15.2.5干擾注入器和噪聲發生器┊165 
15.2.6分析工具┊165 
15.3軟件測試自動化┊166 
15.3 .1宏錄製和回放┊166 
15.3.2可編程的宏┊167 
15.3.3完全可編程的自動測試工具┊168 
15.4隨機測試:猴子和大猩猩┊170 
15.4.1笨拙的猴子┊170 
15.4.2半聰明的猴子┊171 
15.4.3聰明的猴子┊172 
15.5使用測試工具和自動化的實質┊173 
第16章缺陷轟炸和beta測試┊175 
16.1讓別人測試你的軟件┊175 
16.2測試共享┊176 
16.3 beta測試┊177 
16.4外包測試┊178 
第五部分使用測試文檔
第17章計劃測試工作┊182 
17.1測試計劃的目標┊182 
17.2測試計劃主題┊183 
17.2.1期望┊184 
17.2.2人、地點和事┊184 
17.2.3定義┊185 
17.2.4團隊之間的責任┊186 
17.2.5哪些要測試,哪些不要測試┊187 
17.2.6測試的階段┊187 
17.2.7測試策略┊187 
17.2.8資源需求┊188 
17.2.9測試員的任務分配┊188 
17.2.10測試進度┊188 
17.2.11測試用例┊190 
17.2.12軟件缺陷報告┊190 
17.2.13度量和統計┊190 
17.2.14和問題┊190 
第18章編寫和跟踪測試用例┊192 
18.1測試用例計劃的目標┊192 
18.2測試用例計劃綜述┊193 
18.2.1測試設計┊195 
18.2.2測試用例┊196 
18.2.3測試程序┊197 
18.3測試用例組織和跟踪┊199 
第19章報告發現的問題┊202 
19.1設法修復軟件缺陷┊203 
19.2分離和再現軟件缺陷┊206
19.3並非所有軟件缺陷生來就是平等的┊207 
19.4軟件缺陷的生命週期┊208 
19.5軟件缺陷跟踪┊210 
19.5.1標準:測試事件報告┊211 
19.5.2手工軟件缺陷報告和跟踪┊211 
19.5.3自動化軟件缺陷報告和跟踪┊213 
第20章成效評價┊217 
20.1使用軟件缺陷跟踪數據庫中的信息┊217 
20.2在日常測試中使用的度量┊218 
20.3常用項目級度量┊222 
第六部分軟件測試的未來
第21章軟件質量保證┊228 
21.1質量是的┊228 
21.2工作現場的測試和質量保證┊229 
21.2.1軟件測試┊230 
21.2.2質量保證┊231 
21.2.3軟件測試團隊的其他名稱┊231 
21.3測試的管理和組織結構┊232 
21.4能力成熟度模型┊234 
21.5 ISO 9000 ┊235 
第22章軟件測試員的職業┊238 
22.1軟件測試員的工作┊238 
22.2尋求軟件測試職位┊239 
22.3獲得親身體驗┊240 
22.4正規培訓機會┊241 
22.5網站┊242
22.6專注於軟件和軟件質量的組織┊243 
22.7進一步閱讀┊243 
附錄A小測驗問題解答┊246