●部分 基礎篇
章 軟件性能測試的基本概念/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
0章 案例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
第三部分 工具篇
1章 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
2章 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
3章 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
內容簡介
段念編著的《軟件性能測試過程詳解與案例剖析(第2版)》不僅僅是一本講述軟件性能測試基礎知識的書,也不是一本工具的使用手冊,當然更不是一本入門類的書籍。本書面向具有一定測試基礎,期望能夠通過實際案例去感受和領悟性能測試的測試工程師。書中包含了作者多年在性能測試方面的經驗總結,其中精選的案例覆蓋多種架構和平臺,涉及多個行業,可對實際工作起到直接的指導作用,同時,本書包含了所有會在性能測試中使用的模板,稍加修改即可應用在實際項目中。 《軟件性能測試過程詳解與案例剖析(第2版)》可以作為軟件測試人員、軟件項目經理和需要了解軟件性能測試的各級軟件管理人員的參考手冊,也可作為高校軟件性能測試課程的輔助教材。