商品详情
内容简介
本书通过电子商务系统案例使读者从实际工作出发从JMeter初学者变为高手。全书共10章。第1章介绍JMeter基础知识和被测产品,第2章介绍HTTP/HTTPS基础知识,第3章介绍测试脚本初始化,第4、5章介绍建立接口测试脚本的方法,第6章介绍JMeter的二次开发,第7章介绍建立安全测试脚本的方法,第8章介绍建立性能测试脚本的方法,第9章介绍JMeter的运行与性能测试监控,第10章介绍JMeter的其他元件。
本书适合软件测试工程师阅读,也可作为高校本科高年级学生以及研究生与软件测试相关的课程的参考书。
编辑推荐
lJMeter不仅是一个性能测试工具,还是一个接口和安全测试工具。
l看了许多网站,为什么仍旧玩不转JMeter,答案就在本书里面。
l通过案例教您如何使用JMeter。
l一边玩案例,一边学工具,不知不觉就会了。
目录
第1章测试软件和被测产品/1
1.1JMeter概述/1
1.2JMeter的安装/2
1.2.1JMeter的单机环境安装/2
1.2.2JMeter的分布式环境安装/4
1.3进入JMeter的世界/5
1.3.1JMeter的目录结构及多语言版本/5
1.3.2JMeter的界面/7
1.3.3JMeter的九大元件组/11
1.4被测产品: 电子商务系统/13
1.4.1被测产品的介绍/13
1.4.2被测产品的安装/14
1.4.3被测产品的模块/15
1.4.4被测产品的安全机制/19
第2章HTTP/HTTPS/21
2.1HTTP的工作原理/21
2.2HTTP的请求包和响应包/22
2.2.1HTTP的请求包/22
2.2.2HTTP的响应包/24
2.3HTTP的无连接性和无状态性/24
2.3.1HTTP的无连接性/24
2.3.2HTTP的无状态性/25
第3章测试脚本初始化/27
3.1测试脚本的初始化生成/27
3.1.1利用工具录制JMeter测试脚本/28
3.1.2录制HTTPS下的脚本/37
3.1.3自己建立JMeter测试脚本/43
3.2录制结果的验证/45
3.3脚本初始化中使用的JMeter基本元件/46
3.3.1“测试计划”元件/46
3.3.2“HTTP Cookie管理器”元件/48
3.3.3“HTTP信息头管理器”元件/49
3.3.4“用户定义的变量”元件/50
3.3.5“HTTP请求默认值”元件/50
3.3.6“HTTP代理服务器”元件/53
3.3.7“线程组”元件/56
3.3.8“setUp线程组”和“tearDown线程组”元件/58
3.4脚本初始化中使用的取样器/59
3.4.1“HTTP请求”元件/59
3.4.2“调试取样器”元件/61
3.5脚本初始化中使用的逻辑控制器/63
3.5.1“录制控制器”元件/63
3.5.2“循环控制器”元件/63
3.6脚本初始化中使用的监听器/64
3.6.1“察看结果树”元件/64
3.6.2“简单数据写入器”元件/68
3.6.3“用表格察看结果”元件/68
第4章建立登录接口测试脚本/69
4.1登录接口测试脚本的建立/69
4.1.1生成密码的SHA256散列值/69
4.1.2对CSRF token的处理/70
4.1.3建立测试断言/75
4.1.4用户名和密码的参数化/79
4.1.5建立“setUp线程组”元件与“tearDown线程组”元件/84
4.2J2EE版本商品列表的接口测试脚本/90
4.3登录接口测试脚本中使用的散列函数/94
4.4登录接口测试脚本中使用的断言/96
4.4.1“响应断言”元件/96
4.4.2“BeanShell断言”元件/98
4.4.3与XML相关的断言/100
4.5登录接口测试脚本中使用的提取器/102
4.5.1“正则表达式提取器”元件/102
4.5.2“边界提取器”元件/103
4.5.3“XPath提取器”元件/104
4.5.4XPath2 Extractor元件/105
4.6登录接口测试脚本中使用的配置元件/106
4.6.1CSV Data Set Config元件/106
4.6.2JDBC Connection Configuration元件/108
4.6.3“计数器”元件/110
4.7登录接口测试脚本中使用的取样器/111
第5章建立其他接口测试脚本/113
5.1与注册相关的测试脚本/113
5.1.1建立正常注册功能的接口测试脚本/113
5.1.2建立异常注册功能的接口测试脚本/117
5.1.3清理注册功能测试产生的垃圾数据/121
5.1.4处理与登录相关的元件/122
5.2与商品相关的接口测试脚本/122
5.2.1查询商品接口测试脚本/123
5.2.2Django版本查看商品详情接口测试脚本/124
5.2.3J2EE版本查看商品详情接口测试脚本/127
5.2.4通过后台添加商品测试脚本/132
5.3与购物车相关的接口测试脚本/136
5.3.1添加购物车的接口测试脚本/136
5.3.2查看购物车的接口测试脚本/138
5.4与订单相关的接口测试脚本/139
5.4.1与订单相关的接口测试脚本初始化/139
5.4.2创建与订单相关的接口测试脚本/141
5.5与注册、商品、购物车、订单相关的接口测试脚本中使用的逻辑控制器/145
5.5.1“仅一次控制器”元件/145
5.5.2“简单控制器”元件/145
5.5.3“如果(If)控制器”元件/146
5.6与注册、商品、购物车、订单相关的接口测试脚本中使用的函数助手/147
5.6.1随机函数/147
5.6.2CSVRead函数/148
5.7与注册、商品、购物车、订单相关的接口测试脚本中使用的提取器/149
5.7.1“CSS/JQuery提取器”元件/149
5.7.2与JSON相关的提取器/151
5.8与注册、商品、购物车、订单相关的接口测试脚本中使用的
断言/161
5.8.1“JSON断言”元件/162
5.8.2JSON JMESPath Assertion元件/162
5.9与注册、商品、购物车、订单相关的接口测试脚本中使用的取样器/163
第6章JMeter二次开发/166
6.1JMeter二次开发的3种方法/166
6.1.1开发BeanShell调用外部JAR文件实现SHA 256散列处理/166
6.1.2开发函数助手实现SHA256散列处理/169
6.1.3利用Java请求实现SHA256散列处理/173
6.2JMeter二次开发中使用的元件/181
6.2.1前置/后置处理器/181
6.2.2取样器: “Java请求”元件/183
第7章建立安全测试脚本及运行/185
7.1暴力破解测试方法及预防措施/185
7.1.1暴力破解的原理和预防措施/185
7.1.2暴力破解的测试方法/186
7.2篡改找回密码的邮件地址和手机号码的测试方法/189
7.2.1篡改找回密码的邮件地址的测试方法/189
7.2.2篡改找回密码的手机号码的测试方法/190
7.3横向越权和纵向越权的测试方法/191
7.3.1横向越权的测试方法/191
7.3.2纵向越权的测试方法/196
7.4安全测试中使用的逻辑控制器/197
7.4.1“模块控制器”元件/198
7.4.2“ForEach控制器”元件/198
7.5安全测试中使用的“测试片段”元件/199
第8章建立及运行性能测试脚本/200
8.1单场景性能测试的搭建/200
8.2多场景性能测试的搭建/203
8.2.1搭建Django版本的多场景性能测试/203
8.2.2搭建Django版本与J2EE版本共同的多场景性能测试/205
8.3性能测试的执行/206
8.3.1并发负载测试的执行/206
8.3.2容量负载测试的执行/211
8.3.3疲劳性测试的执行/213
8.3.4强度测试的执行/213
8.4性能测试中使用的逻辑控制器: “吞吐量控制器”元件/214
8.5性能测试中使用的断言: “断言持续时间”元件/215
8.6性能测试中使用的配置元件: “HTTP缓存管理器”元件/216
8.7性能测试中使用的定时器/217
8.7.1“同步定时器”元件/217
8.7.2“固定定时器”元件/218
8.7.3“统一随机定时器”元件/218
8.7.4“高斯随机定时器”元件/218
8.7.5“泊松随机定时器”元件/219
8.8性能测试中使用的监控器/220
8.8.1“聚合报告”元件/220
8.8.2“汇总报告”元件/221
8.8.3“汇总图”元件/222
8.8.4“响应时间图”元件/223
8.8.5“图形结果”元件/225
第9章JMeter性能测试的运行与监控/226
9.1通过JMeter自带的工具运行JMeter性能测试/226
9.2通过Apache Ant运行JMeter性能测试/227
9.3通过Taurus运行JMeter/231
9.4性能测试监控/232
9.4.1压测端监控工具组: JMeter+InfluxDB+Grafana/232
9.4.2被测端监控工具组: Exporter+Prometheus+Grafana/241
9.4.3全链路监控工具: SkyWalking/247
9.5性能测试监控中使用的元件: 后端监听器/252
第10章JMeter的其他元件/255
10.1逻辑控制器/255
10.1.1“While控制器”元件/255
10.1.2“Switch控制器”元件/256
10.1.3“交替控制器”元件/257
10.1.4“Runtime控制器”元件/258
10.1.5“随机控制器”元件/258
10.1.6“随机顺序控制器”元件/258
10.2断言/259
10.2.1“大小断言”元件/259
10.2.2“HTML断言”元件/260
10.2.3“MD5Hex断言”元件/261
10.3定时器/261
10.3.1“常数吞吐量定时器”元件/262
10.3.2“准确的吞吐量定时器”元件/262
10.4取样器/263
10.4.1“FTP取样器”元件/263
10.4.2“OS进程取样器”元件/264
10.4.3“JUnit取样器”元件/267
10.5配置元件/270
10.5.1“FTP默认请求”元件/270
10.5.2“Java默认请求”元件/270
10.5.3简单配置元件/270
10.5.4“随机变量”元件/271
附录AJMeter元件中英文术语对照/273
参考文献/277
- 清华大学出版社旗舰店 (微信公众号认证)
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...