猜你喜欢
接口测试方法论

接口测试方法论

书籍作者:陈磊 ISBN:9787115587602
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7798
创建日期:2023-04-02 发布日期:2023-04-02
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本书系统地讲解了如何把测试的思维和接口测试的技术结合到一起,从而使读者拥有接口测试能力,这种能力既包含工具的使用、代码的编写,也包含用例的设计。本书内容循序渐进、由浅入深,首先介绍接口和接口测试的概念以及接口测试都包含哪些测试活动,然后通过案例阐述如何从流水账式的接口测试脚本逐步抽象出属于自己的接口测试框架,接着从场景切入,系统地展示如何测试完全陌生的协议接口,以及如何在测试微服务接口时使用Mock技术梳理混乱的调用关系,最后讨论持续测试和智能化测试。
本书适合测试人员阅读,也可供计算机相关专业的师生参考。
作者简介
陈磊,京东前测试架构师,阿里云有价值专家(Most Valuable Professional,MVP),华为云MVP,极客时间命题专家,中国商业联合会互联网应用工作委员会智库专家,中关村智联软件服务业质量创新联盟软件测试标准化技术委员会委员,Asian Journal of Physical Education & Computer Science in Sports编委会委员。具有多年质量工程技术实践经验,精通研发效能提升、手工测试团队的自动化测试转型实践、智能化测试,已发表近30篇学术论文,拥有专利20余篇。著有图书《京东质量团队转型实践——从测试到测试开发的蜕变》。
编辑推荐
通过代码和工具,系统展示接口测试的方法和技术。
本书基于测试工具、测试代码和测试框架,系统展示了如何提升接口测试的水平。本书首先介绍接口测试涉及的技术、工具和编程知识,然后讲述接口测试框架、性能测试和服务解耦,讨论持续测试和智能化测试。通过本书,读者可以快速完成接口测试,优化接口测试代码,让测试框架更智能。

本书主要内容:
接口测试的技术储备;
实现接口测试自动化的方法;
接口测试框架的搭建和封装;
接口测试工具Postman的用法;
性能测试即代码,实现服务器端测试的覆盖的方法;
通过正确的解耦,让测试事半功倍;
持续测试的实现;
智能化测试的实现。
目录
目  录


第 1章 测试那点事 1
1.1 软件测试概述 1
1.2 测试和质量 2
1.3 从找缺陷到质量保障 4
1.4 从质量保障到质量效能 7
1.5 自动化测试 8
1.6 接口 10
1.6.1 内部接口 11
1.6.2 外部接口 11
1.7 接口测试 12
1.8 小结 13
第 2章 为接口测试储备技术 15
2.1 接口测试都是以网络协议为基础的 15
2.1.1 OSI七层模型 16
2.1.2 TCP/IP四层模型 19
2.2 HTTP/HTTPS 20
2.2.1 HTTP状态码 22
2.2.2 HTTP头 25
2.3 Web服务器Tomcat 27
2.4 小结 28
第3章 着手准备接口测试 29
3.1 抓包工具Fiddler 29
3.1.1 Fiddler的使用技巧 30
3.1.2 Fiddler中常用的QuickExec命令 32
3.1.3 Fiddler的其他一些常见操作 33
3.2 开源的抓包工具mitmproxy 36
3.2.1 列表操作 38
3.2.2 mitmweb 39
3.3 接口测试的标准输入 41
3.3.1 理想的接口测试提测项目 41
3.3.2 理想的情况很难发生 43
3.3.3 开始第 一个接口测试 43
3.3.4 串联多个接口 48
3.4 接口测试工具Postman 49
3.4.1 使用测试用例集管理被测接口 49
3.4.2 验证接口返回结果的正确性 50
3.4.3 使用全局变量解决上下文依赖问题 52
3.5 接口测试的关键逻辑 53
3.5.1 明确被测系统 53
3.5.2 开始接口测试 53
3.5.3 Postman的接口测试和持续集成 57
3.6 小结 59
第4章 接口测试和代码 60
4.1 测试工程师需要掌握的Python基础知识 60
4.1.1 Python版的“Hello World!”程序 60
4.1.2 基本数据类型 61
4.1.3 组合数据类型 64
4.1.4 None类型 80
4.2 接口测试常用库requests 81
4.2.1 初识requests库 81
4.2.2 HTTP头的模拟 83
4.2.3 响应的处理 88
4.3 为什么要搭建团队自己的测试框架 89
4.3.1 搭建前的准备工作 90
4.3.2 开始打造测试框架 91
4.3.3 使用新框架完成多接口测试 93
4.4 unittest详解 98
4.5 小结 105

第5章 接口测试框架进阶 106
5.1 支持RESTful风格的接口 106
5.1.1 RESTful是什么 106
5.1.2 RESTful接口测试 108
5.2 让框架快速支持陌生协议的接口测试 113
5.2.1 面对陌生协议的接口测试 113
5.2.2 使用Fiddler查看WebSocket协议的接口交互信息 114
5.2.3 完成WebSocket接口测试以及扩展之前框架的功能 115
5.2.4 WebSocket一点通 119
5.2.5 WebSocket数据帧的格式 121
5.3 使框架拥有RPC接口测试能力 122
5.3.1 RPC和gRPC 122
5.3.2 gRPC接口如何测试 123
5.4 测试数据的处理 124
5.4.1 测试数据的原始方式 124
5.4.2 建立数据驱动方式 126
5.5 测试框架应有的其他一些技术属性 130
5.5.1 设计base_url 130
5.5.2 建立全局等待时间 131
5.5.3 建立全局变量的管理器 132
5.5.4 处理测试字符串 135
5.6 小结 138
第6章 性能测试 139
6.1 性能测试的一些概念 139
6.1.1 性能测试的常用指标 139
6.1.2 性能测试的分类 140
6.1.3 性能测试的前期准备 141
6.1.4 性能测试的执行 143
6.2 性能测试即代码 144
6.3 Locust和LoadRunner的对比 145
6.3.1 场景设置 146
6.3.2 结果对比 147
6.3.3 对比分析 148
6.4 初识Locust和常用参数 149
6.5 详解Locust的关键代码 158
6.6 断言和参数化 160
6.7 使用Locust测试gRPC接口的性能 163
6.8 小结 165
第7章 测试主导的服务解耦 166
7.1 微服务下混乱的调用关系 166
7.2 如何进行微服务的解耦 167
7.3 快速、轻便的Moco框架 169
7.3.1 配置Moco的运行环境 170
7.3.2 Moco的运行 170
7.3.3 Moco的JSON语法 171
7.4 小结 179
第8章 持续测试 180
8.1 持续集成、持续交付和持续部署下的持续测试 180
8.2 持续测试进行时 182
8.2.1 测试左移 182
8.2.2 测试右移 183
8.3 质量门禁 184
8.3.1 开发阶段的质量门禁 184
8.3.2 测试阶段的质量门禁 185
8.4 小结 186
第9章 智能化测试 187
9.1 智能化测试是发展的必然 188
9.2 分层测试模型中的智能化测试 192
9.2.1 开源的智能化单元测试 192
9.2.2 智能化UI测试 194
9.3 小结 195
附录A HTTP知识点 196
附录B HTTP代理工具 201
附录C Python环境的配置和Battle 系统API 206
附录D gRPC服务 210
附录E SonarQube的部署和使用 212
附录F EvoSuite的配置和使用问题 218
产品特色