自動化軟體測試實施指南
資訊
原書名: Implementing Automated Software Testing: How to Save Time and Lower Costs While Raising Quality
原出版社: Addison-Wesley Professional
作者: (美)Elfriede Dustin Thom Garrett Bernie Gauf
譯者: 餘昭輝;範春霞
叢書名: 開發人員專業技術叢書
出版社:機械工業出版社
ISBN:9787111302575
上架時間:2010-4-27
出版日期:2010 年4月
開本:16開
詳細資料請查看:http://www.china-pub.com/196674
內容簡介
本書講解什麼是自動化測試,為什麼要進行自動化測試,以及實施自動化測試過程中的各種方法和需要注意的問題。
全書分為兩部分。在第一部分,作者以自身的經驗向我們闡釋自動化測試的重要性以及好處。第二部分用6個要點來講解需求收集、制定自動化測試的策略、開發自動化測試架構(主要是開發原則)、制定測試計劃以及人員安排。附錄A是一個測試階段一覽表,附錄B快速地講解了各種類型的測試以及在這些測試中如何應用自動化。附錄C用了大量的篇幅介紹各種主流測試載入器,以及評估這些工具的方法,附錄D是一個真實的自動化架構的案例研究。
本書適合軟體測試人員、品質評估人員、專案管理人員和軟體開發人員閱讀。
測試佔新軟體開發的時間和成本的百分比越來越大。使用自動化軟體測試(AST),開發人員和軟體測試人員可以最佳化軟體測試生命週期,從而減少成本。隨著技術和開發發展得越來越複雜,AST將變得不可或缺。本書是根據一些已經證明的實踐和自動化測試生命週期方法學(ATLM)而寫,提供了更新的實踐,為成功實施AST提供了全面指導。
在本書中,三位權威專家詳細地闡釋了AST,系統地回顧了AST的組成元素、能力以及限制。他們利用在防禦系統和商業中部署AST的經驗,帶領你瀏覽整個實施過程——確定最佳實務、關鍵的成功因素、關鍵隱患,以及避免這些隱患的解決方案。
本書內容
·為AST構建實際可行的商業案例,使用AST擷取主動權
·澄清測試需求,並開發一個自動化策略反映這些需求
·構建高效的測試環境,為該環境選擇合適的自動化工具和技術
·使用經過證明的指標持續地跟蹤過程,並做出相應的調整
不管你是測試專業人員、QA專家、專案經理還是開發人員,本書都會帶給你前所未有的有效測試,然後使用AST改進整個開發生命週期。
目錄
譯者序
序一
序二
前言
第一部分 什麼是自動化軟體測試和為什麼需要自動化
第1章 自動化軟體測試概述 1
1.1 自動化測試定義 1
1.2 自動化測試的方法 2
1.3 AST技術的發展 4
1.4 各種自動化測試類型 7
1.5 提供基於AST的產品支援 10
1.5.1 按照需要對定位和修複產品問題提供支援 10
1.5.2 對確定出修正給特定程式組件造成的影響提供支援 11
1.5.3 校正產品修正的準確性和品質 11
1.5.4 支援產品的STR分類方法 11
1.6 自動化評估標準 12
小結 13
第2章 為什麼要使用自動化 15
2.1 當今測試軟體面臨的挑戰 15
2.2 減少軟體測試的時間和成本 17
.2.2.1 自動化的測試計劃和開發—初始測試的工作量增加 18
2.2.2 產生測試資料—測試工作/計劃減少 19
2.2.3 測試的執行—測試工作的減少/測試進度的加快 21
2.2.4 測試結果分析—測試工作的減少/測試進度的加快 22
2.2.5 錯誤狀態/更正監測—測試工作的減少/測試進度的加快 23
2.2.6 報告的建立—測試工作的減少/測試進度的加快 25
2.2.7 其他需要考慮的降低因素 25
2.3 影響軟體品質 26
2.4 改進軟體測試程式 28
2.4.1 改進構建驗證測試(煙霧測試 (Smoke Test)) 29
2.4.2 改進迴歸測試 29
2.4.3 多平台相容性測試和配置測試 30
2.4.4 改善日常測試的執行 30
2.4.5 改進重點關注的進階測試問題 30
2.4.6 完成手動測試無法完成的工作 30
2.4.7 重現軟體缺陷的能力 31
2.4.8 加強系統專業知識 31
2.4.9 下班後“無人值守”測試 31
2.4.10 改進需求定義 31
2.4.11 改進效能測試 31
2.4.12 改進壓力測試和耐力測試 32
2.4.13 品質度量和測試最佳化 32
2.4.14 改進系統開發生命週期 33
2.4.15 改進文檔和可跟蹤性 33
2.4.16 分布式工作負載和並發測試 33
小結 33
第3章 商業案例 35
3.1 商業案例的定義 35
3.2 確定業務需要 36
3.3 在成本和收益方面調整自動化 38
3.3.1 評估ROI 38
3.3.2 自動化測試的總節省 38
3.3.3 測試環境建立的時間節省 40
3.3.4 測試開發的時間節省 40
3.3.5 測試執行時間的節省 41
3.3.6 測試評估/診斷時間節省 42
3.3.7 ROI的其他幾點考量 42
3.3.8 更多ROI指標 44
3.4 風險 44
3.5 其他考慮 45
小結 46
第4章 自動化測試失敗的原因以及需要避免的陷阱 47
4.1 通常R&D不重視自動化測試或手動測試的工作 48
4.2 自動化測試的神話與現實 50
4.2.1 自動化的測試計劃的產生 51
4.2.2 測試載入器適合所有情境 51
4.2.3 測試工作立即減少 52
4.2.4 計劃立即縮減 52
4.2.5 工具的易用性 52
4.2.6 任何應用都可以使用AST 53
4.2.7 100%測試覆蓋率 54
4.2.8 捕獲/回放等同AST 55
4.2.9 AST是手動測試活動 56
4.2.10 忘記了測試的目的是找出缺陷 56
4.2.11 側重於系統測試自動化而非自動化單元測試 56
4.3 軟體開發時缺乏針對AST的考慮 57
4.3.1 在應用中構建可測試性 57
4.3.2 遵循開放架構標準 59
4.3.3 遵循標準文檔格式 60
4.3.4 標準化的文檔測試案例 60
4.3.5 遵循編碼通訊協定 61
4.3.6 使用OMG的IDL 61
4.3.7 GUI測試建議 61
4.3.8 GUI對象命名標準 62
4.3.9 代碼重用的庫概念 63
4.4 只見樹木不見森林—不知道如何選擇工具 63
4.5 缺少工具供應商都遵循的自動化標準 65
4.6 缺乏企業案例 67
小結 67
第二部分 如何?自動化:獲得自動化回報最重要的6個要點
第5章 要點1:瞭解需求 69
5.1 理解AST所支援的需求 70
5.1.1 AUT或SUT需求 70
5.1.2 AST架構(ASTF)和工具的需求 71
5.1.3 AST資料需求 72
5.1.4 測試環境的需求 73
5.1.5 AST過程需求 76
5.2 支援AST需求的更多資訊 78
5.2.1 手動測試過程 78
5.2.2 設計文檔 78
5.2.3 原型 79
5.3 當資訊不存在時 81
5.3.1 引導性的訪談 81
5.3.2 進一步增加知識面 82
5.3.3 基於遺留應用程式或遺留系統開發需求 83
5.4 開始實現需求跟蹤矩陣(RTM) 85
5.4.1 RTM中的資訊 85
5.4.2 RTM樣本 86
小結 89
第6章 要點2:開發自動化測試策略 90
6.1 AST策略文檔 91
6.2 範圍和自動化測試目標 91
6.2.1 決定要自動化哪些測試 92
6.2.2 優先順序—基於優先順序的功能計劃的自動化需求 95
6.2.3 定義測試目標:樣本 96
6.3 確定方法 97
6.4 自動化軟體測試架構 102
6.5 AST環境/配置 105
6.5.1 測試組態 106
6.5.2 其他測試環境的自動化測試需求 107
6.5.3 自動化測試環境管理—自動化CM 107
6.6 自動化RTM 112
6.6.1 需要標準的測試案例模板,對自動化架構極其有用 113
6.6.2 連結到測試案例 113
6.6.3 更新測試案例的步驟,包括通過/失敗結果 113
6.6.4 更新RTM,包括通過/失敗結果 114
6.7 自動化的缺陷跟蹤 116
小結 116
第7章 要點3:測試自動化軟體測試架構(ASTF) 117
7.1 驗證ASTF是否滿足特定需求,功能是否表現得如預期那樣 118
7.2 對所有ASTF相關工件,包括設計、開發以及相關測試案例進行同儕審查 118
7.2.1 作為軟體開發生命週期一部分的同儕審查 119
7.2.2 評估所有ASTF組件 121
7.2.3 評審測試案例 121
7.2.4 評審測試邏輯 123
7.2.5 評審測試資料 123
7.2.6 評審自動化的測試代碼 125
7.3 驗證需求和覆蓋率 128
7.3.1 跟蹤能力 129
7.3.2 覆蓋率 129
7.4 舉行一次使用者審查 129
小結 130
第8章 要點4:持續跟蹤過程,並作相應調整 131
8.1 AST程式跟蹤和缺陷預防 131
8.1.1 技術交換和走查 132
8.1.2 內部檢查 132
8.1.3 檢查約束和相關風險 132
8.1.4 實現風險降低策略 132
8.1.5 維護AST過程和環境的完整性 133
8.1.6 定義、溝通和跟蹤進度和成本 133
8.1.7 跟蹤工作、問題和缺陷 134
8.2 AST度量 134
8.2.1 可自動化的百分比或自動化指標 137
8.2.2 自動化進展 138
8.2.3 測試進度 139
8.2.4 自動化測試覆蓋率百分比 140
8.2.5 缺陷密度 141
8.2.6 缺陷趨勢分析 141
8.2.7 缺陷移除效率 142
8.2.8 自動化軟體測試ROI 143
8.2.9 其他軟體測試度量 144
8.3 根本原因分析 144
小結 145
第9章 要點5: 實施AST過程 146
9.1 AST的階段和裡程碑 147
9.2 AST階段1:需求收集—分析自動化測試需求 147
9.3 AST階段2:測試案例設計和開發 149
9.4 AST階段3:開發自動化測試軟體架構(ASTF)和測試指令碼 150
9.5 AST階段4:自動化測試的執行和結果報告 151
9.6 AST階段5:程式審查和評估 152
9.7 虛擬品質門檻 153
9.8 過程度量 154
小結 154
第10章 要點6:人盡其才 155
10.1 程式管理 161
10.1.1 AST階段1:需求收集—分析自動化測試需求 161
10.1.2 AST階段2:測試案例設計與開發 161
10.1.3 AST階段3:開發自動化軟體測試架構和測試指令碼 161
10.1.4 AST階段4:自動化測試執行和結果報告 161
10.1.5 AST階段5:審查並評估程式 161
10.2 系統工程 163
10.2.1 AST階段1:需求收集—分析自動化測試需求 163
10.2.2 AST階段2:測試案例設計和開發 164
10.2.3 AST階段3:開發自動化測試架構和測試指令碼 164
10.2.4 AST階段4:自動化測試的執行和結果報告 164
10.2.5 AST階段5:審查並評估程式 164
10.3 軟體開發 165
10.3.1 AST階段1:需求收集—分析自動化測試需求 165
10.3.2 AST階段2:測試案例設計和開發 166
10.3.3 AST階段3:開發自動化軟體測試架構和測試指令碼 166
10.3.4 AST階段4:自動化測試的執行和結果報告 166
10.3.5 AST階段5:程式審查和評估 166
10.4 組態管理 167
10.4.1 AST階段1:需求收集—分析自動化測試需求 167
10.4.2 AST階段2:測試案例設計和開發 167
10.4.3 AST階段3:開發自動化軟體測試架構和測試指令碼 167
10.4.4 AST階段4:自動化測試的執行和結果報告 168
10.4.5 AST階段5:審查並評估程式 168
10.5 品質保證 168
10.5.1 AST階段1:需求收集—分析自動化測試需求 168
10.5.2 AST階段2:測試案例設計和開發 168
10.5.3 AST階段3:開發自動化軟體測試架構和測試指令碼 169
10.5.4 AST階段4:自動化測試的執行和結果報告 169
10.5.5 AST階段5:審查並評估程式 169
10.6 領域專家(SME) 169
10.7 培訓 169
小結 170
附錄
附錄A 過程一覽表 173
附錄B 將AST應用到的各種測試類型 177
附錄C 工作中的利器 190
附錄D 案例研究:自動化軟體測試
架構(ASTF)樣本 222