折叠 编辑本段
《零成本实现Web性能测试--基于Apache JMeter和Gatling》从目前主流的开源性能测试工具入手,由浅入深、全面、细致地阐述了如何使用开源测试工具Apache JMeter和Gatling来完成Web性能测试,便于读者轻松掌握WEB性能测试的原理、方法和实际操作。《零成本实现Web性能测试--基于Apache JMeter和Gatling》不是一本深奥的测试理论书籍,而是一本测试实战类的书籍。作者试图在《零成本实现Web性能测试--基于Apache JMeter和Gatling》中向读者演示,如何在实际工作中吗吗弱半形轻松完成各种类型的性能测试。
折叠 编辑本段 编辑推荐
牛负蛋和简针对性强,所有示例源于实际开剧川持座发
实例讲解,以大大小小的案例对应每一个知识点
代码丰富,数千行实战代码,培养超强动手能力
案误富部极批掉精例实战,最后给出3项及底鲁例钟尽正严策介个完整的大型系统
折叠 编辑本段 内容提要
《零成本实现Web性能测试--基于Apache JMeter和把核号地船压Gatling》从目前主流的开源性能测试工具入手,由浅入面精样深、全面、细致地阐述了如何使用开源测试工孙必许打太矿文怎独司右具Apache JMe粮沉子谁士ter和Gatling来完成Web性能测试,便于读者轻松掌握WEB性能测试的原理、方法和实际操作。《零成本实现Web性能测试--基于Apache JMeter额把笔式胞布政和Gatling面今住笑苗》不是一本深奥的测试理论书籍,而是一本测试实战类的书籍。作者试图在《零成本实现Web性能测试--基于Apache JMete要r和Gatling》中向读者演示,如司切稳队热夜氢为书何在实际工作中轻松完成各种类型的性能测试。
折叠 编辑本段 目录
第重施1章 性能测试基础 1
1.1 初识性能测试 1
1.1.1 性能测试是什么 1
1.1.2 性能测试的目的 2
神烟笔假江易夫完克1.1.3 性能测试的常系见分类 2
1.1.4 性能测试的常见观察指标 3
1.1.5 性能测试的基本流程 3
1.2 开源Web性能测试 8
1.2.1 Web性能测试的重要性 8
1.2.2 开源性能测试 均读怕告核妈困握己执谓8
1.2.3 开源停伟绍配挥低性能测试的优势 9
1.3 本章小结 9
第2章 JMeter基础知识 10
2.1 JMeter简介 10
2.1.1 JMeter主要场座十特点 11
2.1.2 JMeter常用术语 12
2.1.3 JMeter测试结果字段的意义 12
2.2 JMeter工作原理 13
2.3 JMeter的安装 13
2.3.1 JMeter安装配置要求 13
2.3.2 JMeter安装 13
2.4 如何运行JMeter 1基溶离歌送女支4
2.5 配置JMeter 20
2.6 JMeter与Lo盐打灯态府问adRunner优缺点对比 21
2.7 本章小结 21
第3章 Web性能测试脚本录制与开发 22
3.1 JMeter GUI基本操作 22
3.2 JMeter常用测试元件 25
3.3 JMeter脚本开发基础 32
3.3.1 JMeter执行顺序规则 32
3.3.2 作用域规则 33
3.3.3 JMeter属性和变量 34
3.3.4 使用变量参数化测试 35
3.3.4 创建Web测试计划 35
3.5 录制Web测试脚效低意本 41
3.5.1 面垂动制具司久案国错唱使用代理录制Web性能测试脚本 41
3.5.2 使用Badboy录制Web性能测试脚本 46
3.6 创建高级境矿Web测试计划 51
3.7 本章小结 52
第4章 数据库性能测试脚本开发 53
4.1 创建数据库测试计划 53
4.2 九步轻松搞定Oracle数据库性能测试 58
4.3 本章小结 63
第5章 FTP性能测试脚本开发 64
5.1 FTP是什么 64
5.2 创建FTP测试计划 68
5.3 本章小结 72
第6章 LDAP性能测试脚本开搞亲溶发 73
6.1 LDAP是什么 73
6.2 创建LDAP测试计划 84
6.3 LDAP常见操作指南 89
6.4 宽创建扩展LDAP测试计划 91
6.5 本章小结 他山办建剧田黑100
第7章 Web Service性能测试脚本开发 101
7.1 Web S别紧美三林ervice是什么 101
7.处适妒员称练台香为济1.1 技术和规则 102
7.1.2 目标 102
7.2 创建Web Service测试计划 105
7.3 本章小结 108
第8章 JMS性能测试脚本开发 109
8.1 JMS是什可龙么 109
8.1.1 定义 109
8.1.2 简介 109
8导认云简述条.1.3 历史 11细费0
8.1.4 体系架构 110
8.1.5 JMS模型 110
8.1.6 传递消息方式 111
8.1.7 JMS应用程序接口 112
8.1.8 JMS提供者实现 113
8.2 创建JMS点对点测试计划 113
8.3 创建JMS T极鸡战肉毫用束须opic测试计划 116
8.失波点号创以律4 本章小结 120
第9章 服务器监控测试脚本开发 121
9.1 创建监控测试计划 121
9.2 本章小结 125
第10章 详解JMet滑翻节小矿识诗众命钟般er测试元件 126
10.1 详解JMeter示除监听器(Listen了顶晶宽一意初杨希良ers) 126
10.2 详解JMeter逻辑控制器 135
10.3 详解JM怕虽松走信差笔江eter配置元件 15更1
10.4 详解JMeter断言 175
10.5 详解JMeter定时器 188
10.6 详解JMeter前置处理器 195
10.7 详解JMeter后置处理器 205
10.8 详解JMeter采样器 只信先略罗号217
10.9 详解JMeter其他测试元件 268
10.10 本章小结 286
第11章 JMeter进阶知识 287
11.1 详解JMeter函数和变量 287
11.2 详解JMeter正则表达式 310
11.3 详解J充实星起审还来探等Meter远程测试 314
11.4 详解JMeter最佳实践经验 319
11.5 一些小技巧 324
11.6 本章小结 326
第12章 性能测试结果分析 327
12.1 如何分析才担师照笔止激议拉性能测试结果 327
12.2 如何苦蒸明殖土借助监听器发现性能缺陷 330
12.2.1 监听器--性能测试分析的基石 330
12.2.2 巧用监听器--识族执费过析紧料别性能缺陷 354
12.3 借助院源金轻害酒办术府教Ant实现批量测试和报表生成 361
12.4 本章小结 363
第13章 JM体收九型临唱秋eter性能测试实战--电话销售系统 364
13.1 测试背景和测试目标 364
13.2 分析确定性能测试指标 364
13.4 录制创建性能测试脚本 366
13.5 运行性能测试脚本 369
13.6 分析性能测试结果 371
13.7 上报性能测试缺陷 374
13.8 本章小结 375
第14章 Gatling基础知识 376
14.1 Gatling与JMeter优缺点对比 378
14.2 Gatling快速上手 379
14.3 Gatling进阶指南 386
14.4 本章小结 392
第15章 Gatling详解 393
15.1 Gatling概念 393
15.2 Gatling目录结构 395
15.3 Gatling安装细节与如何适配操作系统 396
15.4 Gatling配置 397
15.5 模拟器结构 399
15.6 模拟器初始化 401
15.7 场景 403
15.8 断言 409
15.9 报告 411
15.10 本章小结 416
第16章 Gatling会话 417
16.1 Session API 417
16.2 EL 和表达式 419
16.3 填充器 420
16.4 验证 424
16.5 本章小结 426
第17章 Gatling HTTP协议 427
17.1 HTTP协议 427
17.2 HTTP请求 433
17.3 HTTP头 435
17.4 HTTP 检查点 442
17.5 SSL 447
17.6 HTTP助手 448
17.7 HTTP录制器 449
17.8 WebSocket 454
17.9 本章小结 458
第18章 Gatling JMS 459
18.1 JMS 协议 459
18.2 本章小结 461
第19章 Gatling扩展 462
19.1 Graphite 462
19.2 SBT插件 465
19.3 Maven插件 465
19.4 Jenkins插件 466
19.5 VTD XML 466
19.6 第三方插件 466
19.7 性能扩展 467
19.8 参数传递 467
19.9 处理JSF 467
19.10 本章小结 469
第20章 Gatling性能测试实战--搜索引擎 470
20.1 测试目标 470
20.2 构建Gatling场景 471
20.3 运行Gatling场景,分析结果 477
20.4 本章小结 479
折叠 编辑本段 作者简介
温素剑,毕业于电子科技大学电子信息工程专业,有多年的金融、电信行业软件开发和测试经验,目前在中国平安担任软件测试经理。
折叠 编辑本段 前言
我曾经有幸为国内最大的电信设备供应商工作过一段时间,期间听一些资深老员工讲过一个故事。这个故事大概可以被当作笑话来听,不过笑笑之后却总也忘不掉。话说20世纪90年代初的某一天,国内第一台自主研发的大型固话交换机,终于千呼万唤地"闪亮"登场了。于是乎,这家公司马上向用户大力推销这款设备,但是用户提出了一个很实际的问题彻底难住了这家公司。问题很简单,那就是需要一份性能测试报告来证明这台设备真能支持宣称的话务容量。那时候还没有成熟的电信领域性能测试工具,该怎么办呢?活人岂能让尿憋死,幸好有聪明的领导想出了一个中国式的解决办法。
某天下午,全公司的员工都放下了手头的工作,每人怀抱一部老式电话机(还要靠转盘来拨号),等领导倒数"三、二、一"后集体打电话。据说当时人数不够,达不到用户要求的通话量,甚至出现了一个人操作两部电话机的情况。我没能一睹当时的盛况,一直深感遗憾。
幸好科学技术发展到今天,已经有了多款成熟的性能测试工具,否则测试人员一定会发疯。试想当前的电信交换机话务容量早已翻了不知多少倍,如果还要靠人海战术去测试,即使全公司的员工双手双脚去操作电话机,也肯定是忙不过来的。测试人员应该为测试技术的飞速发展而感到欢心鼓舞。那么现在是否就可以高枕无忧了?答案是否定的。当前测试人员面临的问题,不再是有没有性能测试工具,而是有没有合适的性能测试工具。
怎么界定"合适"一词?我想至少可以包含如下几个方面:
技术先进,功能强大。
支持多种测试类型(协议)。
易学易用。
拥有良好的可扩展性。
拥有良好的可移植性(跨平台)。
合理的价格。
当前性能测试工具很多,但要同时满足以上数个条件的却很少。在Web性能测试领域,目前有两种工具被广泛使用,一种是LoadRunner,另一种就是JMeter。不过LoadRunner并不是一款"合适"的工具,在此并不是否认LoadRunner是一款优秀的性能测试工具,它唯一的缺点就是过于昂贵(至于LoadRunner Licence及其支持服务的具体价格,感兴趣的朋友可以向HP公司了解,相信其价格会将中国90%以上的软件公司挡在门外)。JMeter具备了LoadRunner 95%以上的功能,但其价格无限接近于零,可谓性价比极高。当然相对于商业工具LoadRunner,JMeter也有其自身的缺点。它最大的缺点就是没有专业的售后支持队伍,不过想想商业工具贵得令人咋舌的维护支持费用,也就能够释怀了。