全栈性能测试修炼宝典 JMeter实战

“基础篇”:欲练神功,不必自宫。打我基础,从此坦途。“工具篇”:欲善其事,先利其器。神剑在手,天下任走。“实践篇”:练武无功,到老皆空。有武有功,江湖轻松。“提升篇”:江湖之大,无奇不有。融会贯通,相忘江湖
attachments-2017-03-shQmxYyc58de426356cd


《全栈性能测试修炼宝典 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.5.2 回复帖子 298
11.5.3 发帖 301
11.6 数据准备 301
11.6.1 主数据准备 302
11.6.2 数据制作方法 303
11.7 场景设计 307
11.7.1 场景设计 307
11.7.2 场景实现 309
11.8 测试监控 312
11.9 测试执行 313
11.9.1 基准测试 313
11.9.2 配置测试 315
11.9.3 负载测试 319
11.9.4 稳定性测试 327
11.10 结果分析 328
11.11 测试报告 329
11.12 本章小结 330

提升篇

第12章 互联网测试必备知识——HTTP
协议 331
12.1 HTTP协议简介 332
12.2 HTTP工作原理 332
12.3 HTTP请求 333
12.4 HTTP应答 335
12.5 HTTP捕获 336
12.6 Http Watch 337
12.6.1 HttpWatch录制 337
12.6.2 HttpWatch数据分析 338
12.7 本章小结 341
第13章 端到端性能监控平台 342
13.1 为什么构建基于云的端到端
性能监控平台 343
13.2 端到端监控的意义 343
13.3 前端监控常见策略 343
13.4 基于httpWatch的自动捕获 344
13.5 基于firebug的自动捕获 345
13.5.1 自动导出瀑布图 345
13.5.2 HARViewer部署 346
13.5.3 基于Fiddler的自动
捕获 348
13.5.4 基于YSlow的前端评估
体系 348
13.5.5 基于PageSpeed的前端
评估体系 350
13.5.6 基于dynaTrace Ajax的
前端评估体系 351
13.6 构建基于Showslow的监控
体系 356
13.6.1 Showslow介绍 356
13.6.2 Showslow环境搭建 356
13.6.3 ShowSlow配置 357
13.6.4 YSlow配置 357
13.6.5 WebDriver驱动的定时
监控体系 359
13.7 本章小结 361
第14章 性能测试自动化——Jenkins+
Ant+ JMeter 362
14.1 为什么要做性能测试自动化 363
14.2 如何做性能测试自动化 365
14.3 Ant+JMeter集成 365
14.3.1 Ant下载 366
14.3.2 Ant安装 366
14.3.3 JMeter中配置XML文件来定义测试活动 367
14.3.4 运行测试计划 369
14.4 Jenkins+Ant集成 371
14.4.1 Jenkins安装 372
14.4.2 建立Slave节点 374
14.4.3 JMeter任务配置 377
14.5 如何运行复杂场景 385
14.6 报告自动化 385
14.6.1 配置TPS、响应时间等
图表 385
14.6.2 报告合成 386
14.7 JMeter脚本拷贝自动化 391
14.8 JMeter Agent自动化 395
14.9 本章小结 398
第15章 JMeter常见问题 399
15.1 JMeter无法开启 400
15.2 JMeter异常关闭 400
15.3 JMeter无法产生负载 401
15.4 JMeter日志输出控制 401
15.5 记录测试结果影响Jmeter
效率 402
15.6 JMeter可以测试接口吗 402
15.7 JMeter可以测试Dubbo
接口吗 403
15.8 JMeter可以测试RPC
接口吗 404
15.9 JMeter函数助手中函数不够用
怎么办 404
15.10 JMeter支持子事务的
定义吗 407
15.11 JMeter非GUI方式运行时如何传
递运行参数 408
15.12 运行场景时察看结果树为什么
要关闭 409
15.13 多个测试计划如何运行 409
15.14 如何找导致CPU瓶颈的
程序 410
15.15 如何找导致内存瓶颈的
程序 410
15.16 如何找导致IO瓶颈的
程序 411
15.17 如何计算并发用户数 411
15.18 JMeter可以做哪些测试 412
15.19 性能测试的分析方法有
哪些 412
15.20 如何看懂Java线程栈
信息 413
15.21 能用本地负载环境测试“云环境”
的性能吗 413
15.22 性能测试环境和生产环境
不一致 414
15.23 本章小结 414
附录A Jforum性能测试计划 415
A.1 性能测试背景 416
A.2 性能测试目标 416
A.3 性能测试范围 416
A.4 名词术语约定 416
A.5 测试环境 417
A.5.1 生产环境系统架构 417
A.5.2 测试环境系统架构 418
A.5.3 生产环境软硬件配置 418
A.5.4 测试环境软硬件配置 419
A.5.5 负载机软硬件配置 419
A.6 需求分析 420
A.6.1 业务模型 420

A.6.2 性能指标 421
A.7 测试策略 422
A.7.1 测试执行策略 422
A.7.2 测试监控策略 422
A.8 测试场景 423
A.9 测试准备 423
A.9.1 测试工具准备 424
A.9.2 测试脚本及程序准备 424
A.9.3 测试数据准备 424
A.9.4 测试环境准备 424
A.10 测试组织架构 425
A.11 交付清单 425
A.12 项目风险 426
A.13 附录 426
附录B 性能测试报告 427
B.1 性能测试背景 428
B.2 性能测试目标 428
B.3 性能测试范围 428
B.4 名词术语约定 429
B.5 测试环境 430
B.5.1 生产环境系统架构 430
B.5.2 测试环境系统架构 430
B.5.3 生产环境软硬件配置 431
B.5.4 测试环境软硬件配置 431
B.5.5 负载机软硬件配置 431
B.6 测试数据 432
B.6.1 历史数据量 432
B.6.2 主数据 432
B.6.3 性能指标 432
B.7 测试进度 433
B.8 测试结果 433
B.8.1 基准测试结果 433
B.8.2 配置测试 434
B.8.3 负载测试结果 438
B.8.4 稳定性测试结果 445
B.9 测试结论 447
B.9.1 测试结论 447
B.9.2 系统缺陷 448
B.10 系统风险 448
参考资料 449
  • 发表于 2017-03-21 15:49
  • 阅读 ( 20329 )
  • 分类:活动

你可能感兴趣的文章

相关问题

30 条评论

请先 登录 后评论

分享

立送30金币

Loadrunner技能提升ROAD