前言

性能测试是一种评估在给定的工作负载下系统或应用的响应速度、可靠性、吞吐量、互操作性以及可扩展性的测试。这对任何软件产品的成功运行和维护来说都是不可缺少的关键部分。同时性能测试也是衡量应用是否可以支持更大用户群的重要手段。

JMeter是一个免费、开源、跨平台的性能测试工具,于20世纪90年代后期面世。这是一个成熟、健全且具有高度可扩展性的工具。JMeter有大量的用户,并提供了大量用于测试的插件。

这是一本基于如何根据测试需求使用JMeter的实践指南。本书首先简单介绍了性能测试,然后快速进入正题,包括录制测试脚本、监控系统资源,同时扩展介绍了JMeter的几个元件,以及使用云进行测试,通过插件扩展JMeter的功能等。在这个过程中,你将会编写部分代码,学习使用Vagrant、Tomcat这些工具,并学习在测试工作中需要用到的所有相关知识。

无论你是开发人员还是测试人员,本书都介绍了一些非常重要的知识,这些知识对你将来从事的测试工作会有很大帮助。

本书内容

第1章介绍性能测试的基础知识以及JMeter的安装和配置。

第2章介绍如何录制你的第一个JMeter测试脚本,并分析JMeter测试脚本的细节。

第3章介绍表单提交的细节。该章讨论各种HTML表单元素(复选框、单选按钮、文件上传和下载等),以及JSON数据与XML的处理。

第4章介绍会话管理,包括使用Cookie和URL重写两种方式。

第5章介绍如何监控测试执行过程中的系统资源活动,并讨论如何启动一个服务器以及通过插件扩展JMeter。

第6章深入探究如何使用云进行性能测试。该章将会介绍Vagrant和AWS这类工具,并探索目前已有的云测试平台BlazeMeter和Flood.io。

第7章介绍一些有用的小贴士,并给出在JMeter使用方面非常有效的方法和建议。

阅读本书需要做什么准备

为了能够成功运行本书中提供的示例代码,你需要准备:

●一台计算机;

●JMeter(参见Apache网站);

●Java运行环境(Java Runtime Environment, JRE)或Java开发工具包(Java Development Kit, JDK),参见Oracle网站。

此外,针对第5章,你还需要准备Tomcat(参见Apache网站)。

针对第6章,你还需要准备:

●Vagrant;

●1个AWS账号;

●1个BlazeMeter账号;

●1个Flood.io账号。

书中也会结合以上所需设置提供一些其他有用的网站。

本书读者对象

本书主要的目标读者是开发人员和测试人员。如果你是一位对性能测试感兴趣并想接触性能测试的开发人员,你会发现本书非常有用,通过练习本书中的实例,你将大幅度提升测试技能。

本书对测试人员也会非常有益,本书将指导他们解决在测试现代Web应用程序过程中遇到的实际问题,本书提供的丰富知识将使他们成为更优秀的测试人员。此外,在他们的实际测试工作中,本书中涉及的测试工具将随时派上大用场。

本书约定

本书采用以下版式约定。

代码块如下所示。

name=firstName0lastName0
name_g=2
name_g0="firstName":"Larry","jobs":[{"id":1,"description":"Doctor"}],"
lastName":"Ellison"
name_g1=Larry
name_g2=Ellison
server=jmeterbook.aws.af.cm

当我们希望突出代码块中的某些部分时,相关行或相关代码将会加粗,如下所示。

name=firstName0lastName0
name_g=2
name_g0="firstName":"Larry","jobs":[{"id":1,"description":"Doctor"}],"
lastName":"Ellison"
name_g1=Larry
name_g2=Ellison
server=jmeterbook.aws.af.cm

所有的命令行输入和输出都将如下所示。

vagrant ssh n1
cd /opt/apache-jmeter-2.12/bin
./jmeter --version

表示警告或重要的提醒。

表示提示和技巧。

读者反馈

非常欢迎读者的反馈。请让我们知道你对本书的看法——不论是否喜欢。读者反馈对我们非常重要,可以帮助我们开发更多符合市场需求的选题。

可以通过发送邮件至feedback@packtpub.com提供反馈,请在反馈信息中说明本书的书名。

如果你有兴趣写书,请查看packtpub网站上的作者指南。

勘误

尽管我们已经努力确保内容的准确性,但是错误是不可避免的。如果你发现了本书中的错误(也许是文字或代码的错误),并且能提交勘误,我们将非常感谢。这不仅可以使其他读者少走弯路,还可以帮助我们改进本书随后的版本。如果你发现任何错误,请访问packtpub网站,选择你的图书,单击Errata Submission Form链接,然后输入错误的具体内容,从而提交勘误。一旦你提交的勘误被确认,这条勘误信息将上传至我们的网站或添加至本书Errata部分已有的勘误表中。

通过访问packtpub网站,输入书名,可以查看之前提交的勘误。勘误信息将会出现在Errata部分。

版权

因特网上图书的版权问题从来就没间断过。Packt非常重视版权和授权。如果你在因特网上发现任何盗版的Packt图书,请把网址或网站名称发送给我们,便于我们及时采取补救措施。

如果怀疑是盗版书,请通过copyright@packtpub.com联系我们。

非常感谢你为保护我们的版权所做的努力,我们也将尽力提供有价值的内容。

问题

关于本书的任何问题,都可以通过questions@packtpub.com联系我们,我们将尽全力解答你的问题。