作者簡介
曹向志,測試專家,具有豐富的軟體測試和開發經驗。曾參與北大青鳥軟體測試課程體系的創立及培訓教材的編寫。在中國航天、北大青鳥、分眾等公司擔任測試經理、項目經理等職務,目前在HP擔任測試顧問兼PM。承擔過多項銀行、保險等大型行業軟體的項目測試管理工作。
於涌,北大畢業,先後擔任高級程式設計師、高級系統性能分析師、高級測試主管和高級測試經理等職位。擅長自動化測試工具套用、性能測試和單元測試等,曾為多家著名公司提供軟體測試的指導和培訓工作。出版書籍《軟體性能測試與LoadRunner實戰》,被評為2008年十大優秀原創IT圖書作者。
高樓(Zee),曾領導並實施國家電網、GE、中國人壽、中國出口信用保險公司、PICC、中國建行等項目的性能測試及調優,為西南科大、方正集團、尚陽信德、中國船舶集團、中國機械化研究所等多家企業和機構提供諮詢和培訓服務。
內容簡介
《軟體測試項目實戰:技術、流程與管理》講述了大、中型軟體測試項目的實施過程,包括從單元測試、單元測試審核和集成測試到後面的功能測試、性能測試及客戶的驗收測試活動。對於各個測試階段中的如何實施設計、如何測試等提出了解決方案,可以供廣大的測試人員參考。
媒體評論
本書是作者多年測試項目管理實踐的成功經驗總結,它不僅僅是作者的經驗之談,同時也是多年軟體工程實踐的成果。作為軟體測試工程師,最痛苦的事情莫過於測試方面可選擇的書很少,本書的出現為測試工程師提供了很好的參考。
——博為峰(北京)信息技術有限公司總經理 朴春龍
軟體測試是現階段國內IT行業中快速發展的職業,需要符合要求的高素質人才進入這個行業,提升人才整體水平,進而有效保證國內軟體質量。本書作者結合多年項目、培訓工作經驗,從實際套用出發,經過沉澱和積累,提供給讀者一本切實指導軟體測試項目實踐的參考書。通過閱讀本書,讀者可以在工作中較快運用書中知識,提升職業技能,為以後更好的職業發展提供幫助。
——北大青鳥BTEST學術經理 姚有傑
軟體測試從最初的不為人所知,到現在發展成一個行業,針對不同的行業開始演變出具有特色的測試方法,這本身就體現出軟體測試的進步。作者依託自己豐富的行業經驗,向讀者展示了軟體測試過程管理、測試文檔書寫及專業軟體測試工具的使用方法等多項實用技術。相信本書一定會給軟體測試工程師的工作帶來切實可行的指導和建議。
——領測軟體測試網創始人領測國際科技(北京)有限公司總經理 賀炘
該書系統介紹了軟體測試中的測試過程,以及過程中各個階段的相關技術。值得稱道的是,與其他純粹的理論性介紹書籍不同,本書包含了作者自己的實踐經驗,包括作者對測試工程師所需技能的理解和實踐工作中的一些技巧,以及相應的模板檔案。相信本書可以為具有一定測試基礎的測試工程師們帶來基於實踐的測試體會。
——GoogIe中國測試經理 段念
軟體測試行業已經在中國發展了一段時間,關於測試行業的書籍也越來越多,本書的獨到之處在於充分結合作者的測試管理和技術實踐經驗,使讀者可以得到除理論之外的實戰經驗啟迪。此書對於致力於中國測試外包行業的測試工程師、測試組長,以及測試項目經理都有很大的指導意義。
——中國惠普客戶經理和高級諮詢顧問 魯征
目錄
第1章 測試實踐方法論 1
1.1 測試的發展歷程、現狀及未來 1
1.2 外包測試的分類和發展趨勢 3
1.3 軟體測試方法論 4
1.3.1 軟體測試目的演變 5
1.3.2 堅持軟體測試的原則 6
1.3.3 不要被多種測試類型分類所迷惑 8
1.3.4 兩種最常用的軟體測試模型 12
1.4 可納入測試規範的測試活動流程 14
1.5 對軟體測試理解的誤區 16
1.6 測試崗位對人員基本素質的要求 17
1.7 檢查自己儲備的知識夠不夠 18
1.7.1 作業系統知識 19
1.7.2 TCP/IP協定 20
1.7.3 DNS域名服務 24
1.7.4 DHCP 25
1.7.5 HTTP協定 26
1.8 金融行業軟體系統特點和測試特點 31
第2章 軟體質量和缺陷報告 35
2.1 軟體質量 35
2.1.1 質量的定義 35
2.1.2 測試度量 36
2.2 理解國標中的質量模型 37
2.2.1 目標中的質量模型 38
2.2.2 外部質量和內部質量模型的屬性 38
2.2.3 使用質量的質量模型 41
2.3 軟體缺陷不再僅僅是小“Bug” 42
2.3.1 軟體缺陷概述 42
2.3.2 相關案例 43
2.3.3 產生軟體缺陷的原因及處理辦法 45
2.4 測試工作離不開缺陷報告 46
2.4.1 缺陷報告的要素 47
2.4.2 缺陷嚴重程度 48
2.4.3 缺陷的6種狀態 50
2.4.4 填寫缺陷報告的規範 51
2.5 定製團隊的缺陷跟蹤流程 51
2.6 選用缺陷跟蹤工具,提高團隊工作效率 60
2.6.1 功能全面的Quality Center工具 60
2.6.2 小巧精幹的Butterfly工具 62
2.7 基於B/S架構的測試 64
2.8 典型缺陷分析 67
第3章 文檔審查和測試需求分析 71
3.1 文檔審查和評審 71
3.1.1 業務需求規格說明書的審查 71
3.1.2 概要設計文檔的審查 72
3.1.3 安裝部署文檔的審查 72
3.1.4 用戶手冊審查 73
3.1.5 線上幫助文檔的審查 73
3.1.6 項目測試中的評審活動 74
3.2 測試活動的基礎——測試需求分析 75
3.2.1 如何理解測試需求 75
3.2.2 測試需求分析 76
3.3 使用QC管理測試需求 78
3.3.1 定製欄位讓測試需求表現更充分 80
3.3.2 從Excel導入測試需求 80
第4章 測試設計 83
4.1 測試用例概述 83
4.1.1 定義 83
4.1.2 測試用例要素最小集 84
4.2 等價類劃分 84
4.2.1 等價類劃分設計方法的基礎 84
4.2.2 等價類劃分設計方法的運用 87
4.3 邊界值 91
4.3.1 邊界值設計方法的基礎 91
4.3.2 邊界值設計方法的運用 92
4.4 因果圖 94
4.4.1 因果圖設計基礎 94
4.4.2 因果圖設計方法的運用 96
4.5 測試用例管理 97
4.5.1 QC中的測試用例組織和編寫 97
4.5.2 從Excel中導入測試用例 98
4.6.3 測試需求和測試用例相互關聯 100
4.6 測試用例設計 101
4.6.1 集成測試用例設計 103
4.6.2 功能測試用例設計 105
4.6.3 性能測試用例設計 106
4.6.4 測試用例說明 108
4.7 熟悉項目中運用的“新”知識 109
4.7.1 櫃面(ACE)介紹 109
4.7.2 事務中間件——Tuxedo 111
4.8 在測試中採用的界面測試規範 112
4.8.1 C/S界面設計規範 112
4.8.2 B/S界面規範 116
第5章 做好項目測試計畫 123
5.1 制訂一份好的測試計畫的重要性 123
5.2 測試計畫中的主要內容 124
5.2.1 測試目標和範圍 124
5.2.2 測試資源 126
5.2.3 進度計畫 127
5.2.4 測試約束條件 128
5.2.5 測試輪次 129
5.2.6 測試策略 130
5.2.7 項目風險 132
5.2.8 測試約定 133
5.3 編寫性能測試計畫關注點 134
5.4 系統測試計畫模板 134
第6章 單元測試及結果審核 159
6.1 白盒測試基礎 159
6.1.1 語句覆蓋 160
6.1.2 判定覆蓋/分支覆蓋 161
6.1.3 條件覆蓋 161
6.1.4 判定-條件覆蓋 162
6.1.5 條件組合測試 163
6.1.6 路徑測試 164
6.1.7 循環測試 164
6.2 單元測試 167
6.2.1 概述 167
6.2.2 單元測試的步驟 168
6.2.3 單元測試的內容 168
6.2.4 單元測試用例設計 170
6.3 測試驅動框架 171
6.3.1 JUnit的介紹 171
6.3.2 JUnit運用案例 173
6.4 每日構建 177
6.5 單元測試結果審核 180
第7章 產品集成測試 185
7.1 產品集成測試關注點 185
7.2 產品集成測試 186
7.3 集成測試計畫 188
7.4 集成測試設計 189
7.5 集成測試執行 190
7.6 集成測試總結 192
第8章 項目功能測試 193
8.1 執行前的準備工作 193
8.2 管理工具也需要規則——QC中測試執行要求 197
8.3 使用PL/SQL Developer獲取對比的數據 202
8.3.1 編寫存儲過程 204
8.4 試過程中的數據採集和分析 205
8.4.1 數據採集和度量 206
8.4.2 多角度展示缺陷統計數據 207
8.4.3 測試用例執行統計和需求覆蓋統計 209
8.4.4 如何給客戶做測試有效性分析 210
第9章 項目性能測試 213
9.1 性能測試中的概念 213
9.2 測試執行準備工作也很重要 215
9.3 判斷設備選型性能評估 217
9.3.1 用戶業務狀況分析 217
9.3.2 系統伺服器處理能力估算原則 218
9.3.3 資料庫伺服器處理能力估算結果 220
9.3.4 套用伺服器處理能力估算結果 220
9.3.5 主機記憶體容量估算 220
9.3.6 I/O資源 221
9.3.7 存儲設備硬體配置估算 222
9.4 為測試整合測試工具 224
9.5 資源監控和數據採集 225
9.5.1 UNIX/Linux監控指標 225
9.5.2 Oracle 監控指標 229
9.5.3 Informix監控 232
9.5.4 Weblogic監控指標 238
9.5.5 Apache監控 242
9.5.6 Tuxedo監控 244
9.6 啟用IP欺騙 246
9.7 性能測試過程 249
9.7.1 輕鬆創建虛擬用戶 249
9.7.2 創建真實的負載 250
9.7.3 實時監控場景 251
9.7.4 分析測試結果 252
9.8 構造測試基礎數據 253
9.9 LoadRunner和QC的完美結合 256
9.10 某信息化系統性能測試案例 258
9.10.1 分析性能需求 258
9.10.2 測試場景設計與開發 261
9.10.3 性能測試建模 262
9.10.4 構造測試基礎數據 263
9.10.5 測試環境 264
9.10.6 測試策略 265
9.10.7 測試場景設計 266
9.10.8 測試腳本錄製和修改 267
9.10.9 參數關聯和參數化 275
9.10.10 測試結果分析和調優 276
9.11 常見性能故障模型 280
9.12 性能測試中需要注意的一些問題 284
第10章 客戶驗收測試和測試報告評審 287
10.1 客戶驗收測試 287
10.2 測試報告 288
10.3 測試報告評審 289
第11章 項目測試的自動化 291
11.1 自動化測試面面觀 291
11.2 有關自動化測試的誤區 294
11.3 自動化測試不可缺少的工具 295
11.4 功能自動化測試工具——QuickTest Professional 297
11.4.1 腳本錄製方式 299
11.4.2 QTP的各種參數設定 300
11.4.3 測試結果分析 305
11.5 QTP對象識別 306
11.6 QC和QTP構建自動化測試框架 309
11.6.1 BPT介紹 309
11.6.2 工具連線 310
11.6.3 BPT使用經驗 313
11.7 自動化測試流程 315
11.8 自動化測試腳本編寫規範 316
第12章 測試項目管理 321
12.1 項目工作量評估模型 321
12.1.1 開發比例法 322
12.1.2 外包項目經驗類比法 323
12.1.3 WBS估算法 325
12.1.4 Delphi法 330
12.2 測試範圍控制 331
12.3 項目控制 332
12.3.1 項目經理對項目控制 332
12.3.2 管理層對項目的控制 334
12.4 測試團隊工作質量保障 335
12.4.1 同行評審 335
12.4.2 QA審計 336
12.5 測試團隊人員管理 338
12.5.1 組織架構 338
12.5.2 測試團隊中各崗位職責 339
12.5.3 組建您需要的測試團隊 342
12.5.4 績效考核 343
12.6 不可小視的風險管理 345
12.6.1 項目風險 346
12.6.2 組織風險 350
12.6.3 技術風險 351
12.6.4 風險分析和風險跟蹤 353
12.7 您40%的時間是在溝通 356
12.7.1 書面溝通 357
12.7.2 會議溝通 360
12.7.3 口頭和IM溝通 361
12.7.4 溝通中的注意事項 361
12.8 用數據度量項目 361
12.8.1 “時間”和“開銷”度量 361
12.8.2 缺陷度量 363
12.8.3 測試用例度量 364
12.9 軟體測試配置管理 364
附錄一 功能測試報告模板 368
附錄二 性能測試報告模板 380
附錄三 測試總結報告模板 393