內容簡介
本書主要講解了大數據背景下的Web性能測試的特點和方法,以及使用業內套用非常廣泛的工具——LoadRunner 11進行性能測試的具體技術與技巧。本書理論結合實踐,講解圖文並茂,並且將IT技術與生活場景結合起來,生動而又形象。
圖書目錄
第1篇 測試的背景知識
第1章 軟體測試基礎(教學視頻:26分鐘) 2
1.1 了解軟體過程的各個方面 2
1.1.1 軟體公司技術部門的基本結構 3
1.1.2 由軟體危機引發的軟體測試 4
1.1.3 軟體危機的體現 4
1.1.4 軟體的生命周期 5
1.1.5 軟體生命周期模型 5
1.1.6 大爆炸模型 6
1.1.7 邊做邊改模型 6
1.1.8 瀑布模型 6
1.1.9 螺旋模型 7
1.1.10 4種過程模型的對比 8
1.1.11 軟體過程的幾個階段 8
1.1.12 軟體發布的方式 9
1.1.13 用甘特圖控制軟體項目的流程 9
1.2 關於軟體中的Bug 10
1.2.1 蟲子的由來 10
1.2.2 軟體Bug的5個要素 11
1.2.3 發現蟲子的成本 12
1.3 軟體測試的定義與分類 13
1.3.1 軟體測試的定義 13
1.3.2 軟體測試工程師的工作內容 14
1.3.3 軟體測試的分類 14
1.4 軟體測試的核心I:測試用例 14
1.4.1 什麼是測試用例 14
1.4.2 測試用例的要素 15
1.5 軟體測試的核心II:測試工程師 17
1.5.1 測試工程師與軟體質量保障 17
1.5.2 測試工程師應該具備的素質 17
1.5.3 測試工程師的職業發展 18
1.6 本章小結 19
第2章 軟體的測試方法與過程(教學視頻:14分鐘) 20
2.1 測試的主要方法與分類 20
2.1.1 什麼是黑盒測試方法 20
2.1.2 什麼是白盒測試方法 21
2.1.3 黑盒測試與白盒測試的優劣對比 21
2.1.4 深入了解黑盒測試 22
2.2 等價類劃分法 23
2.2.1 什麼是等價類劃分 23
2.2.2 等價類劃分的標準 24
2.2.3 劃分等價類的方法 24
2.2.4 利用等價類劃分設計測試用例 25
2.3 邊界值分析法 25
2.3.1 邊界值分析法的數據選取原則 25
2.3.2 根據邊界值分析法設計測試用例 26
2.4 判定表方法 26
2.4.1 判定表生成測試用例的步驟 27
2.4.2 判定表的結構 27
2.4.3 判定表的建立步驟 28
2.5 其他黑盒測試方法 28
2.6 測試分類簡介I:性能與代碼覆蓋 28
2.6.1 性能測試與壓力測試 29
2.6.2 代碼覆蓋測試 29
2.7 測試分類簡介II:國際化與本地化 30
2.7.1 國際化與i18n 31
2.7.2 本地化與Localization 31
2.7.3 國際化測試與本地化測試的區別 32
2.7.4 國際化、本地化測試的具體內容 32
2.7.5 國際化、本地化測試的步驟 33
2.8 各種測試簡介III:回歸、人工與自動測試 33
2.8.1 回歸測試 33
2.8.2 人工測試與自動測試 34
2.9 測試過程:項目和里程碑 34
2.9.1 測試貫穿整個項目流程 34
2.9.2 項目流程中的里程碑 35
2.9.3 Project軟體中的里程碑 36
2.10 項目管理中的ISO 9000與CMM 37
2.10.1 ISO 9000標準 37
2.10.2 CMM標準 37
2.10.3 CMM的基本概念 38
2.10.4 CMM五級成熟度 38
2.10.5 CMM五級成熟度分級詳解 39
2.11 軟體測試中的維恩圖 41
2.11.1 什麼是維恩圖 41
2.11.2 軟體測試中的維恩圖 42
2.12 兩組容易混淆的測試用語 42
2.12.1 精確性與準確性 42
2.12.2 驗證合格與確認可用 44
2.13 本章小結 44
第3章 Web套用開發與Web測試(教學視頻:15分鐘) 45
3.1 Web套用的基本知識 45
3.1.1 什麼是服務 45
3.1.2 服務的場所 46
3.1.3 創建服務場所——建立網站 47
3.1.4 網站檔案的上傳 48
3.1.5 開啟網頁發布服務 50
3.1.6 用戶瀏覽網站的過程 52
3.1.7 網路溝通標準——協定 52
3.1.8 前台頁面與後台資料庫 53
3.2 Web開發的基礎技術 54
3.2.1 認識Java 54
3.2.2 Java語言的特點 55
3.2.3 基於.NET平台的Web開發技術 56
3.2.4 基於PHP的Web開發技術 58
3.2.5 AJAX開發技術 59
3.3 Web功能測試的特點與方法 60
3.3.1 網頁測試的組成部分 60
3.3.2 連結測試及其要點 61
3.3.3 連結測試工具Sleuth 63
3.3.4 孤兒網頁 64
3.3.5 表單測試及其要點 65
3.3.6 客戶端表單信息的驗證、收集和提交 65
3.3.7 伺服器端用戶信息的保存過程 66
3.3.8 伺服器端提示信息的返回 66
3.3.9 網頁內容測試 66
3.3.10 網頁用戶界面測試 67
3.3.11 瀏覽器互動測試 68
3.4 其他Web功能測試 69
3.4.1 Cookie測試 69
3.4.2 Web Service測試 70
3.4.3 Web功能測試的一般原則 70
3.5 兼容性測試與安全測試 71
3.5.1 兼容性測試 71
3.5.2 平台測試要點 71
3.5.3 瀏覽器測試要點 72
3.5.4 顯示設定測試要點 73
3.5.5 網路連線測試 73
3.5.6 列印測試 74
3.5.7 安全測試 74
3.6 本章小結 75
第2篇 Web性能測試入門
第4章 Web性能測試的基礎(教學視頻:11分鐘) 78
4.1 學習Web性能測試 78
4.1.1 Web性能的定義 79
4.1.2 Web性能好壞的判斷 80
4.1.3 Web性能測試在網站開發中的位置 83
4.1.4 Web性能測試的目的 84
4.2 影響Web性能的重要硬體I:CPU 84
4.2.1 中央處理器(CPU)簡介 84
4.2.2 CPU-Z簡介 85
4.2.3 CPU-Z的使用方法 85
4.3 影響Web性能的重要硬體II:硬碟 88
4.3.1 主流硬碟的類型 89
4.3.2 了解硬碟的轉速 89
4.3.3 認識硬碟快取 90
4.3.4 作業系統中的硬碟寫入快取 90
4.3.5 HD-Tach的下載、安裝與使用 92
4.3.6 Web套用對硬碟消耗的特點 93
4.3.7 Baseline和Benchmark 93
4.4 本章小結 94
第5章 Web性能測試的方法(教學視頻:19分鐘) 95
5.1 Web性能測試目的與方法 95
5.1.1 Web性能測試的目的 95
5.1.2 Web性能測試方法的先決條件 95
5.1.3 Web性能測試的詳細分類 96
5.1.4 什麼是性能測試(Performance Testing) 96
5.1.5 小白的第一次性能測試 97
5.1.6 回響時間、測試場所和指標 98
5.1.7 壓力測試(Stress Testing) 99
5.1.8 負載測試(Stress Testing)簡介 100
5.1.9 負載測試的特點 100
5.1.10 並發測試(Concurrency Testing)簡介 101
5.1.11 並發測試所關注的性能問題 102
5.1.12 並發測試的特點與工具 102
5.1.13 配置測試(Configuration Testing) 103
5.1.14 耐久度測試(Endurance Testing) 104
5.1.15 可靠性測試(Reliability Testing) 105
5.1.16 尖峰衝擊測試(Spike Testing) 105
5.1.17 失敗恢複測試(FailOver Testing) 106
5.2 Web性能測試方法的比較 108
5.2.1 各種Web性能測試方法的不同點 108
5.2.2 各種Web性能測試方法的相同點 109
5.3 本章小結 110
第6章 性能測試計數器(教學視頻:23分鐘) 111
6.1 什麼是性能計數器 112
6.2 Windows系統下的性能計數器 112
6.2.1 性能計數器數值的直觀獲得 113
6.2.2 性能監視器的使用 113
6.2.3 通過編程獲得性能計數器 118
6.2.4 常見的性能計數器的含義 120
6.3 Mac OS X系統的性能計數器 122
6.3.1 性能計數器的直觀獲得 122
6.3.2 性能分析專業工具 124
6.4 Linux(UNIX)系統的性能計數器 125
6.4.1 Linux系統下性能計數器的直觀獲得 125
6.4.2 vmstat命令詳解 125
6.4.3 top命令及其他工具包 127
6.4.4 Linux(UNIX)系統下性能計數器的含義 127
6.5 記憶體性能分析 128
6.5.1 記憶體泄露及判斷 129
6.5.2 記憶體瓶頸簡介 130
6.5.3 頁面和虛擬記憶體 130
6.5.4 軟、硬頁面錯誤 132
6.5.5 發現記憶體瓶頸 132
6.5.6 發現程式使用記憶體的問題 133
6.6 CPU性能分析 134
6.6.1 重要的CPU性能計數器 134
6.6.2 有關多CPU與多核CPU的性能計數器 135
6.7 磁碟性能分析 137
6.7.1 磁碟性能相關計數器 137
6.7.2 與其他性能對象的綜合考慮 138
6.8 網路性能分析 138
6.9 套用伺服器性能簡要分析 139
6.9.1 IIS套用伺服器性能分析 139
6.9.2 IIS相關性能計數器 139
6.9.3 Weblogic性能信息的獲得 140
6.9.4 Weblogic相關性能計數器 141
6.10 資料庫性能簡要分析 142
6.10.1 業內常見的資料庫產品 142
6.10.2 資料庫性能問題對應的性能計數器 143
6.11 本章小結 144
第3篇 使用LoadRunner進行Web套用性能測試
第7章 性能測試工具LoadRunner入門(教學視頻:24分鐘) 146
7.1 選擇測試工具 146
7.1.1 自行編寫與購買測試工具的比較 146
7.1.2 常用的性能測試工具 148
7.1.3 性能測試工具的評估 149
7.1.4 小白的最終選擇 150
7.2 下載與安裝LoadRunner 150
7.2.1 下載LoadRunner 150
7.2.2 一步步安裝LoadRunner 151
7.3 LoadRunner輕鬆入門 152
7.3.1 LoadRunner的導航視窗 153
7.3.2 Virtual User Generator虛擬用戶生成器 154
7.3.3 創建VuGen腳本I:錄製過程 156
7.3.4 創建VuGen腳本II:強化腳本 159
7.3.5 創建VuGen腳本III:準備工作負荷 160
7.3.6 創建VuGen腳本IV:完成階段 163
7.3.7 創建VuGen腳本V:利用示例站點錄製一個腳本 163
7.3.8 創建VuGen腳本VI:錄製腳本失敗原因分析與會話 169
7.3.9 創建VuGen腳本VII:利用關聯解決腳本播放失敗 170
7.3.10 創建VuGen腳本VIII:利用其他Web協定進行錄製簡介 174
7.3.11 LoadRunner進行性能測試的簡要步驟 175
7.4 本章小結 176
第8章編寫測試計畫(教學視頻:11分鐘) 177
8.1了解被測試項目的結構 177
8.1.1邏輯結構 178
8.1.2物理結構 179
8.1.3系統結構 179
8.2確認業務的具體流程 180
8.2.1業務流程對性能測試的影響 180
8.2.2了解Web套用的功能模組 181
8.2.3確定用戶經常使用的功能 182
8.2.4用戶登錄部分與驗證碼 182
8.2.5商品展示部分 183
8.2.6用戶訂單部分 183
8.2.7事務與網上支付 183
8.2.8社區內容部分 185
8.2.9後台管理部分 185
8.2.10業務流程中有關性能測試的難點 185
8.2.11業務性能分析文檔 185
8.3確定性能測試的各種標準 186
8.3.1確定性能測試目標 187
8.3.2確定性能測試標準 187
8.3.3常見的Web套用性能測試指標 188
8.3.4性能測試標準範例 188
8.4編寫性能測試計畫 189
8.4.1性能測試人員的組成 189
8.4.2性能測試工具的選擇 189
8.4.3性能測試進度的安排 189
8.4.4性能測試的計畫模板 190
8.5本章小結 191
第9章配置測試環境(教學視頻:20分鐘) 192
9.1為什麼需要測試環境 192
9.1.1準備測試環境的益處 193
9.1.2準備測試環境的原則 194
9.2虛擬化在測試環境中的套用 194
9.2.1什麼是虛擬化 195
9.2.2常見的虛擬化軟體 196
9.2.3虛擬化軟體在軟體測試中的作用 196
9.3VirtualBox虛擬機實戰 196
9.3.1學習安裝VirtualBox 197
9.3.2了解VirtualBox的管理選單 198
9.3.3利用VirtualBox設定虛擬電腦 200
9.3.4安裝VirtualBox中的增強功能 204
9.3.5與宿主電腦已分享檔案 205
9.3.6利用VirtualBox組建網路 206
9.3.7使用VirtualBox中的狀態備份 208
9.3.8使用VirtualBox搭建測試環境 209
9.4本章小結 209
第10章搭建LoadRunner中的場景(教學視頻:48分鐘) 211
10.1創建場景 211
10.1.1使用場景創建設定對話框 212
10.1.2場景的分類 213
10.1.3創建面向目標的場景 213
10.1.4編輯場景目標 214
10.1.5手動場景的設定 216
10.1.6壓力生成器的添加與設定 218
10.1.7用戶組的增加、修改、刪除 220
10.1.8運行時設定(RTS) 221
10.1.9設定場景的詳細信息(Details按鈕) 222
10.2集合點的套用 223
10.2.1集合點的設定步驟 223
10.2.2在腳本中加入集合點 223
10.2.3在場景中配置集合點 225
10.3場景的執行計畫 227
10.3.1熟悉設定場景運行計畫界面 227
10.3.2設定場景開始運行的時間 228
10.3.3設定場景執行的方式 228
10.3.4修改場景操作的具體屬性 229
10.3.5圖形方式設定手動場景的運行計畫 230
10.4控制器的全局設定 231
10.4.1逾時設定(Timeout) 231
10.4.2運行時設定(Run-TimeSettings) 231
10.4.3運行時檔案存儲位置(Run-TimeFileStorage) 232
10.4.4路徑翻譯表(Pathtranslationtable) 232
10.4.5監視器(Monitors) 233
10.5本章小結 234
第11章監控圖表與函式(教學視頻:15分鐘) 235
11.1監控圖表與配置 235
11.1.1監控與圖表 235
11.1.2對運行狀況、交易狀況進行監控 237
11.1.3對系統與網路資源進行監控 239
11.1.4對防火牆、網路伺服器進行監控 241
11.1.5對中間件進行監控 241
11.1.6對資料庫進行監控 243
11.1.7監控圖表的常見操作技巧 244
11.2掌握LoadRunner中的函式 245
11.2.1LoadRunner函式的語法 246
11.2.2在腳本中使用函式 246
11.2.3常見函式列表 247
11.2.4調用LoadRunner函式的方法 248
11.3本章小結 249
第12章性能測試的執行場景(教學視頻:14分鐘) 250
12.1性能測試的執行過程 250
12.1.1執行性能測試 250
12.1.2場景執行時的控制器 251
12.1.3場景執行過程中的狀態信息 252
12.1.4場景執行完畢 254
12.2服務質量協定(SLA) 255
12.2.1添加服務質量協定(SLA) 255
12.2.2選擇時間決定的SLA 256
12.2.3選擇運行決定的SLA 258
12.2.4利用高級按鈕設定時間間隔 260
12.3解讀測試結果 260
12.3.1測試分析概要界面 260
12.3.2統計概要 262
12.3.3場景執行過程信息表 262
12.3.4對事務進行SLA相關分析 263
12.3.5分析SLA 265
12.3.6事務概要 265
12.3.7HTTP回響概要 267
12.4本章小結 270
第13章用LoadRunner分析器來分析結果(教學視頻:26分鐘) 271
13.1LoadRunner中的分析器 271
13.1.1分析器的界面 271
13.1.2在分析器中修改場景屬性 272
13.1.3定義測試報告格式 273
13.1.4使用分析器導出數據 275
13.1.5分析器數據存放位置 275
13.1.6與其他工具軟體協同 276
13.1.7分析器的全局設定(Options) 276
13.2利用圖表分析性能 278
13.2.1添加更多圖表 278
13.2.2虛擬用戶圖(Vuser圖) 279
13.2.3細化圖表數據:過濾/分組 280
13.2.4細化圖表數據:下鑽 282
13.2.5細化圖表數據:取消過濾/分組/下鑽設定 283
13.2.6輔助圖表工具:設定粒度 283
13.2.7圖表輔助工具:顯示游標 285
13.2.8事務圖(Transaction圖) 286
13.2.9平均事務回響時間圖 286
13.2.10利用合併圖進行圖表的聯合分析 290
13.2.11利用交叉結果圖進行多場景的橫向分析 293
13.2.12網路資源圖(WebResources圖) 295
13.2.13網頁調試圖(WebPageDiagnostic圖) 297
13.3本章小結 301
第4篇性能測試提高
第14章分析性能測試結果(教學視頻:17分鐘) 304
14.1性能測試結果的可靠性 304
14.1.1原始數據 305
14.1.2平均值 305
14.1.3中值 306
14.1.4正常值 306
14.1.5標準偏差 307
14.1.6常態分配 309
14.1.7一致分布 309
14.1.8置信度與置信區間 310
14.1.9數據可靠性判斷的規則 310
14.2性能測試結果的分析方法 311
14.2.1判斷影響性能的因素 311
14.2.2隔離與對比 312
14.2.3詳實記錄中間結論 312
14.3性能測試報告的編寫技巧 313
14.3.1什麼是好的性能測試報告 313
14.3.2提交報告的時機 313
14.3.3與測試主管的討論 314
14.3.4有效總結測試數據 314
14.3.5測試報告與圖表的結合 315
14.3.6在Excel中為數據生成圖 315
14.4本章小結 321
第15章其他性能測試工具(教學視頻:17分鐘) 322
15.1更多的性能測試工具 323
15.1.1性能測試工具的分類 323
15.1.2企業級的性能測試工具 323
15.1.3輕量級的測試工具 324
15.2微軟WAS的使用 324
15.2.1WAS的安裝與啟動 324
15.2.2用WAS錄製腳本 325
15.2.3用WAS執行測試 326
15.2.4分析WAS測試結果 328
15.3VisualStudio2008中的性能測試工具 329
15.3.1性能測試的流程 330
15.3.2調用樹與熱路徑 333
15.3.3測試實例 334
15.4本章小結 336
第5篇性能測試實戰
第16章大數據時代Web套用性能測試實例(教學視頻:6分鐘) 338
16.1大數據時代Web套用的背景 338
16.2設計性能測試 339
16.2.1人員與計畫 339
16.2.2準備測試環境 341
16.2.3設計測試場景 343
16.2.4錄製測試腳本 344
16.2.5設定測試監控 348
16.3執行性能測試 349
16.4分析測試結果 350
16.4.1發現伺服器問題 350
16.4.2發現網路問題 352
16.4.3發現軟體代碼問題 353
16.5生成測試報告 353
16.6本章小結 354
第17章Web性能最佳化(教學視頻:4分鐘) 355
17.1代碼的最佳化 355
17.1.1ASP.net頁面的最佳化原則 355
17.1.2節約原則與ViewState 355
17.1.3伺服器控制項的最佳化選擇 357
17.1.4恰當原則與Session 357
17.1.5Page.IsPostBack的運用 358
17.1.6合理使用DataGrid控制項 358
17.1.7合理進行字元串操作 359
17.1.8緩衝原則 359
17.1.9CLRProfiler的安裝與基本操作 361
17.1.10CLRProfiler分析記憶體分配問題 365
17.2利用伺服器配置進行最佳化 367
17.2.1啟用IIS壓縮 367
17.2.2IIS壓縮比的選擇 370
17.2.3IIS7壓縮的進一步完善 371
17.2.4其他IIS性能最佳化措施 372
17.3資料庫的最佳化 374
17.3.1查詢語句的最佳化 375
17.3.2查看SQL語句執行計畫與資料庫當前事件 377
17.3.3提高存儲過程與自定義函式性能 379
17.3.4資料庫的硬體配置最佳化 380
17.4結束語 384
附錄A主要性能測試工具下載網址 385
附錄B部分性能測試網站列表 387