图书前言

前言

软件测试从测试方向上分为功能测试和非功能测试。功能测试以外的测试均为非功能测试。非功能测试又可分为易用性测试、性能测试、安全性测试、可靠性测试、可维护性测试等。

软件测试从测试方法上可分为自动化测试和非自动化测试。自动化测试既可以自己编写测试脚本,也可以使用已有的测试工具;非自动化测试通过手工的方式进行测试。在非功能测试中,性能测试必须使用自动化测试工具,这是因为在性能测试中并发测试是非常重要的一个测试内容。如果不使用自动化测试工具,性能测试是很难实现的。性能测试可以自己构建,也可以使用现有的性能测试产品构建。

前些年,自动化测试最热门的工具是HP公司的LoadRunner。近几年来,在移动互联网对并发量要求越来越高的情况下,开源的性能测试工具JMeter越来越受到软件测试工程师的认可。另外,由于JMeter是基于协议的测试工具,所以也可以进行接口测试(一种不考虑GUI,仅考虑协议的功能测试技术)和安全测试。然而,JMeter毕竟是一个开源的测试工具,其易用性远远比不上LoadRunner。现在市面上关于JMeter的图书比较少,而仅有的几种图书也主要是对JMeter工具本身进行介绍。许多读者反映,阅读了这些书,仅仅知道了JMeter的各个元件的功能,还是不知道如何将JMeter结合到实际工作中。为此,我编写了本书,基于案例手把手地帮助读者掌握JMeter的使用方法。

本书内容可以分为5部分。

第1部分为本书的第1、2章,是入门内容。第1章介绍JMeter基础知识和安装方法,并介绍被测产品——电子商务系统,这个被测产品将贯穿本书的始终;第2章介绍在JMeter中用得最多的协议——HTTP/HTTPS。

第2部分为本书的第3~6章,主要介绍测试脚本的建立。第3章介绍测试脚本初始化;第4章介绍如何建立登录接口测试脚本;第5章介绍如何建立其他接口测试脚本,包括与注册、商品、购物车和订单相关的接口测试脚本;第6章介绍JMeter的二次开发,即针对复杂业务建立测试脚本的方法。

第3部分为本书的第7章,介绍如何利用JMeter进行安全测试。

第4部分为本书的第8、9章,介绍性能测试。第8章介绍如何在接口测试的基础上进行性能测试;第9章介绍如何运行JMeter和进行性能测试监控。

第5部分为本书的第10章,简要介绍在前面各章中没有提及的比较重要的JMeter元件。

对于工具的介绍,大部分图书采取的方式是先介绍工具涉及的理论知识,然后介绍工具本身。编者认为这种方式不便于初学者快速掌握工具的使用。反过来,先对工具进行一系列操作,对工具有了一定的感性认识,再学习理论,才会对工具的使用有更深入的了解。建议读者在学习完理论知识以后,再回过头来想一想开始时这样操作的原因,这样的学习方法对于掌握工具更有好处。基于这样的思路,本书第2~8章的内容都是按照先操作再介绍产品的顺序组织的。

另外,本书的主要内容都配有微视频课程以及相关的代码和JMeter脚本。

在下面的二维码中,有本书配套微视频课程、相关代码和JMeter脚本的观看方式,以及作者的公众号和本书的讨论群信息。

顾翔2022年10月