软件自动化测试入门攻略 版权信息
- ISBN:9787302651048
- 条形码:9787302651048 ; 978-7-302-65104-8
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>
软件自动化测试入门攻略 本书特色
《软件自动化测试入门攻略》一书是作者花费了近两年时间完成的一本大作,专门为入 门、入行人员编写,无论你是初学者,还是想转型、转专业学习软件自动化测试,本书 都适合你。
书中充分考虑到新手入门自动化测试的特点,从工具学习入手,包括Unittest、 Pytest、Requests、Selenium、Postman、Appium、JMeter,对于入行者来说,掌握这几 种工具,是从事相关工具的前题,然后以一个真实的项目为例分别介绍了各种工具在单元测试、代码包测试、接口测试、Web UI测试、移动端测试、性能测试中的应用,各测试范例均依照“需求分析→用例设计→脚本开发→测试执行→结果分析”的自动化测试流程,详细介绍方法论、关键知识与核心技能,这样安排的好处是,学以致用,有的放矢,学完之后,即可直接上手公司项目,本书的*后还介绍了测试项目的容器化部署,这也是目前在测试项目中广泛使用的技术。
《软件自动化测试入门攻略》结构新颖,内容丰富,与实际工作紧张结合,看得懂,学得会,用得上,是本书的一大特色,相信所有想入手自动测试的读者,本书都能让你受益匪浅。
软件自动化测试入门攻略 内容简介
《软件自动化测试入门攻略》以软件自动化测试工具在项目实践中的应用为主线,依照“需求分析→用例设计→脚本开发→测试执行→结果分析”的自动化测试流程,详细介绍软件自动化测试的方法论、推荐知识与核心技能。全书共15章,第1章至第8章主要介绍当前企业使用率**的unittest、pytest、Requests、Postman、Selenium、Appium和JMeter 7款自动化测试工具,第9章至第14章分别以Leadshop开源商城系统中的部分模块为实战对象,运用前述章节的工具依次实现单元测试、代码包测试、接口测试、Web UI测试、移动端测试和性能测试演练,完成基础工具的单个知识点学习到项目的综合运用,第15章介绍Docker容器技术及其在Jenkins中实现测试项目的任务部署,完成分布式节点挂载和定时执行。
《软件自动化测试入门攻略》来自一线资深测试工程师多年从业经验的总结,内容详实,贴近实际工作需要,既可帮助对自动化测试感兴趣的新手快速入门和入行,又可对有一定测试基础的读者实现自我能力的提升和突破。
软件自动化测试入门攻略 目录
第1章 自动化测试概述 1
1.1 什么是软件自动化测试 1
1.1.1 定义 1
1.1.2 应用条件 1
1.1.3 对比手工测试 2
1.1.4 分类 3
1.1.5 价值 4
1.2 自动化测试的概念 6
1.2.1 流程 6
1.2.2 原则 7
1.2.3 测试模型 8
1.2.4 度量模型 10
1.3 自动化测试常用工具 12
1.3.1 单元测试工具 12
1.3.2 代码包测试工具 13
1.3.3 接口测试工具 13
1.3.4 Web UI测试工具 14
1.3.5 App测试工具 15
1.3.6 性能测试工具 16
1.4 如何入门自动化测试 17
1.4.1 入门是基础 17
1.4.2 入行是起点 18
1.4.3 入职是挑战 18
1.5 思考题 18
第2章 unittest 19
2.1 简介 19
2.2 测试用例 20
2.3 测试脚手架 21
2.4 测试套件 23
2.4.1 TestSuite类构建 23
2.4.2 TestLoader类构建 25
2.4.3 其他方法构建 26
2.5 测试运行器 27
2.6 命令行接口 28
2.7 用例执行顺序 30
2.8 测试断言 31
2.9 skip装饰器 33
2.10 模拟对象mock 36
2.11 ddt实现参数化 38
2.12 多线程运行 42
2.13 定时运行 44
2.14 生成测试报告 46
2.15 发送测试结果通知 48
2.16 思考题 54
第3章 pytest 55
3.1 简介 55
3.2 **个示例 55
3.3 测试用例 57
3.4 命令行参数 59
3.5 跳过 61
3.6 标记 62
3.6.1 内置标记 63
3.6.2 自定义标记 64
3.7 夹具 66
3.7.1 fixture参数 66
3.7.2 夹具的使用 67
3.7.3 夹具作用域 68
3.7.4 共享夹具 70
3.8 参数化 72
3.8.1 标记方式实现 72
3.8.2 夹具方式实现 73
3.9 配置文件 74
3.10 插件 76
3.11 分布式执行 77
3.12 Allure测试报告 79
3.12.1 Allure安装 79
3.12.2 生成测试报告 80
3.12.3 Allure特性与应用示例 82
3.13 思考题 87
第4章 Requests 88
4.1 简介 88
4.2 主要方法 89
4.2.1 请求示例 89
4.2.2 查询参数 90
4.2.3 响应对象 91
4.3 发送GET请求 92
4.3.1 params参数 92
4.3.2 自定义请求头 93
4.4 发送POST请求 94
4.4.1 data参数 95
4.4.2 json参数 96
4.5 发送其他类型的请求 97
4.5.1 发送HEAD请求 98
4.5.2 发送PUT请求 98
4.5.3 发送PATCH请求 98
4.5.4 发送DELETE请求 99
4.6 文件上传 99
4.7 文件下载 100
4.8 Cookies参数 101
4.9 Session对象 103
4.10 重定向 104
4.11 添加代理 105
4.12 超时设置 106
4.13 异常处理 106
4.14 证书验证 107
4.15 身份认证 107
4.16 生成测试用例脚本 108
4.17 思考题 110
第5章 Postman 111
5.1 安装 111
5.2 界面介绍 113
5.3 HTTP请求 115
5.3.1 请求界面介绍 116
5.3.2 GET请求 117
5.3.3 POST请求 118
5.3.4 其他类型请求 121
5.3.5 文件上传 122
5.3.6 文件下载 123
5.3.7 授权 124
5.3.8 前置脚本 126
5.3.9 后置脚本 128
5.3.10 请求设置 131
5.3.11 其他 132
5.4 环境和变量 132
5.5 Cookies管理 135
5.6 代理设置 136
5.7 证书管理 138
5.8 集合管理 140
5.8.1 执行集合 141
5.8.2 参数化 142
5.8.3 分支和循环 144
5.9 模拟服务器 145
5.10 监视器 148
5.11 命令行执行集合 152
5.12 思考题 157
第6章 Selenium 158
6.1 简介 158
6.1.1 版本演进 158
6.1.2 特点 159
6.1.3 WebDriver的工作原理 159
6.2 环境准备 160
6.2.1 安装Selenium 160
6.2.2 安装浏览器驱动 161
6.2.3 **个示例 162
6.3 浏览器操作 163
6.4 页面元素定位 169
6.4.1 页面查找元素 170
6.4.2 id定位 171
6.4.3 name定位 171
6.4.4 class定位 172
6.4.5 tag定位 172
6.4.6 link定位 173
6.4.7 partial link定位 173
6.4.8 css定位 173
6.4.9 xpath定位 174
6.4.10 相对定位 178
6.4.11 定位一组元素 179
6.5 获取页面内容 180
6.6 获取元素属性 181
6.7 页面元素操作 183
6.7.1 单击 183
6.7.2 输入文本 184
6.7.3 清除文本 184
6.7.4 提交表单 185
6.7.5 单选框操作 186
6.7.6 复选框操作 187
6.7.7 下拉框操作 187
6.7.8 Frame结构操作 189
6.8 文件操作 191
6.8.1 文件上传 191
6.8.2 文件下载 192
6.9 模拟鼠标操作 194
6.10 模拟键盘操作 197
6.11 延时等待 198
6.12 浏览器配置 201
6.13 其他操作 203
6.13.1 调用JavaScript 203
6.13.2 Cookie操作 204
6.13.3 屏幕截图 205
6.13.4 获取环境信息 205
6.13.5 执行CDP命令 206
6.13.6 设置超时时间 207
6.14 Webdriver Manager 207
6.15 Selenium Grid 208
6.16 生成测试用例脚本 212
6.17 思考题 218
第7章 Appium 219
7.1 简介 219
7.2 Android模拟器 220
7.3 ADB工具 221
7.3.1 ADB的工作原理 221
7.3.2 ADB工具安装 222
7.3.3 ADB常用命令 224
7.3.4 自动化测试中常用的ADB命令 225
7.4 Appium环境准备 228
7.4.1 安装Appium Desktop 228
7.4.2 安装Appium Inspector 229
7.4.3 Appium简单使用 230
7.4.4 Inspector功能 233
7.4.5 脚本录制 233
7.4.6 查看元素属性 236
7.5 Appium Server 236
7.6 Appium Client 238
7.7 UI Automator Viewer 240
7.8 元素定位 241
7.9 元素操作 243
7.10 获取元素属性 244
7.11 触控事件 246
7.11.1 TouchAction 246
7.11.2 输入源行为 248
7.11.3 单点触控 249
7.11.4 多点触控 250
7.11.5 其他触控操作 252
7.12 设备交互API 254
7.13 Android Toast识别 258
7.14 其他操作 259
7.15 不同应用的测试 262
7.15.1 App应用程序的分类 262
7.15.2 案例一:
原生应用的测试 263
7.15.3 案例二:
Web应用测试 271
7.15.4 案例三:
混合应用测试 275
7.15.5 案例四:
微信小程序测试 277
7.16 稳定性测试 279
7.16.1 Monkey简介 279
7.16.2 Monkey常用参数 280
7.16.3 Monkey日志分析 282
7.17 思考题 285
第8章 JMeter 286
8.1 简介 286
8.2 安装 287
8.3 配置文件 288
8.4 界面介绍 291
8.5 脚本录制 293
8.6 基本组件 297
8.7 测试计划 298
8.8 线程组 301
8.8.1 普通线程组 302
8.8.2 开放模型线程组 304
8.9 取样器 305
8.9.1 HTTP请求 306
8.9.2 调试取样器 311
8.9.3 BeanShell 取样器 312
8.9.4 FTP请求 314
8.9.5 JDBC请求 316
8.9.6 SMTP取样器 316
8.10 配置元件 320
8.10.1 CSV数据文件设置 321
8.10.2 HTTP信息头管理器 323
8.10.3 HTTP Cookie管理器 324
8.10.4 HTTP请求默认值 326
8.10.5 JDBC连接配置器 327
8.10.6 随机变量 330
8.11 前置处理器 332
8.11.1 用户参数 333
8.11.2 取样器超时 334
8.12 后置处理器 334
8.12.1 CSS/Query提取器 335
8.12.2 JSON提取器 337
8.12.3 正则表达式提取器 338
8.12.4 XPath提取器 339
8.13 断言 341
8.13.1 响应断言 342
8.13.2 JSON断言 343
8.13.3 XPath断言 345
8.14 定时器 346
8.14.1 固定定时器 347
8.14.2 统一随机定时器 347
8.14.3 同步定时器 347
8.14.4 高斯随机定时器 348
8.15 监听器 348
8.15.1 查看结果树 349
8.15.2 聚合报告 350
8.15.3 响应时间图 351
8.15.4 断言结果 351
8.16 逻辑控制器 352
8.16.1 IF控制器 353
8.16.2 循环控制器 354
8.16.3 ForEach控制器 355
8.16.4 仅一次控制器 356
8.17 作用域和执行顺序 357
8.18 插件 357
8.19 函数 360
8.20 分布式部署 362
8.21 可视化监控平台的搭建与使用 364
8.21.1 安装和部署InfluxDB 1.7 365
8.21.2 安装和部署Grafana 365
8.21.3 Grafana中添加
JMeter模板 366
8.21.4 创建和运行JMeter脚本 367
8.22 思考题 368
第9章 实现单元测试 370
9.1 被测产品介绍 370
9.1.1 项目介绍 370
9.1.2 产品搭建 371
9.2 单元测试简介 374
9.2.1 概念 374
9.2.2 分类 375
9.2.3 对测试人员的要求 375
9.3 用例设计方法 376
9.3.1 路径覆盖 377
9.3.2 语句覆盖 377
9.3.3 条件覆盖 378
9.3.4 判定覆盖 379
9.3.5 判定和条件覆盖 380
9.3.6 条件组合覆盖 381
9.4 实战对象 381
9.5 设计测试用例 383
9.6 编写测试脚本 384
9.7 统计代码覆盖率 385
9.8 思考题 387
第10章 实现代码包测试 389
10.1 什么是代码包 389
10.2 用例设计方法 389
10.3 实践对象 390
10.4 设计测试用例 392
10.5 编写测试脚本 393
10.6 测试运行 397
10.7 思考题 398
第11章 实现接口测试 399
11.1 接口测试简介 399
11.1.1 概念 399
11.1.2 常见接口协议 400
11.2 用例设计方法 401
11.3 实战对象 403
11.4 构建项目结构 404
11.5 设计测试用例 406
11.6 编写项目脚本 407
11.6.1 设计测试用例文件 407
11.6.2 添加基础配置数据 413
11.6.3 读取配置文件内容 414
11.6.4 获取测试用例数据 415
11.6.5 封装接口请求函数 418
11.6.6 设置共享夹具 419
11.6.7 封装断言函数 419
11.6.8 添加测试用例函数 422
11.7 执行测试项目 425
11.8 思考题 427
第12章 实现Web UI测试 428
12.1 Web UI测试简介 428
12.2 用例设计方法 429
12.3 Page Object模型 430
12.4 实战对象 432
12.5 设计测试用例 433
12.6 项目结构搭建 434
12.7 编写测试脚本 436
12.7.1 封装元素定位 436
12.7.2 添加测试数据 438
12.7.3 页面功能函数封装 439
12.7.4 实现测试用例 446
12.8 执行测试项目 452
12.9 思考题 453
第13章 实现移动端测试 454
13.1 App测试简介 454
13.2 项目实战对象 455
13.3 项目结构搭建 456
13.4 编写测试脚本 457
13.4.1 封装元素定位 457
13.4.2 添加测试数据 458
13.4.3 页面功能函数封装 459
13.4.4 实现测试用例 465
13.5 执行测试项目 466
13.6 思考题 467
第14章 实现性能测试 468
14.1 性能测试简介 468
14.1.1 测试流程 469
14.1.2 常见性能指标 469
14.1.3 流量回放技术 470
14.2 性能需求分析 471
14.3 制订测试计划 472
14.4 确定测试方案 475
14.5 搭建测试环境 478
14.6 准备测试数据 479
14.7 开发压测脚本 479
14.7.1 添加请求 479
14.7.2 运行调试 485
14.7.3 设置断言 487
14.7.4 增加压力 490
14.8 测试执行及监控 492
14.9 结果分析 493
14.10 性能调优 497
14.11 编写测试报告 498
14.12 思考题 498
第15章 容器化部署与自动化测试 499
15.1 什么是容器化部署 499
15.2 Docker安装 500
15.3 Docker核心概念 502
15.4 Docker使用 503
15.4.1 仓库操作 503
15.4.2 镜像操作 504
15.4.3 容器操作 506
15.5 Dockerfile 510
15.6 Docker部署Jenkins 513
15.6.1 Jenkins安装 513
15.6.2 Jenkins在自动化测试中的应用 515
15.7 持续集成与自动化测试 522
15.7.1 什么是持续集成 523
15.7.2 持续集成常用工具 523
15.7.3 部署测试项目 524
15.8 思考题 524
参考文献 525
展开全部
软件自动化测试入门攻略 作者简介
杨定佳,一线资深软件测试工程师,博客园优秀博主,蓝桥云课入驻作者,51Testing测试圈讲堂 特邀讲师,长期从事自动化测试设计、框架搭建和开发工作,对各类软件测试工具及相 关技术驾轻就熟。出版《Python Web自动化测试入门与实战》一书,编写的《菜鸟轻松 拿Offer:软件测试工程师面试秘笈》一书荣获2021年度“51CTO.最受读者喜爱有IT图书 ”奖。