目 錄
第一部分 基礎篇
第1章 軟件性能測試的基本概念 2
1.1 什麼是軟件性能 2
1.1.1 用戶視角的軟件性能 2
1.1.2 管理員視角的軟件性能 3
1.1.3 開發視角的軟件性能 4
1.1.4 Web前端性能 5
1.1.5 總結 6
1.2 軟件性能的幾個主要術語 6
1.2.1 響應時間 7
1.2.2 並發用戶數 9
1.2.3 吞吐量 14
1.2.4 性能計數器 16
1.2.5 思考時間 17
1.3 軟件性能測試方法論 18
1.3.1 SEI負載測試計劃過程 18
1.3.2 RBI方法 19
1.3.3 性能下降麯綫分析法 20
1.3.4 LoadRunner的性能測試過程 21
1.3.5 Segue提供的性能測試過程 22
1.3.6 敏捷性能測試 22
1.3.7 本書提供的性能測試模型 26
1.4 本章小結 27
第2章 性能測試的應用領域 28
2.1 性能測試的方法 28
2.1.1 驗收性能測試 29
2.1.2 負載測試 30
2.1.3 壓力測試 31
2.1.4 配置測試 31
2.1.5 並發測試 32
2.1.6 可靠性測試 33
2.1.7 失效恢復測試 34
2.2 性能測試應用領域分析 35
2.2.1 能力驗證 36
2.2.2 規劃能力 36
2.2.3 性能調優 37
2.2.4 缺陷發現 40
2.2.5 性能基準比較 41
2.2.6 總結 42
2.3 本章小結 42
第3章 性能計數器及性能分析方法 44
3.1 操作係統計數器及分析 44
3.1.1 Windows操作係統的主要計數器 44
3.1.2 UNIX/Linux操作係統的主要計數器 48
3.1.3 內存分析方法 50
3.1.4 處理器分析方法 52
3.1.5 磁盤I/O分析方法 52
3.1.6 進程分析方法 53
3.1.7 網絡分析方法 54
3.2 應用服務器計數器 55
3.2.1 IIS應用服務器計數器 55
3.2.2 J2EE應用服務器計數器 56
3.3 數據庫服務器計數器 58
3.4 本章小結 59
第4章 性能測試工具原理 60
4.1 服務端性能測試工具架構 62
4.2 前端性能測試工具原理 65
4.3 選擇服務端性能測試腳本使用的協議 66
4.4 性能測試工具的選擇與評估 69
4.4.1 創建和購買的選擇 69
4.4.2 測試工具的評估和選擇過程 71
4.5 本章小結 75
第5章 性能測試的組織 76
5.1 性能測試團隊的人員構成 76
5.2 性能測試過程模型(PTGM) 78
5.2.1 測試前期準備階段 79
5.2.2 測試工具引入階段 81
5.2.3 測試計劃階段 82
5.2.4 測試設計與開發階段 85
5.2.5 測試執行與管理 89
5.2.6 測試分析 91
5.3 敏捷性能測試模型(APTM) 92
5.3.1 APTM的檢查錶 93
5.3.2 APTM中的活動 94
5.3.3 環境與工具 96
5.4 本章小結 99
第6章 Web前端性能 100
6.1 前端性能示例 101
6.2 HTTP概要 104
6.2.1 HTTP協議結構 105
6.2.2 典型的HTTP請求與響應分析 106
6.2.3 與前端性能相關的頭信息 108
6.3 瀏覽器打開URL的方式 113
6.3.1 連接到URL所在服務器 113
6.3.2 獲取頁麵對應的HTML文檔 113
6.3.3 解析文檔並獲取所需要的資源 114
6.3.4 頁麵上的JS文件與CSS文件 114
6.3.5 onload事件 117
6.4 提高前端性能的方法 117
6.4.1 減少網絡時間 118
6.4.2 減少發送的請求數量 119
6.4.3 提高瀏覽器下載的並發度 120
6.4.4 讓頁麵盡早開始顯示 121
6.4.5 其他 122
6.5 單機前端性能工具 122
6.5.1 Firebug工具 122
6.5.2 HttpWatch工具 125
6.5.3 Chrome自帶的開發工具 127
6.5.4 Page Speed工具 128
6.5.5 DynaTrace AJAX Edition工具 129
6.5.6 單機前端性能測試工具小結 131
6.6 監控用戶體驗到的前端性能 131
6.6.1 在頁麵上增加計時點 132
6.6.2 使用JavaScript庫簡化計時點工作 134
6.6.3 將計時信息發送給服務器 138
6.7 本章小結 142
第二部分 實踐篇
第7章 案例1 某製造型企業信息化項目的性能測試 144
7.1 項目背景 144
7.2 項目特點 144
7.3 性能測試過程 145
7.3.1 測試前期準備 145
7.3.2 測試工具引入 146
7.3.3 測試計劃 146
7.3.4 測試設計與開發 148
7.3.5 測試執行與管理 154
7.3.6 測試分析 156
7.4 案例小結 161
第8章 案例2 某省電信公司業務係統的性能測試 162
8.1 項目背景 162
8.2 項目特點 162
8.3 性能測試過程 164
8.3.1 測試前期準備 164
8.3.2 測試工具引入 165
8.3.3 測試計劃 167
8.3.4 測試設計與開發 174
8.3.5 測試執行與管理 183
8.3.6 測試分析 184
8.4 案例小結 192
第9章 案例3 某通信企業Web業務係統的性能測試 193
9.1 項目背景 193
9.2 項目特點 193
9.3 性能測試過程 194
9.3.1 測試前期準備 194
9.3.2 測試工具引入 195
9.3.3 測試計劃 195
9.3.4 測試設計與開發 199
9.3.5 測試執行與管理 217
9.3.6 測試分析 222
9.4 案例小結 231
第10章 案例4 某集成商的性能選型測試 233
10.1 項目背景 233
10.2 項目特點 233
10.3 性能測試過程 234
10.3.1 測試前期準備 234
10.3.2 測試工具引入 235
10.3.3 測試計劃 235
10.3.4 測試設計與開發 237
10.3.5 測試執行與管理 239
10.3.6 測試分析 241
10.4 案例小結 247
第三部分 工具篇
第11章 LoadRunner快速入門手冊 250
11.1 LoadRunner的性能測試流程 250
11.2 LoadRunner腳本開發 252
11.2.1 基本錄製 252
11.2.2 修正測試腳本 256
11.2.3 Run-Time Setting 260
11.2.4 單機運行測試腳本 263
11.3 Tools(工具)菜單 264
11.4 LoadRunner 場景設置 265
11.4.1 Manual Scenario 266
11.4.2 Manual Scenario with Percentage Mode 271
11.4.3 Goal-Oriented Scenario 271
11.4.4 啓用IP Spoofer(IP 欺騙) 273
11.5 LoadRunner場景監視設置 274
11.5.1 Windows Resources 275
11.5.2 IIS 服務器 276
11.5.3 UNIX/Linux Resources 276
11.5.4 WebLogic Server 277
11.5.5 Apache Server 277
11.5.6 數據庫服務器 279
11.6 LoadRunner的Analysis應用 279
11.6.1 基本操作 280
11.6.2 圖錶的歸並(Merge)操作 284
11.6.3 圖錶的自動關聯(Auto Correlate)操作 287
11.6.4 性能測試結果比較 288
第12章 LoadRunner高級使用技巧 289
12.1 參數化技巧 289
12.1.1 LoadRunner的參數化操作 291
12.1.2 不同類型的參數 293
12.2 關聯技巧 297
12.2.1 LoadRunner中的主要關聯函數 299
12.2.2 LoadRunner的自動關聯操作 300
12.2.3 LoadRunner的手工關聯操作 302
12.3 調試技巧 303
12.3.1 斷點 303
12.3.2 單步跟蹤 304
12.3.3 Log輸齣 305
12.3.4 使用對話框輸齣 306
12.3.5 以TreeView模式查看返迴數據 307
12.4 其他技巧 308
12.4.1 設置域登錄的用戶名和口令 308
12.4.2 檢查返迴數據的正確性 309
12.4.3 調用外部函數 310
第13章 JMeter應用手冊 313
13.1 JMeter入門 313
13.1.1 JMeter基礎概念 314
13.1.2 建立第一個簡單的JMeter Test Plan 316
13.2 用JMeter測試一個進銷存應用 332
13.2.1 被測應用介紹 332
13.2.2 錄製測試計劃 334
13.2.3 調試Test Plan 338
13.2.4 關聯Test Plan中的Sampler 343
13.2.5 參數化Test Plan 349
13.2.6 HTTP屬性管理器 358
13.2.7 為Test Plan增加邏輯控製 363
13.2.8 使用Timer讓Test Plan更準確地模擬用戶行為 371
13.3 擴展JMeter 371
13.3.1 使用BeanShell類組件 372
13.3.2 基於Java Request Sampler定製Sampler的行為 375
13.4 JMeter的分布式測試功能 378
附錄A 部分有價值的腳本和數據處理技巧 380
A.1 在UNIX平颱上寫日誌的Perl腳本 380
A.2 在UNIX平颱上記錄單個進程內存使用的Perl腳本 392
A.3 用於模擬發送數據的Socket進程 (Perl適用於UNIX和
Windows平颱) 399
A.3.1 用於實現Socket監聽和發送的主代碼 399
A.3.2 用於發送數據的代碼 401
A.4 用Excel處理規則的記錄數據 402
附錄B 性能測試過程中使用的模闆 406
B.1 性能測試團隊成員職責技能描述錶 406
B.2 性能測試工具需求規劃錶 407
B.3 性能測試環境調查錶 407
B.4 典型業務列錶 408
B.5 業務用例描述 408
B.6 場景列錶 409
B.7 測試計劃 410
B.8 測試環境檢查錶(CheckList) 410
B.9 測試執行記錄日誌 411
B.10 性能測試分析報告 411
參考文獻 413
·XVI·
軟件性能測試過程詳解與案例剖析(第二版)
·XV·
目 錄
· · · · · · (
收起)