接口测试方法论

978-7-115-58760-2
作者: 陈磊
译者:
编辑: 谢晓芳

图书目录:

目  录

第 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

详情

本书系统地讲解了如何把测试的思维和接口测试的技术结合到一起,从而使读者拥有接口测试能力,这种能力既包含工具的使用、代码的编写,也包含用例的设计。本书内容循序渐进、由浅入深,首先介绍接口和接口测试的概念以及接口测试都包含哪些测试活动,然后通过案例阐述如何从流水账式的接口测试脚本逐步抽象出属于自己的接口测试框架,接着从场景切入,系统地展示如何测试完全陌生的协议接口,以及如何在测试微服务接口时使用Mock技术梳理混乱的调用关系,最后讨论持续测试和智能化测试。 本书适合测试人员阅读,也可供计算机相关专业的师生参考。

图书摘要

相关图书

现代软件测试技术之美
现代软件测试技术之美
渗透测试技术
渗透测试技术
JUnit实战(第3版)
JUnit实战(第3版)
深入理解软件性能——一种动态视角
深入理解软件性能——一种动态视角
云原生测试实战
云原生测试实战
Android自动化测试实战:Python+Appium +unittest
Android自动化测试实战:Python+Appium +unittest

相关文章

相关课程