第1章 軟件性能測試 1
1.1 什麼是軟件的性能 1
1.1.1 軟件 1
1.1.2 軟件性能的産生 4
1.1.3 功能與性能的關係 4
1.1.4 用戶眼裏的軟件性能 6
1.1.5 軟件人員眼裏的軟件性能 12
1.2 軟件性能測試 16
1.2.1 性能測試在軟件測試的周期位置 16
1.2.2 性能測試策略揭秘 20
1.3 如何做性能測試 23
1.3.1 goal(定義目標) 26
1.3.2 analysis(分析) 28
1.3.3 metrics(度量) 29
1.3.4 execution(執行) 30
1.3.5 adjust(調整) 31
1.4 性能測試工具的評估和選擇 32
1.4.1 測試預算vs工具價格 33
1.4.2 協議、開發技術、平颱、中間件vs工具的支持 33
1.4.3 工具可使用的復雜程度vs項目計劃的影響 34
.第2章 第一次親密接觸loadrunner 35
2.1 從性能測試到loadrunner的映射 35
2.2 loadrunner工作原理 38
2.3 安裝loadrunner 41
2.4 揭開license的神秘麵紗 42
第3章 走近loadrunner 44
3.1 loadrunner的運行原理 45
3.1.1 loadrunner三大高手 45
3.1.2 三大高手聯手的一場性能測試盛大演齣 48
3.2 loadrunner的錄製原理 50
3.2.1 網絡協議與loadrunner的vuser 50
3.2.2 選擇loadrunner protocol的兩大定律 55
3.2.3 loadrunner錄製技術 56
第4章 loadrunner腳本語言基礎 62
4.1 c語言與loadrunner腳本 66
4.1.1 看不見的main 67
4.1.2 全局變量與局部變量 71
4.1.3 在loadrunner腳本裏靈活使用c語言 74
4.1.4 高級——用戶自定義函數 78
4.2 通用vu函數 81
4.2.1 事務和事務控製函數 82
4.2.2 命令行分析函數 83
4.2.3 係統信息函數 83
4.2.4 字符串函數 83
4.2.5 消息函數 84
4.2.6 運行時(run-time)函數 84
4.3 協議相關函數 85
4.3.1 http協議原理 85
4.3.2 http在loadrunner的實現 86
第5章 vu——用戶行為的模擬器 89
5.1 圖靈試驗與loadrunner vu模擬奧秘 90
5.1.1 圖靈試驗場景 90
5.1.2 loadrunner模擬揭秘 91
5.2 錄製腳本 94
5.2.1 選擇協議 94
5.2.2 規劃腳本結構 96
5.2.3 http vuser中的url mode和html mode 96
5.2.4 查看日誌 99
5.3 迴放腳本 101
5.4 關聯 102
5.4.1 錄製前correlation(關聯) 103
5.4.2 錄製後關聯 106
5.4.3 手動關聯 109
5.5 腳本視圖和樹視圖 113
5.5.1 樹視圖(tree view) 113
5.5.2 腳本視圖(script view) 114
5.5.3 理解snapshot 115
5.6 事務、同步點和思考時間 115
5.6.1 transaction(事務) 115
5.6.2 rendezvous point(同步點) 118
5.6.3 注釋 119
5.6.4 think time(思考時間) 119
5.7 數據驅動——參數化(parameters) 121
5.7.1 為什麼需要參數化 121
5.7.2 參數的創建 123
5.7.3 定義參數的屬性 130
5.7.4 高級——從已存在的數據庫中導入參數數據 136
5.8 檢查點(check point) 142
5.8.1 為什麼需要檢查點 142
5.8.2 檢查點實施之一:contentcheck定義 144
5.8.3 檢查點實施之二:檢查函數 144
5.8.4 檢查點設置技巧 147
5.9 高級——多action 147
5.10 高級——腳本錯誤處理機製 150
5.11 高級——腳本調試技巧 152
5.11.1 動態運行(animated run)與非動態運行(non-animated run) 152
5.11.2 日誌設置 153
5.12 高級——編寫腳本的最佳實踐 156
5.13 vu腳本運行成功後 157
第6章 controller——性能測試的指揮中心 158
6.1 得到細化後的性能需求 159
6.2 設計性能測試場景 162
6.2.1 創建手工場景 164
6.2.2 百分比模式創建手工場景 173
6.2.3 創建麵嚮目標場景 174
6.2.4 多ip的實現原理以及模擬 180
6.3 運行場景 183
6.3.1 場景控製 183
6.3.2 執行期間查看場景 191
6.3.3 監視場景 196
6.3.4 高級——用戶自定義數據采集點 201
6.3.5 主要的計數器 203
6.3.6 實例——分析實時監視圖錶 211
6.4 場景運行後 213
6.5 高級——如何閤理規劃性能測試拓撲 213
6.5.1 選擇最優的測試機配置 215
6.5.2 客戶端cpu瓶頸估算 216
6.5.3 客戶端網絡瓶頸估算 217
6.5.4 客戶端內存瓶頸估算 219
6.5.5 總評估 221
第7章 analysis——尋找係統瓶頸的得力助手 222
7.1 analysis報告概要(summary) 223
7.1.1 概要部分 223
7.1.2 統計部分 224
7.1.3 事務統計 225
7.1.4 http響應統計 227
7.2 analysis標準圖 227
7.2.1 vuser圖 227
7.2.2 事務圖 228
7.2.3 網頁細分圖 230
7.3 交叉結果和閤並圖 233
7.3.1 疊加 235
7.3.2 平鋪 236
7.3.3 關聯 236
7.4 生成測試報告 237
7.4.1 創建html格式報告 237
7.4.2 創建word格式報告 238
7.4.3 高級——數據點報告 239
第8章 欲善其事先利其器——vu腳本開發實戰 240
8.1 郵件服務smtp/imap協議介紹 241
8.1.1 電子郵件的工作原理 241
8.1.2 smtp協議介紹 241
8.1.3 pop3協議介紹 243
8.1.4 imap協議介紹 244
8.2 vu的smtp vuser對smtp協議的封裝及實現 244
8.2.1 使用smtp vuser錄製outlook 2003發送郵件 247
8.2.2 對smtp vuser錄製生成的腳本進行分析 251
8.2.3 迴放smtp vuser腳本並分析網絡日誌 253
8.3 vu java vuser自開發smtp程序 255
8.3.1 vu創建java模闆虛擬用戶 255
8.3.2 設置java環境 257
8.3.3 在java vuser中開發smtp發送mail腳本 258
8.3.4 參數化增強腳本 260
第9章 學以緻用——一步一步做web係統性能測試 264
9.1 軟件係統背景及架構設計介紹 264
9.2 性能要求和性能指標分析(goal階段) 267
9.2.1 性能指標 267
9.2.2 業務模型分析和需求細化 268
9.3 性能測試方案和用例設計(analysis階段) 268
9.4 性能測試各種度量的建立(metrics階段) 273
9.4.1 性能腳本的生成 273
9.4.2 定義用戶行為 274
9.4.3 場景的設置與運行 274
9.4.4 計數器的設置與性能數據收集 276
9.5 運行場景,得到測試結果和相關數據(execution階段) 277
9.5.1 腳本的開發 277
9.5.2 數據的生成 278
9.5.3 並發登錄測試 279
9.5.4 負載測試 279
9.6 分析測試瓶頸(adjust階段) 280
9.6.1 並發測試結果分析 280
9.6.2 交易流程測試結果分析及性能評價 281
9.6.3 查詢流程測試結果分析 281
第10章 循序漸進——進階loadrunner高手 282
10.1 性能測試用例的設計策略 282
10.1.1 “普遍撒網,重點查看”的原則 282
10.1.2 保證數據的有效性 284
10.2 loadrunner高級功能的使用——web click vuser 286
10.2.1 web click vuser的産生背景 286
10.2.2 web click vuser與傳統vuser的差彆 286
10.2.3 使用web click vuser 286
第11章 定量分析及診斷——建立性能度量模型 291
11.1 實現性能度量的準備工作 292
11.1.1 性能度量 292
11.1.2 度量方式 294
11.2 案例實踐——性能測試第一階段ajax頁麵基準性能分析 298
11.2.1 頁麵基準分析目標 298
11.2.2 分析所使用的工具 299
11.2.3 術語揭示 299
11.2.4 基準測試案例設計及運行 300
11.2.5 結果分析 305
11.2.6 優化建議 306
11.2.7 預測 306
11.3 案例實踐:性能測試第二階段ajax係統負載測試 307
11.3.1 本輪測試目的 307
11.3.2 測試場景規劃 307
11.3.3 負載測試案例分析 309
11.3.4 性能結果量化分析 312
11.4 總結 315
第12章 測試也開發——自開發性能測試框架 316
12.1 性能測試框架架構設計 317
12.1.1 技術考慮的準備 317
12.1.2 automation center性能測試框架設計實例 319
12.1.3 定義xml格式的性能測試任務文件 325
12.1.4 automation center性能測試調度運行 329
12.1.5 性能測試報告診斷係統 330
12.2 核心技術及具體實現方法 332
12.2.1 性能測試數據源格式定義 332
12.2.2 測試程序與性能測試框架的接口實現 336
12.2.3 測試任務剋隆技術 339
12.2.4 多任務通信技術 340
12.2.5 observer性能監控技術 341
12.2.6 基於xsl技術的性能測試報告構建 344
12.3 總結 346
附錄a 有關loadrunner的常見問題解答 347
· · · · · · (
收起)