第1章 大话软件测试基础 1
1.1 测试的分阶 1
1.1.1 入门阶 1
1.1.2 工程师阶 14
1.1.3 专家阶 29
1.1.4 总监阶 36
1.2 并发测试 40
1.2.1 并发测试的定义 40
1.2.2 并发测试的分类 41
1.3 自动化测试 41
1.3.1 什么是自动化测试 41
1.3.2 与手工测试的区别 42
1.3.3 自动化测试的困境 43
1.4 学习小贴士 43
第2章 Python的环境准备 45
2.1 Python介绍 45
2.2 Python的安装配置 45
2.2.1 Python版本的选择 45
2.2.2 Python的安装与配置 46
2.3 Python模块的安装 46
2.4 Python的工具 47
2.4.1 Python工具介绍 47
2.4.2 Pycharm的安装 47
2.4.3 Pycharm的使用 48
2.5 学习小贴士 50
第3章 Python的基础 51
3.1 语法规范 51
3.1.1 换行与缩进 51
3.1.2 模块导入 52
3.1.3 注释 53
3.2 变量与运算 54
3.2.1 变量 54
3.2.2 运算 57
3.3 数据结构 60
3.3.1 元组 60
3.3.2 列表 62
3.3.3 字典 63
3.4 函数 65
3.4.1 函数的定义 65
3.4.2 函数的参数 66
3.4.3 函数的返回值 67
3.4.4 函数的嵌套 68
3.5 字符串处理 70
3.5.1 字符串的转换 70
3.5.2 字符串的合并 71
3.5.3 字符串的截取 72
3.5.4 字符串的替换 73
3.6 学习小贴士 75
第4章 接口测试的基础 76
4.1 网络传输知识 76
4.1.1 协议 76
4.1.2 Cache 78
4.1.3 Cookie 82
4.1.4 Session 87
4.1.5 Token 91
4.1.6 JSON Web Token 92
4.2 HTTP协议 96
4.2.1 HTTP协议的介绍 96
4.2.2 HTTP协议的原理 99
4.2.3 Uniform Resource Locator 102
4.2.4 请求报文(request) 103
4.2.5 响应报文(response) 111
4.2.6 HTTP扩展 117
4.3 HTTPS协议详解 120
4.3.1 加密算法 121
4.3.2 数字签名 121
4.3.3 传输过程 122
4.4 WebSocket协议详解 123
4.4.1 WebSocket的由来 123
4.4.2 WebSocket的属性 124
4.4.3 WebSocket的原理 125
4.5 学习小贴士 126
第5章 模拟网络请求 127
5.1 发送HTTP请求 127
5.1.1 requests模块 127
5.1.2 请求与响应 127
5.1.3 请求参数 128
5.2 发送HTTPS请求 134
5.3 发送WebSocket请求 136
5.3.1 WebSocket模块 136
5.3.2 请求与响应 136
5.3.3 请求实例 136
5.4 学习小贴士 137
第6章 接口测试 138
6.1 接口测试的定义 138
6.2 接口测试工具 138
6.3 接口文档 141
6.4 实例 142
6.4.1 接口文档解析 142
6.4.2 测试用例 144
6.4.3 测试代码编写 144
6.5 学习小贴士 145
第7章 UnitTest测试框架 146
7.1 UnitTest模块 146
7.2 测试用例 146
7.3 测试固件 148
7.4 测试套件 149
7.5 运行测试 150
7.6 测试报告 151
7.7 学习小贴士 153
第8章 接口自动化测试 154
8.1 项目的选择 154
8.2 结构化设计 154
8.2.1 顺序结构 155
8.2.2 判断结构 155
8.2.3 循环结构 158
8.3 内置功能应用 161
8.3.1 随机产生数据 161
8.3.2 日期的获取和计算 163
8.3.3 数据加密 165
8.3.4 txt文件的读写 166
8.4 实例 169
8.4.1 测试需求分析 169
8.4.2 测试流程设计 171
8.4.3 测试环境准备 171
8.4.4 测试代码编写 171
8.4.5 实例完整代码 175
8.5 学习小贴士 177
第9章 接口并发测试 178
9.1 常见的并发问题 178
9.1.1 事务并发的问题 179
9.1.2 极限值并发的问题 180
9.1.3 压力并发的问题 180
9.1.4 异常数据干扰并发的问题 183
9.2 设计并发测试场景 183
9.2.1 设计思路整理 183
9.2.2 场景分析实例1 184
9.2.3 场景分析实例2 188
9.3 并发结果测试与结论 189
9.3.1 账户资金并发bug实例及测试建议 189
9.3.2 抽奖营销活动并发bug实例及测试建议 190
9.4 多线程并发 191
9.4.1 单线程执行 191
9.4.2 多线程执行 191
9.4.3 守护线程 194
9.4.4 阻塞线程 195
9.4.5 并发测试框架 196
9.5 实例 197
9.5.1 测试需求分析 197
9.5.2 测试方案设定 198
9.5.3 测试代码编写 199
9.5.4 实例完整代码 200
9.5.5 测试结果分析 201
9.6 学习小贴士 201
第10章 接口自动化测试实战 203
10.1 实战1 203
10.1.1 测试接口选择 203
10.1.2 测试框架构建 204
10.1.3 测试代码编写 205
10.1.4 输出测试报告 206
10.1.5 实例完整代码 208
10.2 实战2 210
10.2.1 测试用例选择 210
10.2.2 测试流程设计 211
10.2.3 测试环境准备 212
10.2.4 测试代码编写 212
10.2.5 实例完整代码 217
10.3 学习小贴士 219
第11章 接口并发测试实战 221
11.1 订单并发性能 221
11.1.1 整理并发需求 221
11.1.2 提取性能指标 221
11.1.3 测试代码编写 222
11.1.4 实例完整代码 223
11.2 WebSocket并发 225
11.2.1 整理并发需求 225
11.2.2 提取性能指标 225
11.2.3 测试代码编写 226
11.2.4 实例完整代码 226
11.3 学习小贴士 227
第12章 Jenkins持续集成 229
12.1 什么是持续集成 229
12.2 持续集成工具Jenkins 229
12.3 Jenkins的安装运行 230
12.4 Jenkins的配置 234
12.4.1 系统设置 234
12.4.2 插件管理 237
12.5 Jenkins的构建任务 238
12.5.1 新建任务 238
12.5.2 源码管理 240
12.5.3 构建触发器 241
12.5.4 构建环境 242
12.5.5 设置构建 242
12.5.6 构建后操作 244
12.6 运行构建任务 244
12.7 学习小贴士 246
第13章 Python的其他用途 247
13.1 批量处理数据 247
13.2 本地命令集成 248
13.3 查看服务器日志 249
13.4 学习小贴士 250
第14章 测试人员的发展 251
14.1 测试人员的现状 251
14.2 测试人员的地位 254
14.3 测试人员的评审标准 254
14.4 测试人员的学习 255
14.5 测试人员的分享 257
14.6 Python对于测试人员的意义 265
14.7 测试人员的转型 265
14.7.1 Quality Assurance 265
14.7.2 开发工程师 266
14.7.3 产品经理 266
14.7.4 项目经理 266
14.8 学习小贴士 267
后记 268