最近总在思考一个问题: 在这些年所从事的软件技术相关的工作中,沉淀了些什么可以作为经验讲述给后来者?荀子在《劝学》中给出的答案是传道、授业、解惑。团队中每年都会有新人进来,在对新入职员工培训时,通常会告诉他们快速融入团队需要掌握哪些知识和解答他们在工作中遇到的问题。现在看来,这算是授业和解惑了。
胜任一份接口自动化测试工作,首先需要熟悉的就是协议。这就相当于接口测试的心法,再配合被测软件使用场景具体的业务知识,基本就可以做接口测试了。本书重点介绍了HTTP相关的基础知识,对WebService、WebSocket、gRPC也有所涉及。接口测试工具在这个过程中所充当的就是工具的本义。就像框架的存在是为了提升工作效率。从这个角度理解,本书中所涉及的几款接口测试工具,其实就是工具化的接口测试框架。
作为一名IT从业者,笔者的职业生涯里接触了很多编程语言、工具、框架,其中的一个或者几个在一段特定的时间里会成为工作中的主要内容。随着时间的推移,有些技术会更迭,有些工具会升级(或者被新的工具所取代),有时甚至因为工作的缘故某些特定的技术和工具被束之高阁。面对新的技术和工具,需要具有快速学习和上手的能力。这也是技术岗在招聘时很在意学习能力的原因吧,因此在本书的写作过程中,笔者有意识地将自己学习技术和工具的方法融入具体技术的讲解中,希望这种学习方法能够帮助更多后来者。
笔者现在主要是带团队做CNAS、CMA软件相关的第三方评测工作,同时乐于将自己工作中所沉淀下来的技术分享出来。本书是笔者的第2本技术类作品,不足之处请多包涵。如果在学习接口自动化测试技术时,从本书中得到了一些帮助,则是笔者的荣幸。
本书目标读者
本书未涉及Python基础的讲解,因此在学习本书前需要有一些Python基础知识。书中内容适合大多数有意学习或提升接口自动化测试技能的读者。目标读者可以概括为以下几类。
(1) 对软件接口自动化测试技术感兴趣的初学者,跟着书中的顺序学习即可。
(2) 接口测试工程师,通过本书系统化自己所掌握的自动化测试技术。
(3) 性能测试工程师,通过本书的学习可以手工编写和优化性能测试脚本。
(4) 高等院校测试专业或测试培训班的学生,提升自己的岗位竞争力。
(5) 有意愿提升自己接口测试技术的从业者或准从业者,学习永远不晚。
本书的特色
本书是一本适合自学的接口自动化测试技术参考书,主要有以下几个特色。
(1) 涵盖Postman、JMeter、Apifox等主流接口测试工具。
(2) 以实例代码驱动接口测试知识点的讲解。
(3) 基于Requests unittest Python架构的接口测试框架讲解。
本书主要内容
基础篇(第1~5章): 本篇主要介绍接口自动化测试行业现状,基础环境的搭建与配置,主流接口测试工具的介绍及下载并安装; HTTP基础知识; Fiddler抓包工具的使用,常用命令,基于手机端App抓包及实用技巧; 第三方接口工具包Requests的初级使用。
工具篇(第6~8章): 本篇主要介绍Postman的基本使用方法及Newman的使用; Apifox接口测试及接口文档的管理,HTTP、WebSocket、WebService和gRPC接口实例; JMeter接口测试流程、断言、输出和案例。
框架篇(第9~14章): 本篇主要介绍数据驱动在测试框架中的应用; 基于数据驱动模式的自动化框架实现及框架实战案例; 持续集成的部署与运行。
扫描封底的文泉云盘防盗码,再扫描目录上方的二维码可下载本书源代码。
致谢
首先要感谢清华大学出版社赵佳霓编辑,你的宽容和责任心让本书得以顺利出版。还要感谢我的恩师赵慎龙老师和邓祖华老师对我的帮助。最后要感谢我的妻子在本书写作期间给予我的支持。感谢一路走来所有关心和帮助过我的人。
胡胜强2024年10月