第1章 軟件測試的金字塔體係 1
1.1 從1個中心到5個要素 3
1.2 5個工作麵 5
1.3 8組關係 6
1.4 13項原則 8
1.5 21個關鍵域 11
1.6 34個方法 15
第2章 測試架構從何而來 17
2.1 什麼是測試架構 18
2.2 測試領域架構 21
2.3 自動化測試架構之說 25
2.3.1 為何要建立自動化測試架構 25
2.3.2 解決什麼問題 26
2.3.3 軟件開發框架的啓發 30
2.3.4 測試自動化框架的基本構成 31
2.4 誰能成為測試架構師 34
第3章 如何讓缺陷無處藏身 38
3.1 什麼是軟件可測試性 39
3.2 sock模型和james bach的觀點 41
.3.3 tdd和代碼的可測試性 43
3.4 設計的可測試性 48
3.5 需求的可測試性 51
第4章 可以像這樣設計測試用例嗎 53
4.1 從需求到測試用例 53
4.2 基於流程圖設計測試用例 56
4.3 基於uml視圖的測試用例設計 61
4.4 小結 65
第5章 從虛擬測試環境到一鍵部署 67
5.1 虛擬齣更多的機器 67
5.2 虛擬的疑問 70
5.3 另一種把資源用到極緻的方法 71
5.4 一鍵部署 73
第6章 客戶端的gui測試自動化 79
6.1 初識自動化測試 79
6.2 睏惑 80
6.3 建議 81
6.4 三類標準控件的不同處理辦法 82
6.4.1 標準控件 83
6.4.2 自定義控件 84
6.4.3 自定義控件庫 84
6.5 微軟的uia和msaa 85
6.5.1 msaa 85
6.5.2 uia 86
6.5.3 windows automation api 3.0 88
6.6 和開發人員閤作的好處 88
第7章 後颱自動化測試 90
7.1 什麼是後颱測試 90
7.1.1 後颱測試的特點 90
7.1.2 後颱測試的自動化 91
7.2 後颱自動化測試的統一腳本控製 92
7.2.1 自動化測試框架 93
7.2.2 自動化測試腳本的分層實現 93
7.3 後颱自動化測試實例 95
7.3.1 測試工具樹形圖 95
7.3.2 基於staf框架的python腳本 97
7.4 後颱大規模性能測試 102
7.4.1 測試工具的管理 103
7.4.2 同步及異步控製模式 103
7.4.3 測試邏輯的同步執行問題 104
7.4.4 測試結果的收集 106
7.5 小結 107
第8章 高亢之龍——jmeter後颱自動化測試 108
8.1 潛龍勿用,見龍在田 109
8.2 終日乾乾,或躍於淵 113
8.3 飛龍在天 117
8.4 亢龍有悔 121
8.5 小結 123
第9章 重讀探索式軟件測試 124
9.1 概念及目標 124
9.2 關鍵要素 125
9.3 常見的認識誤區 127
9.4 探索思維“十六”計 128
9.5 如何應用探索式測試 136
9.6 機遇與挑戰 138
9.7 小結 139
第10章 完美的功能測試 140
10.1 測試準備 141
10.2 測試計劃 145
10.3 功能測試用例的設計 147
10.4 用例執行的竅門 149
10.5 功能測試的三步麯 150
10.6 查找遺漏問題的七大招 152
10.7 基於組件元素的通用測試點 154
10.8 基於係統行為和操作習慣的測試點 156
第11章 異常測試的方法與技巧 158
11.1 異常測試定義與範圍 159
11.2 技巧之一:改(以彼之道,還施彼身) 160
11.2.1 更改“自身” 160
11.2.2 更改“相關” 161
11.3 技巧之二:藉(他山之石,可以攻玉) 162
11.3.1 藉code coverage發現異常 162
11.3.2 藉junit+jmockit測試異常 166
11.3.3 藉iptables創造異常 167
11.4 異常測試其他技巧 169
11.5 小結 170
第12章 如何在蘋果上找蟲 171
12.1 造成mac係統崩潰的常見操作 171
12.2 通過崩潰日誌來定位問題 172
12.3 通過console來定位崩潰問題 176
12.4 通過shark工具來定位freeze問題 176
第13章 穿越時空的國際化和本地化測試 182
13.1 案例背景 183
13.2 時區及夏令時 186
13.3 有關時區的應用測試 188
13.4 本地化測試的方方麵麵 190
13.4.1 語言標識 190
13.4.2 文化生活 191
13.4.3 書寫習慣 192
13.5 本地化測試的主要方法 193
13.6 本地化測試的常見問題 194
13.6.1 人力資源短缺 194
13.6.2 開發人員、翻譯組、資源文件維護者與測試人間之間的協作 195
13.6.3 基礎工作的缺乏 196
第14章 用戶體驗的享受 198
14.1 最終用戶特點 198
14.1.1 絕大多數的中間用戶 199
14.1.2 不同用戶需求 200
14.2 生活中的用戶體驗 203
14.2.1 用戶體驗的復雜性 203
14.2.2 視覺反饋 204
14.2.3 聽覺反饋——聲音 211
14.3 ue測試策略 213
14.3.1 少就是多 214
14.3.2 工具就放在手邊 215
14.3.3 提供非模態的反饋 215
14.3.4 提供符閤情景的信息 216
14.3.5 提供直接的操作和圖形輸入 217
14.3.6 不要用對話框來報告常態內容 218
14.3.7 提供選擇而不是提問 218
14.3.8 優化響應能力以調節延遲時間 219
14.3.9 多平颱多瀏覽器支持 220
14.4 小結 221
第15章 可能沒聽說過的測試——accessibility測試 223
15.1 測試的範圍和要點 224
15.2 測試工具 226
15.2.1 soatest 226
15.2.2 jaws 228
15.2.3 actf adesigner 229
15.3 accessibility測試注意事項 231
15.3.1 規範快捷鍵,盡量與係統操作鍵統一 231
15.3.2 應盡早製定accessibility checklist 232
15.3.3 注意對其他任務的影響 232
15.3.4 restore case要定義明確 232
15.3.5 應從用戶使用習慣的角度去考慮測試需求 233
第16章 誰說瞭算?——代碼覆蓋率 234
16.1 衡量代碼覆蓋率軟件的引入 235
16.2 c/c++代碼覆蓋率測試工具bullseyecoverage 237
16.3 開源測試代碼覆蓋率工具emma 239
16.4 代碼覆蓋率報告的分析 240
16.5 代碼覆蓋率工具的相關運用 242
16.6 代碼覆蓋率工具應用的局限性 243
16.7 小結 244
第17章 bug的“美麗人生” 246
17.1 報告新的bug 246
17.1.1 發現bug 247
17.1.2 隔離分析bug 248
17.1.3 提交一個新的bug 251
17.2 處理已經提交的bug 254
17.3 驗證bug 256
17.4 案例說明 256
第18章 從亡羊補牢到未雨綢繆 260
18.1 防止“病從口入” 261
18.2 缺陷rca三步麯 262
18.2.1 缺陷的分類統計分析 263
18.2.2 深度分析找到根本原因 266
18.2.3 找到解決問題的辦法 268
第19章 雲中漫步——後端測試流程管理 269
19.1 歡迎來到“雲”的世界 271
19.1.1 為什麼要進行後颱測試 271
19.1.2 shindig框架的部署 273
19.2 你不是她,但你處處為她著想 276
19.2.1 以用戶行為為核心 276
19.2.2 以用戶數據為核心 277
19.2.3 “蟲蟲”哪裏走 278
19.3 進入雲,必須做好聰明又狂野的準備 279
19.3.1 其徐如林——周密計劃,纔能有條不紊 280
19.3.2 其疾如風——快速執行 281
19.3.3 侵掠如火——乾吧,我們就是為這個來的 282
19.3.4 不動如山——牢固占領,“雲”上一分鍾,“雲”下十年功 283
19.4 小結 285
第20章 敏捷測試——速度之美 286
20.1 敏捷開發和傳統瀑布模型比較 286
20.2 快速迭代、發布可工作的軟件 288
20.2.1 麵對麵交流和簡潔的文檔 290
20.2.2 基於用戶故事的測試計劃 292
20.2.3 麵嚮敏捷開發團隊的高效測試用例 294
20.2.4 持續集成和持續測試框架hudson 295
20.2.5 有效管理和跟蹤測試任務 297
20.2.6 快速跟蹤和解決缺陷 300
20.3 持續迴顧和調整 304
20.4 小結:速度之美的真正含義 307
第21章 再談敏捷測試的方法和實踐 310
21.1 測試驅動開發與敏捷測試 310
21.2 敏捷測試自動化 313
21.2.1 自動化測試策略 313
21.2.2 自動化測試框架 314
21.2.3 敏捷測試工具 315
21.3 敏捷測試及其管理 316
21.3.1 敏捷測試流程的優化 316
21.3.2 新功能的測試和迴歸測試策略 317
21.3.3 基於需求測試和基於風險測試的平衡 318
21.4 有關敏捷測試的思考 319
21.4.1 探索式測試的地位 320
21.4.2 測試人員在敏捷方法中的價值 321
21.5 小結 322
後記——從“軟件測試藝術”講座品味完美 323
空間之美 324
距離之美 324
技巧之美 325
辯證之美 326
白盒測試方法vs.黑盒測試方法 327
靜態測試vs.動態測試 328
被動測試vs.主動測試 329
手工測試vs.自動化測試 330
計劃測試vs.探索式測試 332
新功能測試vs.迴歸測試 332
附錄a 敏捷方法的相關概念 334
附錄b 軟件測試的詳細分類 336
參考文獻 342
· · · · · · (
收起)