編輯推薦
《全棧性能測試修煉寶典 JMeter實戰》是軟件測試領域裏程碑式的重要著作,由多位培養齣經理級乃至總監級性能高手的大師聯手創作,本書深入講解瞭性能測試實踐操作過程中諸多難題的調優心法,實現從理論到實操的升華。列齣自學所需的性能技能目錄樹,助力測試小白迅速成長為技術大牛。從腳本到運維、公式到指標的運用掌握應有盡有,手把手教你性能測試技巧。此書在手,助你走齣迷茫。 內容推薦 “基礎篇”:欲練神功,不必自宮。打我基礎,從此坦途。 “工具篇”:欲善其事,先利其器。神劍在手,天下任走。 “實踐篇”:練武無功,到老皆空。有武有功,江湖輕鬆。 “提升篇”:江湖之大,無奇不有。融會貫通,相忘江湖 首部分:基礎篇 幫助初學者或想踏入這個行業的工程師迅速瞭解除工具以外的性能測試的真實本質。去僞求真,使讀者能夠把握性能測試要點和難點及職業規劃有進一步的認識。不管你是內行還是外行,讀完後必有所獲。 第二部分:工具篇 可當JMeter工具書來進行查閱,是市麵上目前為止比較全麵的JMeter講解工具。學會熱門的負載工具JMeter,對各種常見協議的性能測試工作(包括自動化測試) 測試腳本不用愁。 第三部分:實踐篇 可學到Linux、Windows平颱的性能監控、診斷分析;煉就火眼金睛,見微知著的技能;性能問題快速定位。 適閤中高級性能測試工程師閱讀,掌握性能分析方法,學會如何調優,瞭解當前的性能調優手法。 可跟書中實例操作,掌握性能測試整個過程,包括需求分析、測試計劃、腳本開發、測試數據製作、測試執行、測試結果診斷分析、性能調優整個過程,真正能夠開始進行性能測試工作。 第四部分:提升篇 性能測試自動化(Jenkins+Ant+JMeter),能夠很方便的實現性能測試迴歸。提高産率,更少的人力,更低的功耗,更高的生産率;老闆怎麼愛你都不算多。 另外,前端的性能錶現會直接影響到客戶體驗,前端性能測試也將成為新的性能點,讀者可以更深層的瞭解此方麵的知識。
內容簡介
本書全麵介紹瞭進行軟件性能測試的實戰技術和JMeter的應用知識,本書內容分4部分:首部分基礎篇,主要講解瞭當前性能測試狀況及發展前景、性能測試的基礎理論,讓讀者盡快入門學習;第二部分工具篇,講解開源負載工具JMeter的體係結構、腳本開發、負載模擬、測試監聽等內容,讓讀者可以從零開始學會使用一個主流的負載工具,此部分是市麵上到目前為止對JMeter講解較全麵的內容,掌握其內容即可以進行性能測試腳本開發、性能測試執行等工作;第三和第四部分實踐篇、提升篇,詳細講解瞭性能監控與診斷分析技術,通過項目實踐引導讀者學會性能測試工作,如診斷問題、分析調優等軟件性能測試中的核心技術,並講解瞭HTTP、端到端性能監控、性能測試自動化和JMeter常見問題解決等知識。 本書講解通俗幽默,很適閤讀者閱讀學習,本書適閤測試工程師、測試項目負責人、開發工程師、性能測試愛好者閱讀,也適閤大專院校相關專業師生的學習用書和培訓學校的教材。
作者簡介
陳誌勇(網名 天勝), 精通性能測試調優及性能工具開發、自動化測試、國際認證項目經理,先後負通用汽車、平安銀行等知名企業係統性能及管理工作。性能測試專傢,魯德特邀講師,備受學生喜愛。授課理論接閤實際,專業性強,知識麵廣,備受騰訊公開課學生喜愛。
馬利偉(網名MIKE), 全棧測試專傢,性能測試專傢,先後供職於阿裏巴巴和分眾傳媒等公司,曾負責寶潔、可口可樂、螞蟻金服、分眾傳媒屏幕等項目先後擔任測試主管、數據庫工程師、項目經理、BI總架構師兼部門經理。授課激發激情,邏輯清晰,熱情澎湃,ROAD_Testing性能測試專業性能教材(10本總計5000多頁A4紙)主編。
萬龍(網名LONG), 先後任職於江西移動,西門子,諾基亞西門子等公司,現任淘寶架構師。從業以來,一直從事基於Linux平颱的性能或自動化測試開發性能監控平颱及持續平颱工作.擅長大數據分析,企業級持續集成,係統性中間件級彆配置、性能監控調優平颱和自動化測試平颱的開發設計。
目錄
基礎篇
第1章 性能方嚮職業發展 1
1.1 為什麼選擇軟件測試 2
1.2 軟件測試痛處 2
1.3 軟件測試發展路綫 3
1.4 不僅僅是性能測試 4
1.5 從招聘要求看崗位價值 5
1.6 性能測試技能樹 8
1.6.1 測試工具 8
1.6.2 測試基礎 9
1.6.3 代碼 10
1.6.4 服務器性能診斷知識 10
1.6.5 性能調優技能 12
1.6.6 自動化/持續集成 13
1.6.7 雲計算及虛擬化 13
1.7 本章小結 13
第2章 性能測試初體驗 14
2.1 性能測試的價值 15
2.2 性能測試流程 17
2.3 性能測試成功與失敗要素 18
2.4 不同角色看性能 20
2.5 性能測試工具選擇 21
2.6 性能測試相關術語 22
2.7 性能測試通過標準 23
2.8 性能測試趨勢 24
2.9 本章小節 24
工具篇
第3章 JMeter體係結構 25
3.1 JMeter簡介 26
3.2 JMeter體係結構 26
3.2.1 X1【取樣器】 27
3.2.2 X1【斷言】 28
3.2.3 X1【監聽器】 28
3.2.4 X2【前置處理器】 29
3.2.5 X2【配置元件】 29
3.2.6 X2【後置處理器】 30
3.2.7 X3【控製器】 31
3.2.8 X4【定時器】 31
3.2.9 X5【綫程組】 31
3.2.10 Test Fragment 32
3.2.11 工作颱 32
3.3 JMeter運行原理 33
3.4 JMeter測試計劃要素 34
3.5 JMeter環境介紹 35
3.6 JMeter與LoadRunner異同 37
3.7 本章小結 38
第4章 JMeter腳本開發 39
4.1 JMeter工作區介紹 40
4.2 JMeter Http協議錄製 41
4.2.1 Badboy進行錄製 41
4.2.2 JMeter配置代理進行
錄製 49
4.3 JMeter 腳本調試 52
4.4 JMeter 關聯 55
4.4.1 後置處理器 56
4.4.2 Regular Expression
Extractor 56
4.5 JMeter 參數化 60
4.5.1 配置元件 60
4.5.2 CSV Data Set Config 60
4.5.3 函數助手 62
4.5.4 訪問地址參數化 64
4.5.5 HTTP請求默認值 64
4.6 JMeter 檢查點 65
4.6.1 斷言 65
4.6.2 Response Assertion 66
4.7 JMeter事務 68
4.7.1 邏輯控製器 68
4.7.2 事務控製器 68
4.8 JMeter 集閤點 69
4.8.1 定時器 69
4.8.2 同步定時器 69
4.9 JMeter元件運行順序 70
4.10 本章小結 72
第5章 JMeter負載與監聽 74
5.1 場景設計 75
5.2 場景設置 75
5.3 場景運行 77
5.3.1 GUI運行 77
5.3.2 非GUI運行測試 79
5.4 性能參數配置 82
5.5 測試監聽 83
5.5.1 JMeter監聽器 83
5.5.2 開源監聽插件 85
5.6 本章小結 85
第6章 JMeter元件詳解 86
6.1 邏輯控製器 87
6.1.1 ForEach Controller(循環控製器) 87
6.1.2 Simple Controller 89
6.1.3 Include Controller 90
6.1.4 Runtime Controller 90
6.1.5 Switch Controller 91
6.1.6 While Controller 91
6.1.7 Interleave Controller 91
6.1.8 Once Only Controller 92
6.1.9 Throughput Controller 93
6.1.10 If Controller 94
6.1.11 Module Controller 94
6.1.12 Random Controller 95
6.1.13 Random Order Controller 95
6.1.14 Loop Controller 96
6.1.15 Recording Controller 96
6.1.16 Transaction Controller 97
6.2 配置元件 98
6.2.1 FTP請求默認值 98
6.2.2 HTTP Authorization
Manager 99
6.2.3 HTTP Request Defaults 99
6.2.4 Java Request Defaults 99
6.2.5 JDBC Connection
Configuration 100
6.2.6 Random Variable 100
6.2.7 Counter 100
6.2.8 Login Config Element 101
6.3 定時器 101
6.3.1 Gaussian Random Timer 102
6.3.2 Constant Timer 102
6.3.3 Synchronizing Timer 102
6.3.4 Constant Throughput
Timer 102
6.3.5 Uniform Random Timer 103
6.3.6 Poisson Random Timer 103
6.3.7 BeanShell Timer 103
6.3.8 BSF Timer 106
6.3.9 JSR223 Timer 106
6.4 前置處理器 106
6.4.1 BeanShell PreProcessor 106
6.4.2 JSR223 PreProcessor 107
6.4.3 BSF PreProcessor 108
6.4.4 Regular User Parameter 108
6.4.5 用戶參數 110
6.4.6 JDBC PreProcessor 110
6.4.7 HTML鏈接解析器 111
6.4.8 HTTP URL 重寫修飾符 114
6.5 後置處理器 115
6.5.1 Debug PostProcessor 115
6.5.2 JDBC PostProcessor 116
6.5.3 Result Status Action
Handler 116
6.5.4 XPath Extractor 117
6.6 斷言 118
6.6.1 BeanShell Assertion 118
6.6.2 Compare Assertion 120
6.6.3 HTML Assertion 120
6.6.4 Size Assertion 121
6.6.5 XML Schema Assertion 122
6.6.6 XML Assertion 123
6.6.7 XPath Assertion 123
6.6.8 Duration Assertion 124
6.6.9 其他斷言元件 124
6.7 監聽器 124
6.7.1 監聽器默認配置 124
6.7.2 Aggregate Graph 127
6.7.3 BeanShell Listener(BeanShell
監聽器) 130
6.7.4 Distribution Graph
(分布圖) 130
6.7.5 Response Time Graph(響應
時間圖形監聽器) 131
6.7.6 Simple Data Writer 131
6.7.7 Spline Visualizer(樣條綫
顯示取樣器) 132
6.7.8 Summary Report
(錶格形式顯示) 133
6.7.9 Save Response to a file
(存儲服務器響應) 133
6.7.10 View Results Tree
(察看結果樹) 134
6.7.11 Assertion Results
(斷言結果) 135
6.7.12 Generate Summary Results
(窗口顯示結果) 136
6.7.13 View Results in Table
(錶格形式顯示) 136
6.7.14 Monitor Results 137
6.7.15 Aggregate Report 138
6.7.16 Mailer Visualizer 138
6.8 函數助手 139
6.8.1 __BeanShell腳本語言 139
6.8.2 __char 140
6.8.3 __counter 141
6.8.4 __CSVRead 142
6.8.5 __escapeHtml 143
6.8.6 __escapeOroRegexChars 143
6.8.7 __eval 144
6.8.8 __evalVar 144
6.8.9 __FileToString 145
6.8.10 __intSum 146
6.8.11 __longSum 146
6.8.12 __javaScript 146
6.8.13 __jexl 146
6.8.14 __log 147
6.8.15 __logn 148
6.8.16 __machineIP 148
6.8.17 __machineName 149
6.8.18 __P 149
6.8.19 __property 149
6.8.20 __Random 150
6.8.21 __RandomString 150
6.8.22 __regexFunction 151
6.8.23 __samplerName 151
6.8.24 __setProperty 152
6.8.25 __split 152
6.8.26 __StringFromFile 153
6.8.27 __TestPlanName 154
6.8.28 __threadNum 154
6.8.29 __time 154
6.8.30 __unescape 155
6.8.31 __unescapeHtml 155
6.8.32 __urldecode 155
6.8.33 __urlencode 155
6.8.34 __UUID 155
6.8.35 __V 155
6.8.36 __XPath 156
6.9 本章小結 156
第7章 JMeter常用腳本開發 158
7.1 BeanShell Sampler 159
7.2 Debug Sampler 162
7.3 FTP請求 163
7.4 Java請求 164
7.5 JDBC請求 171
7.5.1 JDBC連接池設置 172
7.5.2 添加JDBC Request 174
7.6 JUnit Request 179
7.6.1 JUnit簡介 179
7.6.2 JUnit參數 180
7.6.3 JMeter JUnit Request 181
7.7 SOAP/XML-RPC Request 182
7.8 本章小結 184
第8章 JMeter開源測試組件 185
8.1 綫程組 187
8.1.1 Ultimate Thread Group 187
8.1.2 Stepping Thread Group 188
8.2 邏輯控製器 189
8.3 配置元件 190
8.4 定時器 190
8.5 監聽器 191
8.5.1 Transactions per Second 191
8.5.2 Response Times Over
Time 192
8.5.3 Response Times vs
Threads 192
8.5.4 Graphs Generator 192
8.6 服務器監控 193
8.7 本章小結 195
實戰篇
第9章 性能監控診斷 196
9.1 操作係統性能分析介紹 197
9.2 係統性能分析思路 198
9.2.1 係統性能分析因素-
CPU 199
9.2.2 係統性能分析因素-
內存 199
9.2.3 係統性能分析因素-
網絡 200
9.2.4 係統性能分析因素-I/O 201
9.2.5 係統性能分析因素-
總結 201
9.3 瓶頸閾值分析思維導圖與
手冊 202
9.3.1 CPU定位分析 202
9.3.2 內存定位分析 203
9.3.3 網絡定位分析 203
9.3.4 IO定位分析 204
9.4 Linux係統性能分析思路和
實踐 204
9.4.1 係統負載監控分析實踐 205
9.4.2 係統監控分析實踐 206
9.5 Windows係統性能分析思路和
實踐 217
9.5.1 性能監視器綜述 217
9.5.2 性能監視器工具介紹 218
9.5.3 係統監控分析實踐 218
9.5.4 資源監視器介紹和
實踐 226
9.6 Tomcat監控之Probe 235
9.7 MySQL監控之MONyog 238
9.8 JVM監控 241
9.8.1 jps 241
9.8.2 jstat 243
9.8.3 jmap 245
9.8.4 JVisualVM 247
9.9 本章小結 250
第10章 性能分析調優 251
10.1 性能分析方法 253
10.2 單機性能分析與調優 254
10.2.1 性能分析流程 254
10.2.2 係統性能關注點 256
10.2.3 程序優化 261
10.2.4 配置優化 263
10.2.5 數據庫連接池優化 263
10.2.6 綫程優化 265
10.2.7 DB優化 268
10.3 業務流程優化 269
10.4 結構優化 269
10.4.1 單機結構 269
10.4.2 集群結構 270
10.4.3 分布式結構 271
10.5 本章小結 277
第11章 綜閤實踐之診斷分析與調優 278
11.1 需求分析 280
11.1.1 需求采集 282
11.1.2 需求分析 285
11.1.3 並發數計算 289
11.2 測試模型 291
11.3 測試計劃 291
11.4 環境搭建 292
11.5 腳本開發 295
11.5.1 瀏覽帖子 295
11
全棧性能測試修煉寶典 JMeter實戰 下載 mobi epub pdf txt 電子書