自動化測試最佳實踐

內容介紹

自動化測試不再是奢侈品而成為軟體測試的必需品。隨著應用程式和系統規模越來越大、越來越複雜,僅僅依賴手動測試已經無法全面地測試系統。隨著技術的變動,越來越多的公司加入到了敏捷開發的陣營中,必須對這些程式進行測試,而且速度要快。測試自動化是非常基本的需求,但有時糟糕的自動化只會適得其反——如何才能知道應該在哪裡進行自動化呢?
作者Dorothy Gramham和Mark Fewster之前寫的《Software Test Automation》這本書在自動化測試領域影響深遠,它為很多公司指明了測試成功的方向。本書講述了一些公司套用自動化的經歷,其中涉及了很多項目,從複雜的政府部門系統到醫療設備,從SAP業務過程開發到Android移動套用和雲計算。本書討論了管理方面和技術方面的因素,講述了成功和失敗的例子、卓越的想法以及災難性的決定,為讀者提供了可以借鑑的經驗教訓。
本書對於那些考慮、實施、使用、管理測試自動化的人來說是無價之寶。測試人員、開發人員、自動化人員以及自動化架構師、測試經理、項目經理、分析師、QA專家和技術總監都可以從本書受益。
本書主要內容:
敏捷開發中的測試自動化
管理層的支持力度是如何導致自動化成功和失敗的
設計良好的測試件結構和抽象層的重要性
如何衡量收益和ROI
管理的因素,包括技能、項目規劃、項目領域和項目期望
基於模型測試(MBT)、猴子測試和探索式測試的自動化
標準、溝通、文檔和靈活性在企業級測試自動化中的重要性
測試支持性活動的自動化
明智的選擇:對哪些測試進行自動化、不要對哪些測試進行自動化
自動化測試的隱藏開銷:對其進行的維護和錯誤分析
測試自動化的正確目標:為什麼“為了發現bug”並不是一個好的目標
重點強調一些學到的教訓、真知灼見和有用的小技巧

作者介紹

Dorothy Graham,軟體測試領域的大師級人物,有著40餘年的軟體測試經驗,曾獲得軟體測試領域歐洲卓越成就獎。世界知名的顧問,Grove Constaltants公司的創始人,在軟體測試的學術研究方面有極深的造詣,寫作經驗也極為豐富,著有軟體測試領域的世界名著《Software Test Automation》,影響深遠。
Mark Fewster,軟體測試領域的大師級人物,在軟體測試和自動化領域有30餘年的工作經驗。現擔任英國計算機協會軟體測試專家興趣小組(BCS SIGiST)和信息系統考試委員會 (ISEB)的委員。最近20年致力於為軟體測試的各個方面提供培訓和諮詢服務。經常在國內和國際會議與研討會上發表演講,並且與Graham合著了軟體測試領域的世界名著《Software Test Automation》。
朱少民,譯者,國內軟體測試界的領軍人物和資深專家,二十多年來一直從事軟體測試、質量管理和過程改進等工作,先後出版十多部著作,包括測試方面的暢銷書《完美測試》、《全程軟體測試》、《輕輕鬆鬆自動化測試》、《軟體測試方法和技術》等,經常在國內外會議上發表演講。之前曾任思科-網迅(中國)軟體有限公司QA高級總監,目前是同濟大學軟體學院教授、中國科技大學軟體學院教指委委員。

作品目錄

本書讚譽
譯者序

前言
第0章 案例研究反思/ 1
0.1 管理層問題/ 1
0.2 技術因素/ 6
0.3 總結/ 12
第1章 敏捷團隊的自動化測試之旅:第一年/ 13
1.1 本案例研究的背景/ 14
1.2 整個團隊的承諾 / 14
1.3 建立自動化策略/ 15
1.4 利用驗收測試驅動開發,使用FitNesse測試GUI/ 18
1.5 使用增量方法/ 20
1.6 正確度量/ 20
1.7 慶祝成功/ 21
1.8 引入工程衝刺/ 22
1.9 團隊成功/ 22
1.10 持續改進/ 24
1.11 總結/ 24
第2章 終極資料庫自動化/ 25
2.1 本案例研究的背景 / 25
2.2 測試中的軟體 / 26
2.3 自動化測試的目標 / 27
2.4 開發內部測試工具/ 28
2.5 結果/ 30
2.6 管理自動化測試/ 31
2.7 測試套件和類型/ 31
2.8 現狀/ 33
2.9 在經過一段很艱難的時光後才得到的經驗教訓/ 33
2.10 如何使用自動化測試書中的建議/ 34
2.11 總結 / 36
2.12 致謝 / 36
第3章 移動到雲端:TiP的演化——線上的持續回歸測試/ 37
3.1 本案例研究的背景 / 38
3.2 將測試移到雲端 / 39
3.3 如何實施TiP / 41
3.4 每月服務評審記分卡樣例/ 43
3.5 Exchange TiP v2——將TiP遷移到Windows Azure雲端/ 46
3.6 我們的心得/ 47
3.7 總結/ 49
3.8 致謝/ 50
第4章 Automator的自動化/ 51
4.1 本案例研究的背景:我的第一份工作/ 52
4.2 我的偉大構想/ 53
4.3 一個突破/ 54
4.4 總結/ 58
第5章 自動化人員自傳:從主機到框架的自動化 / 60
5.1 本案例研究的背景 / 61
5.2 主機綠屏自動化測試項目/ 63
5.3 主機和基於腳本工具的差異/ 65
5.4 使用新的基於腳本的工具/ 66
5.5 IBM Maximo的自動化測試/ 70
5.6 總結/ 74
5.7 參考文獻 / 74
第6章 項目1:失敗!項目2:成功!/ 76
6.1 本案例研究的背景 / 77
6.2 項目1:失敗 / 77
6.3 項目2:成功 / 78
6.4 下一個時間段:真實地測試/ 85
6.5 總結/ 92
第7章 複雜政府系統的自動化測試/ 93
7.1 本案例研究的背景 / 93
7.2 自動化需求分析 / 94
7.3 我們的自動化測試解決方案——自動化測試和再測試/ 95
7.4 自動化測試解決方案的套用/ 101
7.5 總結/ 102
第8章 設備仿真框架/ 103
8.1 本案例研究的背景/ 103
8.2 設備仿真框架的誕生/ 104
8.3 構建DSF/ 105
8.4 自動化目標/ 106
8.5 案例研究/ 107
8.6 沒有銀彈/ 110
8.7 總結 / 111
8.8 致謝 / 111
第9章 ESA項目中基於模型的測試用例生成/ 112
9.1 本案例研究的背景 / 113
9.2 基於模型的測試和測試用例生成 / 113
9.3 我們的套用:ESA多任務用戶服務項目 / 116
9.4 學到的經驗和教訓 / 121
9.5 總結 / 125
9.6 參考文獻/ 126
9.7 致謝/ 126
第10章 10年過去了,項目還在進行/ 127
10.1 本案例研究的背景:之前的故事/ 128
10.2 每月進行自動化測試的保險報價系統/ 128
10.3 接下來發生了什麼/ 138
10.4 總結/ 138
第11章 鳳凰在灰燼中重生/ 141
11.1 本案例研究的背景/ 141
11.2 鳳凰的誕生/ 142
11.3 鳳凰的死亡/ 144
11.4 鳳凰的重生/ 145
11.5 鳳凰的新生/ 148
11.6 總結/ 152
第12章 政府機構運作系統的自動化測試之旅/ 155
12.1 本案例研究的背景/ 156
12.2 該機構的自動化測試/ 156
12.3 2000~2008年/ 159
12.4 三次巧合/ 162
12.5 在測試團隊中完善能力/ 165
12.6 未來的方向:繼續旅程/ 166
12.7 總結/ 168
第13章 使用硬體接口的自動化可靠性測試/ 169
13.1 本案例的研究背景 / 170
13.2 採取措施的必要性/ 170
13.3 自動化測試啟動(增量式方法)/ 171
13.4 來自管理層的支持/ 172
13.5 測試框架的進一步開發/ 174
13.6 部署並改進報告形式/ 177
13.7 總結/ 178
第14章 Android套用的基於模型GUI測試/ 180
14.1 本案例研究的背景/ 181
14.2 使用TEMA工具集的MBT/ 182
14.3 套用行為建模/ 187
14.4 測試用例的生成/ 190
14.5 連線和適配/ 191
14.6 結果/ 194
14.7 總結/ 194
14.8 致謝/ 195
14.9 參考文獻/ 195
第15章 SAP業務流程的自動化測試/ 197
15.1 本案例研究的背景 / 198
15.2 標準和最佳實踐/ 200
15.3 eCATT使用實例/ 203
15.4 總結/ 207
15.5 致謝/ 208
第16章 SAP實現的自動化測試/ 209
16.1 本案例研究的背景 / 210
16.2 項目概述/ 211
16.3 第1階段:概念的證明/ 212
16.4 第2階段:項目啟動/ 217
16.5 總結/ 226
第17章 選擇了錯誤的工具/ 228
17.1 本案例研究的背景/ 228
17.2 (可能)早已存在的自動化測試/ 230
17.3 必要的決策:新工具還是主要維護成本/ 231
17.4 繼續推進eggPlant工具/ 233
17.5 我們在eggPlant項目之後還將做什麼/ 239
17.6 總結/ 239
第18章 市場交易系統的自動化測試:十年經驗和三個框架/ 242
18.1 本案例研究的背景/ 243
18.2 自動化測試框架/ 243
18.3 測試角色/ 245
18.4 抽象層/ 246
18.5 配置/ 248
18.6 成本和投資回報率/ 249
18.7 總結/ 251
第19章 自動化測試不僅僅是回歸測試:發揮創造性思維/ 253
19.1 本案例研究的背景/ 254
19.2 任務自動化的兩個故事/ 254
19.3 自動化測試用來支持手動探索式測試/ 258
19.4 自動化測試數據互動/ 260
19.5 自動化測試和監測/ 262
19.6 通過組合簡單的工具模擬現實世界的負載/ 264
19.7 總結/ 265
19.8 參考文獻/ 265
第20章 醫療設備軟體需要優秀的自動化軟體測試/ 267
20.1 本案例研究的背景/ 268
20.2 每個項目不同方法的比較/ 272
20.3 項目HAMLET/ 274
20.4 項目PHOENIX/ 275
20.5 項目DOITYOURSELF/ 277
20.6 項目MINIWEB/ 279
20.7 測試執行/ 280
20.8 結果報告/ 281
20.9 總結/ 283
第21章 通過後門(通過支持手動測試)進行自動化/ 287
21.1 本案例研究的背景/ 288
21.2 我們的技術解決方案/ 288
21.3 通過ISS測試站實現測試自動化/ 291
21.4 實現測試自動化/ 293
21.5 支持手動測試/ 296
21.6 新的手動測試過程/ 298
21.7 總結/ 302
21.8 參考文獻/ 303
第22章 使用自動化測試為可移植性測試增值/ 305
22.1 本案例研究的背景/ 306
22.2 可移植性測試:喜歡它或者討厭它/ 306
22.3 將軟體組合起來作為解決方案/ 307
22.4 總結/ 312
22.5 致謝/ 312
第23章 保險公司中的自動化測試:感受我們測試的方法/ 313
23.1 本案例研究的背景/ 313
23.2 應用程式/ 314
23.3 目標/ 315
23.4 我們做的工作/ 315
23.5 教訓/ 317
23.6 總結/ 318
第24章 使用測試猴子的冒險之旅/ 320
-24.1 本案例研究的背景/ 320
24.2 自動化回歸測試的局限性/ 321
24.3 測試猴子/ 322
24.4 實現測試猴子/ 324
24.5 使用測試猴子/ 325
24.6 收益和局限性/ 328
24.7 總結/ 329
24.8 參考文獻/ 329
第25章 在NATS對SYSTEM-OF-SYSTEMS的自動化測試/ 330
25.1 本案例研究的背景/ 331
25.2 測試執行工具的集成/ 333
25.3 工具的試點項目/ 333
25.4 系統使用中(In-Service)的測試模式/ 334
25.5 實現/ 334
25.6 典型的腳本模板/ 336
25.7 得到的教訓/ 338
25.8 總結/ 339
第26章 對汽車電子系統進行自動化測試/ 340
26.1 本案例研究的背景/ 341
26.2 自動化項目的目標/ 342
26.3 自動化項目的簡史/ 342
26.4 自動化項目的結果/ 344
26.5 總結/ 345
第27章 宏偉目標、改變和測試轉型/ 346
27.1 本案例研究的背景/ 346
27.2 管理層的認可/ 347
27.3 構建自動化框架的故事/ 350
27.4 自動化測試框架的描述/ 352
27.5 測試環境/ 355
27.6 度量標準/ 356
27.7 總結/ 358
第28章 自動化探索測試:超越當前時代的例子/ 361
28.1 本案例研究的背景/ 362
28.2 什麼是故障管理工具/ 362
28.3 測試故障管理系統中的事務/ 363
28.4 用編程的方法結構化測試用例/ 365
28.5 思考自動化測試的新方式/ 365
28.6 測試故障管理系統的工作流/ 366
28.7 運行中生成測試/ 371
28.8 項目的衝刺階段/ 372
28.9 發布之後/ 373
28.10 總結/ 374
28.11 致謝/ 374
第29章 測試自動化的軼事/ 375
29.1 三個小故事/ 375
29.2 需要更多對自動化的理解/ 378
29.3 自動化測試的第一天/ 379
29.4 嘗試開始實施自動化/ 384
29.5 與管理層作鬥爭/ 385
29.6 探索性測試自動化:資料庫記錄鎖定/ 387
29.7 在嵌入式硬體-軟體計算機環境中進行測試自動化所得到的教訓/ 392
29.8 傳染性的時鐘/ 395
29.9 自動化系統的靈活性/ 397
29.10 使用過多工具(跨部門的支持不夠)的故事/ 398
29.11 成功的案例卻有著意料之外的結局/ 401
29.12 合作能夠克服資源的限制/ 404
29.13 取得了大規模成功的自動化過程/ 405
29.14 測試自動化並不總是像看上去那樣/ 409
附錄A 工具/ 413
案例研究的作者簡介/ 422

相關詞條

熱門詞條

聯絡我們