LoadRunner性能測試完全講義(第二版)
-
【作 者】黃文高 編著
【I S B N 】978-7-5170-1444-7
【責任編輯】張玉玲
【適用讀者群】科技
【出版時間】2014-02-25
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】372
【千字數】540
【印 張】23.25
【定 價】¥48
【叢 書】暫無分類
【備注信息】贈1DVD
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書主要介紹如何使用LoadRunner進行性能測試工作。主要分三大部分:入門篇、提高篇和實戰篇。入門篇主要講述性能測試的基礎知識,對LoadRunnner進行了一個簡單的介紹,讓讀者朋友從整體上了解LoadRunner,并對LoadRunner有一個簡單的認識。提高篇重點講述了性能測試工具LoadRunner三大組件的使用技巧,以及測試過程中需要注意的細節,并對性能測試流程進行了詳細的介紹,目的是希望讀者朋友更好地了解性能測試流程;實戰篇通過兩個案例來介紹性能測試的整個過程,兩個案例分別為C/S架構和B/S架構。
本書適合初級、中級、高級性能測試工程師、資深測試工程師、測試經理、測試總監使用。
附價值1800元的真實測試培訓課程視頻光盤
全程實戰,帶領您遨游于性能測試的世界,體會性能測試的全過程
一線測試專家黃文高與您一起深入剖析LoadRunner,悟道性能測試
前 言
性能——過去那些讓人深刻的記憶
關于軟件的性能,有足夠多的公眾案例來說明,從2008年的北京奧運會官方訂票系統到12306網站,不是崩潰就是讓你無法訂票。而一個偌大的中國,申請了幾十年的奧運會,好不容易2008年申請成功了,結果訂票系統不給力,一上線就崩潰,做IT工作的人甚至把這件事視為中國IT界的“國恥”。當然12306有點進步,最起碼沒有崩潰,只是讓你訂不了票,每次訂票的人比較多時,該系統無不例外的提示“當前訪問用戶過多,請稍后重試!”,更讓客戶不爽的是,每次訂票系統出問題后,官方還出來解釋說當前系統所承受的壓力有多少,還使用了一串的專業術語進行解釋。從這兩件公眾事件中不難看出,現今的軟件質量體系中軟件性能的重要性,而軟件的性能必須依賴性能測試來驗證,所以性能測試將會在未來的軟件測試體系中占據越來越重要的地位,也會越來越受到企業的重視。
性能測試未來的發展
在介紹性能測試未來發展之前,必須先分析性能測試目前在國內的發展狀態,目前在國內很少公司有專業的性能測試團隊,絕大部分公司的性能測試由手工測試工程師完成,這樣測試出來的結果其實很難保證其準確性,包括銀行(如平安銀行、招商銀行、深圳發展銀行等)、華為等一些大型公司都沒有專業的性能測試團隊。而國外在10年前就有專業的性能測試團隊了所以從行業發展的角度來說,未來性能測試的發展前景是不容置疑的。
而從技能的角度來說,目前國內招聘信息中只要求會使用性能測試工具LoadRunner即可,但僅僅了解這些顯然是不夠的,未來不單要熟悉性能測試工具的使用,還應該熟悉性能測試的過程,即從需求分析到性能測試結果分析都應該很熟悉,并且在性能調優方面的要求會越來越高,即性能測試工程師不僅僅要能測試出結果,還應該提出改善建議。
你離性能測試工程師還有多遠?
很多人問過我關于如何成為一名性能測試工程師的問題,其實這個問題不單單是初學者遇到的問題,很多已入門的性能測試工程師也會有同樣的問題。在此給各位讀者分享一點自己的看法。
成為性能測試工程師到底有多遠呢?主要需要克服以下兩個方面:
1)目標缺失
其實很多軟件測試工程師的同行們并沒有一個明確的職業規劃,做了很多年的黑盒測試,沒想過要成為一名專業的性能測試工程師,還有一些朋友是想成為一名優秀的性能測試工程師,也把這個目標當做自己未來發展的目標,但可惜的是他們并沒有為這個目標做一個詳細的規劃時間表,即規劃不能被很好地度量,如果目標不能被很好地度量,要實現起來自然就變得很困難了。很多朋友也不知道要成為一名優秀的性能測試工程師應該學哪些內容,應該具備哪些方面的能力,所以一年一年的過去了,感覺自己離真正的、優秀的性能測試工程師還是那么遙遠。
2)三分鐘熱度
目標是行動的源動力,沒有目標就會失去方向。當目標制定好之后,即當詳細的職業規劃完成后,接下來需要做的事就是堅持,堅持每天去做同一件事,而現在大多數人很浮躁,堅持不了幾天就放棄了,這就是我們平時說的“三分鐘熱度”。過了這“三分鐘”什么目標就拋在腦后了,因為堅持每天去做同一件事是很痛苦的,必須將心態平靜下來,去除那些不好的心態的影響,這樣才能每天堅持去做。最常見的不好的心態有兩種:極其高興和極度不爽,心情很好也無法按計劃工作,心態很糟糕也無法按計劃工作,所以我們需要盡量保持每天都以一個平靜的心態去工作,這能才能按時完成計劃,千萬不要“三分鐘熱度”,否則目標再完美也無法成功。
第二版帶來哪些改變
在第二版的升級過程中主要對以下幾個方面的內容進行了修改:
1)案例使用
相對于第一版,第二版使用更多的案例去描述一些概念或函數的使用,并且選擇的案例更為典型,盡量使用生活中的案例來描述,這樣幫助讀者朋友更好地理解本書的內容。
2)內容細化
相對于第一版,第二版的內容對知識點和知識結構進行了更詳細的細化,這樣可以更好地幫助讀者學習性能測試,如關聯函數的使用、事務與檢查點的關系等,都在第二版中得到詳細的細化。
3)性能測試流程
在第二版中添加了性能測試流程的介紹,因為很多讀者朋友可能會存在這樣的問題,學好了性能測試工具LoadRunner后,似乎對性能測試很熟悉了,但在實際的性能測試過程中會發現,總感覺不知道如何來確定性能測試應該達到的目標以及如何開展性能測試,所以在第二版中對該部分的內容進行了詳細的介紹。
筆者關于學習的建議
筆者在做企業內訓與企業的學員朋友交流時,發現一個現象,假設今天買了一本性能測試的書,該書一共500頁,計劃花三個月閱讀完本書,但令人意外的是只有極少部分的人真的按時在三個月內看完,這個極少部分的人應該不到8%,甚至還低于這個比例,有的人甚至花了一兩年的時間都沒有看完這本書。不知道各位讀者朋友有沒有遇到這種情況,如果讀者朋友也遇到這種情況,那么建議你們要改進一下看書的方法,否則書永遠無法按時看完。一本書未按計劃看完,本來是一件小事,但筆者認為這是一件大事,因為如果一個人連花三個月看完一本書這樣一個小計劃都無法按時完成,那你還相信自己有能力完成更困難的事情嗎?那你還有自信心做自己未來20甚至30年的計劃嗎?我想這是一件很難的事。所以筆者建議不如用以下方法來試一下,改進一下看書的效果。
首先:細化看書的時間。很多讀者只是定義了三個月看完一本書,但并沒有更具體的時間安排,這樣導致計劃不容易控制,簡單來說就是計劃無法更好地度量,而這恰恰是我們國人做得不好的地方,仔細看國外人的做事方式,他們都有一種習慣,喜歡用時間來度量工作,并且可以很精確地被度量。所以接下來我們應該做一個更細致的時間安排,三個月一共90天,500頁的書要三個月看完,那么一天需要看大概5.6頁的書。當然有讀者朋友會說,前面的內容相對會簡單,這樣看的顯然會快很多,所以需要注意控制風險,因為后面的書可能內容比較難些,可能一天都看不到一頁,所以前期簡單點,應該盡量多看一些內容,這樣才能更好地控制風險。
其次:堅持每天看書。確定每天看5.6頁書,其實不難,但難的是堅持每天都看這么多內容,其實很多讀者之所以不能按時完成計劃是沒有堅持到最后。筆者認為堅持看書其實是控制情緒的一個過程,通常兩種情緒下很難看書,一是:很開心;二是:很不開心;很開心也很難看書,讀者朋友可能不太理解,其實不難理解,想想如果很開心時,人就會很興奮,這樣就無法平靜下來看書;很不開心無法看書就很好理解了,心情極度的不爽無法靜下心來看書,太正常不過了。所以歸納起來,發現只有在平常心的情況下才能真的靜下心來看書,所以需要盡量讓自己每天正常情緒的時間長點,這樣看書的效果就好很多。并且筆者強調今天是什么心情都應該看書,也許今天心情不好,看書的效果不佳,但是否嘗試打開書努力去看與根本不看,這是有本質區別的,區別在于如果嘗試靜下心來去看書,這個過程是在調節心態,也許今天一點內容都沒有看,但是為明天更好的看書做鋪墊,所以筆者強調不管什么狀態下的心情都應該每天堅持去看書。
做好上面兩點,筆者認為計劃可以按時完成,否則不太可能按計劃完成。
關于本書
本書結構清晰,內容安排由淺入深,對初學者來說可以很輕松的入門,并且在描述概念的過程盡量使用生活中的案例,便于讀者朋友對相關內容的理解。書中還詳細地描述了性能測試的流程,以期最大限度地幫助到那些有性能測試經驗的讀者朋友。本書主要包括三大部分內容:入門篇、提高篇和實戰篇,本書的具體章節結構如下圖所示。
致謝
經過半年的努力,第二版的書稿終于完成,在這里我要感謝那些曾經幫助、支持和鼓勵過我的朋友。
感謝中國水利水電出版社周春元編輯的幫助。
感謝家人對我的支持與鼓勵。
由于筆者水平有限,很多內容是自己的經驗總結,出現錯誤在所難免,歡迎廣大讀者批評指正。讀者在閱讀本書的過程中如有任何不清楚的問題和批評建議,可以發郵件到arivnhuang@163.com,作者將盡力給您答疑解惑。
最后,感謝您購買此書,希望您在本書中能夠找到那些正在困擾著您的問題的答案。祝大家閱讀愉快。
黃文高
2013年8月
第一部分 入門篇
第1章 性能測試基礎知識 2
1.1 軟件性能 2
1.2 性能測試相關術語 4
1.2.1 響應時間 4
1.2.2 并發用戶數 4
1.2.3 吞吐量 5
1.2.4 吞吐率 7
1.2.5 TPS 7
1.2.6 點擊率 7
1.2.7 資源利用率 7
1.2.8 性能計數器 7
1.2.9 思考時間 8
1.3 性能測試劃分 9
1.3.1 負載測試 9
1.3.2 壓力測試 9
1.3.3 配置測試 10
1.3.4 并發測試 10
1.3.5 可靠性測試 10
1.3.6 基準測試 10
1.3.7 各類測試執行階段 11
1.4 性能測試應用領域 11
1.4.1 能力驗證 11
1.4.2 規劃能力 12
1.4.3 性能調優 12
1.4.4 缺陷發現 12
1.5 小結 13
第2章 LoadRunner基礎知識 14
2.1 LoadRunner簡介 14
2.2 LoadRunner工作原理 16
2.3 LoadRunner工作過程 17
2.4 LoadRunner內部結構 18
2.5 LoadRunner 11.5特性 20
2.6 LoadRunner性能測試步驟 21
2.7 小結 24
第3章 Vuser發生器 25
3.1 腳本錄制 25
3.1.1 如何選擇協議 26
3.1.2 開始錄制腳本 30
3.2 Recording Options設置 33
3.2.1 Recording選項卡 34
3.2.2 Advanced選項卡 43
3.2.3 Correlations選項卡 44
3.3 Run-Time Settings 47
3.3.1 Run Logic選項卡 48
3.3.2 Pacing選項卡 48
3.3.3 Think Time選項卡 50
3.3.4 Miscellaneous選項卡 52
3.3.5 Log選項卡 54
3.4 腳本完善 55
3.4.1 插入事務 55
3.4.2 插入集合點 60
3.4.3 插入注釋 61
3.5 小結 62
第4章 Controller控制器 63
4.1 場景類型介紹 63
4.1.1 手動測試場景 64
4.1.2 面向目標測試場景 66
4.2 場景設計 66
4.2.1 手動場景Schedule配置 66
4.2.2 面向目標場景Schedule配置 72
4.2.3 配置View Script 77
4.2.4 配置Load Generator 78
4.3 場景執行 80
4.3.1 場景控制 80
4.3.2 場景執行期間查看場景 85
4.4 場景監視 90
4.4.1 關于聯機監控 90
4.4.2 監控器與度量 94
4.4.3 聯機監控器 97
4.5 小結 100
第5章 Analysis分析器 101
5.1 Analysis簡介 101
5.1.1 Analysis基礎知識 101
5.1.2 設置選項 103
5.1.3 Analysis圖 107
5.2 摘要報告 109
5.2.1 概要部分 109
5.2.2 統計部分 110
5.2.3 事務統計部分 110
5.2.4 SLA分析 112
5.2.5 HTTP響應統計 119
5.3 Analysis常見圖分析 122
5.3.1 Vuser圖 122
5.3.2 點擊率圖 123
5.3.3 平均事務響應時間圖 124
5.3.4 吞吐量圖 125
5.4 Analysis報告 126
5.4.1 HTML報告 126
5.4.2 SLA報告 127
5.4.3 自定義報告 128
5.4.4 使用報告模板定義報告 130
5.5 小結 130
第二部分 提高篇
第6章 腳本編寫 132
6.1 檢查點 132
6.1.1 為什么需要插入檢查點 133
6.1.2 插入檢查點 136
6.1.3 檢查點函數 139
6.1.4 通過檢查點判斷事務結束狀態 141
6.2 Block(塊)技術 144
6.3 參數化技術 148
6.3.1 哪些情況參數化 148
6.3.2 創建參數 149
6.3.3 參數類型屬性 151
6.3.4 數據文件 155
6.3.5 導入數據 161
6.4 關聯技術 164
6.4.1 關聯的原理 165
6.4.2 錄制中關聯 167
6.4.3 錄制后關聯 169
6.4.4 手動關聯 171
6.4.5 關聯函數介紹 174
6.4.6 關聯技術的經典使用 179
6.4.7 關聯與參數化的區別 183
6.5 異步技術 184
6.5.1 同步與異步的區別 184
6.5.2 異步通信方式 184
6.5.3 如何創建異步腳本 186
6.5.4 異步函數 191
6.6 小結 196
第7章 場景設計實踐 197
7.1 集合點 197
7.1.1 集合點設置 197
7.1.2 集合點與事務的關系 200
7.2 IP欺騙技術 202
7.2.1 IP Spoofer設置 202
7.2.2 Controller中啟動IP Spoofer 205
7.3 負載均衡技術 207
7.4 RTS設置 210
7.5 執行路徑轉換 210
7.5.1 路徑轉換介紹 210
7.5.2 編輯路徑轉換表 211
7.6 在LoadRunner中使用功能測試腳本 213
7.6.1 QuickTest創建GUI Vuser腳本 213
7.6.2 WinRunner創建GUI Vuser腳本 215
7.6.3 場景中使用GUI Vuser腳本 215
7.7 小結 216
第8章 結果分析實踐 217
8.1 分析圖合并 217
8.1.1 分析圖合并原理 217
8.1.2 實例講解 219
8.2 分析圖關聯 221
8.2.1 分析圖關聯原理 221
8.2.2 實例講解 223
8.3 頁面細分 225
8.3.1 頁面細分原理 225
8.3.2 實例講解 228
8.4 鉆取技術 230
8.4.1 鉆取技術原理 230
8.4.2 實例講解 231
8.5 導入外部數據 232
8.5.1 導入數據工具 232
8.5.2 自定義文件格式 235
8.6 使用HttpWatch分析響應時間 237
8.6.1 HTTP消息格式 237
8.6.2 Request Grid 239
8.6.3 Request View 240
8.6.4 Summary View 247
8.6.5 其他功能 248
8.7 小結 249
第9章 特殊協議 250
9.1 Windows Sockets(WinSock)協議 250
9.1.1 Windows Sockets錄制選項設置 250
9.1.2 Windows Sockets錄制 252
9.1.3 Windows Sockets數據操作 256
9.1.4 關于LRS函數 260
9.2 郵件服務協議 265
9.2.1 郵件服務協議簡介 265
9.2.2 郵件服務協議錄制 267
9.2.3 腳本分析 273
9.2.4 關于SMTP和POP3函數 275
9.3 小結 277
第10章 性能測試過程 278
10.1 性能測試過程概述 278
10.2 性能測試設計 279
10.2.1 需求調研 279
10.2.2 業務模型 280
10.2.3 場景模型 282
10.2.4 數據設計 283
10.2.5 環境設計 285
10.3 性能測試構建 286
10.3.1 用例開發 287
10.3.2 腳本開發 288
10.3.3 場景設計 289
10.3.4 搭建測試環境 290
10.3.5 準備數據 290
10.4 性能測試過程執行 290
10.5 性能測試分析/診斷/調節 291
10.6 小結 291
第三部分 實戰篇
第11章 客戶關系管理系統性能測試 293
11.1 系統介紹 293
11.2 需求分析 295
11.2.1 性能指標 295
11.2.2 需求詳細分析 296
11.3 測試方案及計劃 297
11.3.1 人力資源 297
11.3.2 時間進度 297
11.3.3 測試環境準備 298
11.3.4 業務模型創建 298
11.3.5 場景模型創建 300
11.3.6 測試數據準備 301
11.4 測試用例 301
11.5 執行測試 304
11.5.1 腳本開發 304
11.5.2 場景設計 309
11.5.3 計數器設置 314
11.5.4 場景監視 316
11.6 結果分析 318
11.7 測試結論 326
11.8 小結 327
第12章 信息系統性能測試 328
12.1 系統介紹 328
12.2 需求分析 329
12.2.1 性能指標 329
12.2.2 需求詳細分析 329
12.3 測試方案及計劃 330
12.3.1 人力資源 330
12.3.2 時間進度 330
12.3.3 測試環境準備 331
12.3.4 業務模型創建 332
12.3.5 場景模型創建 332
12.3.6 測試數據準備 333
12.4 測試用例 334
12.5 執行測試 335
12.5.1 腳本開發 335
12.5.2 場景設計 339
12.5.3 計數器設置 345
12.5.4 場景監控 345
12.6 結果分析 347
12.7 測試結論 355
12.8 小結 355
附錄A 主要計數器 356
附錄B 性能測試i模型 360
- 深入性能測試——LoadRunner性能測試、流程、監控、調優全程實戰 [黃文高 編著]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- Python語言同步案例習題精解 [主編 肖朝暉]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]
- Python數據分析之道——Thinking in Pandas [[美]漢娜·斯捷潘內克(Hannah S]
- python青少年趣味編程 [千鋒教育 編著]
- 大學計算機基礎教程實驗指導與測試題集 [主編 饒拱維 吳華光 巫滿秀]
- 軟件測試(微課版) [鄭小蓉 萬國德]
- 軟件測試技術(微課版) [主編 田永紅]
- Python程序設計與應用 [主編 張廣淵]
- Python基礎實例教程 [秦穎 編著]
- Python程序設計教程 [主編 李治國 武春嶺]
- Python開發向導 [主編 肖睿 盛鴻宇]
- 大學計算機基礎實驗指導與測試題集 [饒拱維 吳華光 楊貴茂]
- HI,BUGS——全面軟件測試 [黃文高 編著]
- 軟件測試基礎教程(第二版) [主編 杜文潔 王占軍 高芳]
- 嵌入式Qt開發項目教程 [主編 王浩 陳邦瓊]
- 軟件測試技術(第二版) [庫波 楊國勛]
- 普通話學習與水平測試教程 [杜啟蓉 聶希安 鄧 璨]
- 常用工具軟件實用教程 [劉 毅 張 波]
- 多媒體CAI課件制作教程 [主 編 范強]
- 深入性能測試——LoadRunner性能測試、流程、監控、調優全程實戰剖析 [何月順 黃文高 編著]
- 軟件測試技術基礎 [茍英 寧華 席文利]
- 大學計算機應用基礎實訓指導與測試 [魏民 李宏]
- 軟件測試技術與應用 [何月順]
- 常用工具軟件實用教程(第二版) [張懷中 王國順]
- 軟件測試技術 [庫波 主編 ]
- 最新日語能力測試詞匯周計劃8周突破N1 [吳婷 等編著]
- 最新日語能力測試詞匯周計劃7周突破N2~N3 [張洪紅 等編著]