基本信息
作者: 柳勝 [作譯者介紹]
叢書名: 測試實踐叢書
出版社:電子工業出版社
ISBN:9787121127328
上架時間:2011-2-18
出版日期:2011 年3月
開本:16開
頁碼:349
版次:1-1
內容簡介
LoadRunner是一個內涵豐富、功能強大的性能測試工具,這是許多專業人士選擇它的原因。初學者面對許多的性能測試概念和loadrunner專業術語,常常感到無所適從,這是因為loadrunner作為軟體性能測試的實現者,涉及了軟體測試及軟體體系架構眾多方面的知識。可以說,學習loadrunner是理解和學習軟體性能測試的非常好的切入點。
本書作為loadrunner的入門教材,其宗旨是將性能測試的要點、loadrunner術語一一羅列並分析,並通過對loadrunner的介紹,深入淺出地把這些概念和知識點展現給讀者。通過學習本書,可以學會使用loadrunner做性能測試。第1~7章,奠定性能測試和loadrunner的理論基礎,其中第4章講述了loadrunner腳本語言基礎。第8~10章,通過實際案例來活學活用,總結和提取最佳性能測試實踐,並介紹loadrunner的使用技巧。第11章是性能量化分析模型,能夠指導用戶在性能測試過程中從定性到定量分析的轉變。第12章對當前最前沿的性能測試框架做了一個前瞻分析,為有志於在性能測試領域深造的朋友提供參考思路。
本書可作為剛進入性能測試領域的測試工程師的入門參考書,對已經有一定工作經驗的朋友來說,也是一本整理思路、融會貫通的總結筆記。
目錄
第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