Web性能測試實戰詳解

《Web性能測試實戰詳解》是2013年清華大學出版社出版的圖書,作者是施迎。

內容簡介

本書主要講解了大數據背景下的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

相關詞條

熱門詞條

聯絡我們