零成本实现Web性能测试:基于Apache JMeter和Gatling 9787121282874,7121282879

配送至
$ $ USD 美元

编辑推荐

针对性强,所有示例源于实际开发
实例讲解,以大大小小的案例对应每一个知识点
代码丰富,数千行实战代码,培养超强动手能力
案例实战,最后给出3个完整的大型系统

作者简介

温素剑,毕业于电子科技大学电子信息工程专业,有多年的金融、电信行业软件开发和测试经验,目前在中国平安担任软件测试经理。

目录

第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.1Web性能测试的重要性8
1.2.2开源性能测试8
1.2.3开源性能测试的优势9
1.3本章小结9
第2章JMeter基础知识10
2.1JMeter简介10
2.1.1JMeter主要特点11
2.1.2JMeter常用术语12
2.1.3JMeter测试结果字段的意义12
2.2JMeter工作原理13
2.3JMeter的安装13
2.3.1JMeter安装配置要求13
2.3.2JMeter安装13
2.4如何运行JMeter14
2.5配置JMeter20
2.6JMeter与LoadRunner优缺点对比21
2.7本章小结21
第3章Web性能测试脚本录制与开发22
3.1JMeterGUI基本操作22
3.2JMeter常用测试元件25
3.3JMeter脚本开发基础32
3.3.1JMeter执行顺序规则32
3.3.2作用域规则33
3.3.3JMeter属性和变量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.1FTP是什么64
5.2创建FTP测试计划68
5.3本章小结72
第6章LDAP性能测试脚本开发73
6.1LDAP是什么73
6.2创建LDAP测试计划84
6.3LDAP常见操作指南89
6.4创建扩展LDAP测试计划91
6.5本章小结100
第7章WebService性能测试脚本开发101
7.1WebService是什么101
7.1.1技术和规则102
7.1.2目标102
7.2创建WebService测试计划105
7.3本章小结108
第8章JMS性能测试脚本开发109
8.1JMS是什么109
8.1.1定义109
8.1.2简介109
8.1.3历史110
8.1.4体系架构110
8.1.5JMS模型110
8.1.6传递消息方式111
8.1.7JMS应用程序接口112
8.1.8JMS提供者实现113
8.2创建JMS点对点测试计划113
8.3创建JMSTopic测试计划116
8.4本章小结120
第9章服务器监控测试脚本开发121
9.1创建监控测试计划121
9.2本章小结125
第10章详解JMeter测试元件126
10.1详解JMeter监听器(Listeners)126
10.2详解JMeter逻辑控制器135
10.3详解JMeter配置元件151
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详解JMeter远程测试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章JMeter性能测试实战——电话销售系统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.1Gatling与JMeter优缺点对比378
14.2Gatling快速上手379
14.3Gatling进阶指南386
14.4本章小结392
……
第15章Gatling详解393
第16章Gatling会话417
第17章GatlingHTTP协议427
第18章GatlingJMS459
第19章Gatling扩展462
第20章Gatling性能测试实战——搜索引擎470

序言

前言

我曾经有幸为国内最大的电信设备供应商工作过一段时间,期间听一些资深老员工讲过一个故事。这个故事大概可以被当作笑话来听,不过笑笑之后却总也忘不掉。话说20世纪90年代初的某一天,国内第一台自主研发的大型固话交换机,终于千呼万唤地“闪亮”登场了。于是乎,这家公司马上向用户大力推销这款设备,但是用户提出了一个很实际的问题彻底难住了这家公司。问题很简单,那就是需要一份性能测试报告来证明这台设备真能支持宣称的话务容量。那时候还没有成熟的电信领域性能测试工具,该怎么办呢?活人岂能让尿憋死,幸好有聪明的领导想出了一个中国式的解决办法。
某天下午,全公司的员工都放下了手头的工作,每人怀抱一部老式电话机(还要靠转盘来拨号),等领导倒数“三、二、一”后集体打电话。据说当时人数不够,达不到用户要求的通话量,甚至出现了一个人操作两部电话机的情况。我没能一睹当时的盛况,一直深感遗憾。
幸好科学技术发展到今天,已经有了多款成熟的性能测试工具,否则测试人员一定会发疯。试想当前的电信交换机话务容量早已翻了不知多少倍,如果还要靠人海战术去测试,即使全公司的员工双手双脚去操作电话机,也肯定是忙不过来的。测试人员应该为测试技术的飞速发展而感到欢心鼓舞。那么现在是否就可以高枕无忧了?答案是否定的。当前测试人员面临的问题,不再是有没有性能测试工具,而是有没有合适的性能测试工具。
怎么界定“合适”一词?我想至少可以包含如下几个方面:
? 技术先进,功能强大。
? 支持多种测试类型(协议)。
? 易学易用。
? 拥有良好的可扩展性。
? 拥有良好的可移植性(跨平台)。
? 合理的价格。
当前性能测试工具很多,但要同时满足以上数个条件的却很少。在Web性能测试领域,目前有两种工具被广泛使用,一种是LoadRunner,另一种就是JMeter。不过LoadRunner并不是一款“合适”的工具,在此并不是否认LoadRunner是一款优秀的性能测试工具,它唯 一的缺点就是过于昂贵(至于LoadRunner Licence及其支持服务的具体价格,感兴趣的朋友可以向HP公司了解,相信其价格会将中国90%以上的软件公司挡在门外)。JMeter具备了LoadRunner 95%以上的功能,但其价格无限接近于零,可谓性价比极高。当然相对于商业工具LoadRunner,JMeter也有其自身的缺点。它最大的缺点就是没有专业的售后支持队伍,不过想想商业工具贵得令人咋舌的维护支持费用,也就能够释怀了。
写作背景
我目前在一家大型保险公司IT测试部门工作,带领一个测试团队负责测试公司的电话销售系统。这个系统非常庞大,由多个子系统构成,同时它又与很多公司内部/外部系统(例如银联、银行的交易系统)发生交互,目前公司有数万员工依赖它来完成每日的销售任务。如此复杂的一个系统,偏偏又拥有数量众多的用户,读者朋友可以试想一下,只要此系统稍有异常,业务部门的投诉绝对会让IT部门“吃不了兜着走”。
面对频繁的版本发布,严格的系统性能测试是不可或缺的。测试部门也花大价钱购买了商业工具LoadRunner,但是实际工作中发现测试人员还是受到颇多限制。其一,测试资源存在瓶颈,公司购买的Licence是有限的,无法完全满足测试人员的需求,经常出现人等机器的情况,甚至影响到了软件版本的及时发布;其二,公司购买的并发数许可也是有限的,如果需要模拟更大的系统压力,那么对不起,公司还得再掏钱;其三,公司购买的协议类型是有限的,如果需要使用其他未购置的协议类型,对不起,公司依然需要再掏钱(测试人员很难用临时的测试需求,去说服领导拨上一大笔经费)。
在尝试说服领导增加预算失败后,只能转而寻求其他解决办法,那就是开源性能测试工具JMeter。经过大规模的试用后,发现JMeter完全能够满足测试人员的需求。
“云计算”绝对是当前最热的IT词汇之一。“云”听起来很虚幻,其实就是瘦客户端加网格计算。今后客户端不再会有大量的计算任务,计算和存储都被放在云上。在作者看来,今后的客户端应该就是一个浏览器,用户的所有操作都是通过浏览器来实现的。Google发布的操作系统Chrome OS,就是基于这一理念设计的。B/S和C/S架构的软件系统,应该会慢慢演进到Browser/Cloud模式。如此看来,在云计算时代,Web性能测试依然很重要,而且会越来越重要。因此,本人萌生了写作一本关于Web性能测试的书籍的想法。
本书内容
本书着重介绍如何使用JMeter和Gatling开源性能测试工具,来构建Web性能测试体系。
本书不是一本讲述深奥测试理论的教科书,而是一本实战类的书籍。作者想要达到的目标就是——读者朋友们在认真读完本书后,马上就能在生产实践中用上所学内容。本书首先介绍基础的性能测试理论,接着详细介绍如何使用JMeter来完成各种类型的性能测试,最重要的则是性能测试实战章节。实战章节中作者以测试某大型保险公司电话销售系统为例,手把手教会读者如何用JMeter来完成一个实际的性能测试任务。本书第1章介绍性能测试理论,第2~12章详细介绍JMeter工具在各种场景下的使用方法,以及如何分析性能测试结果,第13章是性能测试实战。从第14章开始,将会介绍一种新颖的性能测试工具Gatling,作为JMeter的一种有益补充。
目标读者
本书的目标读者是初级和资深软件测试工程师,以及有意降低性能测试成本的测试经理。本书也适合应届毕业生,要想熟练掌握性能测试的方法和技巧,本书也是一块不错的敲门砖。
感谢
首先要感谢我的家人,正是由于他们默默的支持,我才能静下心来写作。其次还要感谢参与本书编写的部门同事刘兴翚、何邱、邓智、谷明、李喆、李坤、袁春梅、唐明娟、李颖、陈建红、徐雅、曾泗维。

温素剑
2015年12月3日

目录

第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.1Web性能测试的重要性 8
1.2.2开源性能测试 8
1.2.3开源性能测试的优势 9
1.3本章小结 9
第2章JMeter基础知识 10
2.1JMeter简介 10
2.1.1JMeter主要特点 11
2.1.2JMeter常用术语 12
2.1.3JMeter测试结果字段的意义 12
2.2JMeter工作原理 13
2.3JMeter的安装 13
2.3.1JMeter安装配置要求 13
2.3.2JMeter安装 13
2.4如何运行JMeter 14
2.5配置JMeter 20
2.6JMeter与LoadRunner优缺点对比 21
2.7本章小结 21
第3章Web性能测试脚本录制与开发 22
3.1JMeter GUI基本操作 22
3.2JMeter常用测试元件 25
3.3JMeter脚本开发基础 32
3.3.1JMeter执行顺序规则 32
3.3.2作用域规则 33
3.3.3JMeter属性和变量 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.1FTP是什么 64
5.2创建FTP测试计划 68
5.3本章小结 72
第6章LDAP性能测试脚本开发 73
6.1LDAP是什么 73
6.2创建LDAP测试计划 84
6.3LDAP常见操作指南 89
6.4创建扩展LDAP测试计划 91
6.5本章小结 100
第7章Web Service性能测试脚本开发 101
7.1Web Service是什么 101
7.1.1技术和规则 102
7.1.2目标 102
7.2创建Web Service测试计划 105
7.3本章小结 108
第8章JMS性能测试脚本开发 109
8.1JMS是什么 109
8.1.1定义 109
8.1.2简介 109
8.1.3历史 110
8.1.4体系架构 110
8.1.5JMS模型 110
8.1.6传递消息方式 111
8.1.7JMS应用程序接口 112
8.1.8JMS提供者实现 113
8.2创建JMS点对点测试计划 113
8.3创建JMS Topic测试计划 116
8.4本章小结 120
第9章服务器监控测试脚本开发 121
9.1创建监控测试计划 121
9.2本章小结 125
第10章详解JMeter测试元件 126
10.1详解JMeter监听器(Listeners) 126
10.2详解JMeter逻辑控制器 135
10.3详解JMeter配置元件 151
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章J

文摘

版权页:



插图:
ISBN9787121282874,7121282879
出版社电子工业出版社
作者温素剑
尺寸16