【图书预售】清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》开始预售卖书了

《JMeter核心技术、性能测试与性能分析》是一本由清华大学出版社出版的图书,JMeter是一款基于Java的压力测试工具,可用于对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。本书详解JMeter性能测试和性能分析的方法,配套PPT课件、教学大纲与作者微信群答疑服务。

本书共分11章,内容包括认识JMeter、认识性能测试、初识JMeter元件、JMeter主要元件详细介绍、常见JMeter性能测试脚本编写案例、BeanShell、JMeter中如何编写自定义的取样器、性能分析、电商网站的秒杀系统性能测试与性能分析案例、JMeter性能测试的最佳实践、大模型辅助性能测试。最后还给出一个JMeter属性配置项的附录供读者参考。

本书既适合JMeter性能测试初学者、性能测试与分析人员、性能测试解决方案设计师、软件性能测试经理,也适合高等院校或高职高专院校学习软件测试课程的学生。

本书目的

本书针对性能测试中遇到的常见问题,帮助读者掌握性能测试的基础知识、JMeter性能测试工具的使用、JMeter性能测试的执行方法与案例,以及遇到性能瓶颈时分析和解决问题的技巧。

本书作者

张永清、张永松

作者简介

张永清,从事功能测试、自动化测试、性能测试、Java软件开发、大数据开发、架构师等工作近二十年,在自动化测试设计、性能测试设计、性能诊断、性能调优、分布式架构设计等方面积累了多年经验。参与过的系统涉及公安、互联网、移动互联网、大数据、人工智能等领域。先后任职于江苏飞搏软件、苏宁大数据研发中心、苏宁研究院、苏宁人工智能研发中心、紫金普惠研发中心、福特汽车工程研究有限公司,历任测试经理、技术经理、部门经理、高级架构师等职位。重点关注大数据、图像处理、高性能分布式架构设计等领域。著有图书《数据资产管理核心技术与应用》《软件性能测试、分析与调优实践之路》《软件性能测试、分析与调优实践之路 (第2版)》《Robot Framework自动化测试框架核心指南》。

本书内容

第1、2章,主要介绍JMeter的基础知识以及性能测试的基础概念,帮助读者建立起对性能测试的知识框架,并快速入门性能测试领域。

第3、4章,主要介绍如何使用JMeter提供的各种强大的测试功能,帮助读者掌握JMeter的使用方法。

第5~7章,主要介绍如何使用JMeter来完成性能测试脚本的编写。这几章提供了多个性能测试脚本编写案例,帮助读者将第3、4章讲解的JMeter测试功能运用到脚本编写实践中去。

第8章,主要介绍软件性能分析与调优的理论知识以及调优思想等。本章还会对常见的性能问题做了分析和总结。

第9章,主要剖析了一个完整的性能测试与性能分析调优的案例。通过该案例,帮助读者把前面章节中学习到的知识进行一个完整的实践。读者通过这个案例的实践,在拿到一个性能测试需求时,可以自己有条有理地去完成性能测试的整个过程。

第10章,主要是JMeter性能测试的实践要点。本章包括确定编写脚本的场景、设计用户思考时间、脚本编写主意事项、执行性能测试时的注意事项,以及性能测试时的监控指标。

第11章,简单讲解一下大模型辅助性能测试的应用场景,帮助读者提高性能测试工作的效率。

附录,主要讲解JMeter属性配置项,方便读者在做性能测试时随手查阅。

本书学习方法

(1)本书精心设计的实践示例和案例,可以帮助读者深入掌握JMeter性能测试的方法和技巧。因此,建议读者在学习的时候一定要动手实践本书的示例和案例。

(2)本书每章的最后一节给出了读者必须掌握的重点内容,读者可以根据提示快速回顾每章的关键知识点,掌握本章内容之后再进行下一章的学习。

(3)本书讲解的性能测试基础知识,是完成性能测试的指导思想,建议读者熟记。

(4)多做JMeter操作练习,碰到问题多加思考,将理论知识运用到性能测试实践之中,并通过实践加深对性能测试与性能分析方法的理解。

本书读者

本书既适合JMeter性能测试初学者、性能测试与分析人员、性能测试解决方案设计师、软件性能测试经理,也适合高等院校或高职高专院校软件性能测试课程的学生。

本书目录

第1章  认识JMeter······················································································· 1

1.1  JMeter基本介绍······································································································· 1

1.2  性能测试的发展······································································································· 3

1.3  性能测试工具的发展································································································· 4

1.4  选择JMeter的原因··································································································· 5

1.5  JMeter的安装部署···································································································· 7

1.6  JMeter的元件·········································································································· 9

1.7  JMeter的运行模式·································································································· 13

1.7.1  GUI模式····································································································· 13

1.7.2  命令行模式·································································································· 13

1.7.3  服务器模式·································································································· 15

1.8  本章总结·············································································································· 18

第2章  认识性能测试··················································································· 19

2.1  性能的基本概念····································································································· 19

2.1.1  什么是性能·································································································· 19

2.1.2  性能测试的意义···························································································· 21

2.1.3  常见的性能指标···························································································· 21

2.2  性能测试的基本概念······························································································· 24

2.2.1   性能测试的种类··························································································· 24

2.2.2  性能测试的场景···························································································· 25

2.3  性能测试的流程····································································································· 25

2.3.1  性能需求分析······························································································· 26

2.3.2  指定性能测试计划························································································· 26

2.3.3  编写性能测试方案························································································· 27

2.3.4  编写性能测试案例························································································· 30

2.3.5  搭建性能测试环境························································································· 30

2.3.6  构造性能测试数据························································································· 30

2.3.7  编写性能测试脚本························································································· 31

2.3.8  执行性能测试······························································································· 31

2.3.9  编写性能测试报告························································································· 31

2.4  本章总结·············································································································· 32

第3章  初识JMeter元件··············································································· 33

3.1  测试计划·············································································································· 34

3.2  线程组················································································································· 36

3.3  配置元件·············································································································· 38

3.3.1  常用配置元件······························································································· 38

3.3.2  JDBC Connection Configuration配置项详情·························································· 40

3.3.3  TCP取样器配置详情······················································································ 42

3.3.4  HTTP授权管理器配置详情·············································································· 43

3.4  前置处理器··········································································································· 44

3.5  定时器················································································································· 47

3.6  取样器················································································································· 49

3.7  后置处理器··········································································································· 67

3.8  断言···················································································································· 72

3.9  监听器················································································································· 75

3.10  开始一个性能测试脚本的编写案例············································································ 80

3.11  本章总结············································································································· 83

第4章  JMeter主要元件详解·········································································· 85

4.1  配置元件·············································································································· 85

4.1.1  CSV数据文件设置························································································· 85

4.1.2  HTTP Cookie管理器······················································································· 87

4.1.3  HTTP 信息头管理器······················································································· 88

4.2  函数助手·············································································································· 89

4.3  逻辑控制器··········································································································· 94

4.4  取样器················································································································ 101

4.4.1  WebSocket取样器························································································ 102

4.4.2  Dubbo取样器······························································································ 105

4.5  本章总结············································································································· 107

第5章  常见JMeter性能测试脚本的编写案例··················································· 108

5.1  用户需先登录,然后再请求别的接口········································································· 108

5.2  前一个请求返回的结果作为后一个请求的入参····························································· 111

5.3  使用JMeter对MySQL数据进行性能测试··································································· 117

5.3.1  利用JMeter为MySQL数据库构造测试数据······················································· 117

5.3.2  利用JMeter对MySQL数据库查询进行性能测试················································· 123

5.4  本章总结············································································································· 126

第6章  BeanShell······················································································ 127

6.1  BeanShell的安装··································································································· 128

6.2  BeanShell的基础语法····························································································· 130

6.2.1  变量和数据类型·························································································· 130

6.2.2  运算符······································································································ 132

6.2.3  控制流语句································································································ 133

6.2.4  函数和方法································································································ 138

6.2.5  异常处理··································································································· 139

6.2.6  文件操作··································································································· 140

6.3  BeanShell中如何使用JMeter内置变量······································································· 145

6.3.1  ctx············································································································ 146

6.3.2  vars·········································································································· 147

6.3.3  props········································································································· 148

6.3.4  prev·········································································································· 150

6.3.5  sampler······································································································ 155

6.3.6  log············································································································ 156

6.3.7  data·········································································································· 156

6.3.8  sampleEvent································································································ 157

6.3.9  sampleResult······························································································· 158

6.3.10  ResponseMessage和ResponseCode·································································· 158

6.3.11  ResponseData和ResponseHeaders··································································· 159

6.3.12  RequestHeaders·························································································· 160

6.3.13  Failure和FailureMessage·············································································· 161

6.3.14  Parameters和FileName················································································ 162

6.3.15  SampleLabel······························································································ 163

6.4  JMeter中使用BeanShell的案例················································································ 163

6.5  本章总结············································································································· 171

第7章  JMeter中如何编写自定义的取样器······················································· 172

7.1  JavaSamplerClient取样器抽象接口介绍······································································ 173

7.2  自定义的取样器的编写案例····················································································· 176

7.3  本章总结············································································································· 185

第8章  性能分析与调优··············································································· 186

8.1  性能分析与调优模型······························································································ 186

8.2  性能分析与调优思想······························································································ 188

8.2.1  分层分析··································································································· 188

8.2.2  科学论证··································································································· 189

8.2.3  问题追溯与归纳总结···················································································· 190

8.3  性能调优技术······································································································· 190

8.3.1  缓存调优··································································································· 190

8.3.2  同步转异步推送·························································································· 192

8.3.3  削峰填谷··································································································· 193

8.3.4  拆分········································································································· 194

8.3.5  任务分解与并行计算···················································································· 195

8.3.6  索引与分库分表·························································································· 196

8.3.7  层层过滤··································································································· 198

8.4  常见性能问题分析总结··························································································· 199

8.5  本章总结············································································································· 203

第9章  电商网站的秒杀系统性能测试与性能分析案例········································· 205

9.1  性能需求分析······································································································· 205

9.2  制定性能测试计划································································································· 209

9.3  编写性能测试方案································································································· 211

9.4  编写性能测试案例································································································· 214

9.5  搭建性能测试环境································································································· 216

9.6  构造性能测试数据································································································· 219

9.7  编写性能测试脚本································································································· 223

9.7.1 性能测试涉及的3个接口··············································································· 223

9.7.2  单场景-商品查询性能测试脚本的编写······························································ 224

9.8  执行性能测试······································································································· 235

9.8.1 单场景-商品查询性能压测·············································································· 235

9.8.2  混合场景-商品查询-订单提交性能压测····························································· 246

9.9  完成性能测试报告································································································· 256

9.10  本章总结··········································································································· 260

第10章  JMeter性能测试的最佳实践······························································ 261

10.1  确定要编写脚本的关键业务场景············································································· 261

10.2  如何设计真实的用户思考时间················································································ 262

10.3  JMeter编写性能测试脚本的注意事项······································································· 265

10.4  JMeter执行性能测试时的注意事项·········································································· 266

10.4.1  JMeter运行内存设置··················································································· 266

10.4.2  操作系统参数的设置··················································································· 268

10.5  性能测试时,通常需要做哪些监控·········································································· 272

10.6  本章总结··········································································································· 273

第11章  大模型辅助性能测试········································································ 274

11.1  人工智能大模型的发展························································································· 274

11.2  大模型辅助性能测试···························································································· 276

11.2.1  大模型辅助性能测试脚本的编写···································································· 276

11.2.2  大模型辅助性能测试数据的构造···································································· 278

11.2.3  大模型辅助性能瓶颈问题的分析···································································· 280

11.3  本章总结··········································································································· 282

附录  JMeter属性配置················································································· 283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值