高效自动化测试平台 设计与开发实战 徐德晨,茹炳晟 著 编程语言pdf下载

高效自动化测试平台 设计与开发实战百度网盘pdf下载

作者:徐德晨,茹炳晟
简介:高效自动化测试平台设计与开发实战pdf下载
出版社:电子工业出版社
出版时间:2020-06
pdf下载价格:9.00¥


预览


内容介绍

作  者:徐德晨,茹炳晟 著

定  价:106

出 版 社:电子工业出版社

出版日期:2020年06月01日

页  数:433

装  帧:平装

ISBN:9787121390425

章 软件自动化测试面临的挑战1
1.1 软件测试各个阶段的自动化需求2
1.1.1 单元测试2
1.1.2 功能测试4
1.1.3 回归测试6
1.1.4 可用性测试及冒烟测试6
1.1.5 系统测试7
1.2 软件自动化测试工具的挑战8
1.2.1 测试用例的复用能力8
1.2.2 测试用例的扩展能力9
1.2.3 测试工具的扩展能力10
1.2.4 灵活的测试调度能力11
1.2.5 测试结果和报告12
1.2.6 与CI/CD的集成能力14
1.2.7 快速部署和较低的学习成本15
1.3 基于面向对象的平台化设计思想16
1.3.1 面向对象设计思想16
1.3.2 模块化设计25
1.4 总结27
第2章 高效测试平台的基本设计28
2.1 编程语言和开源框架29
2.1.1 编程语言的选择29
2.1.2 从零开发还是使用现有框架30
2.1.3 跨越平台和编程语言的31
2.2 模块化测试平台的设计方法33
2.2.1 什么是模块化33
2.2.2 核心功能和业务分离36
2.2.3 分层设计思想36
2.2.4 前后端分离38
2.3 自动化测试平台的基本设计41
2.3.1 自动化测试平台的基本模块41
2.3.2 测试资源管理模块42
2.3.3 测试配置管理模块43
2.3.4 测试用例执行模块44
2.3.5 测试报告和日志模块45
2.4 总结46
第3章 可扩展的测试资源管理模块47
3.1 测试资源48
3.1.1 测试资源和抽象49
3.1.2 测试资源的序列化和反序列化53
3.1.3 测试资源池61
3.2 资源选择器67
3.2.1 设计资源选择器的目的68
3.2.2 资源条件机制71
3.2.3 资源获取路由81
3.3 从资源类对象获取资源配置接口87
3.3.1 资源类对象和配置接口分离87
3.3.2 配置接口实例化方法的注册89
3.4 总结93
第4章 模块化的测试配置94
4.1 测试配置基本分类96
4.1.1 静态配置96
4.1.2 动态配置97
4.1.3 带有逻辑功能的配置99
4.2 可扩展的静态配置100
4.2.1 基本配置的设计100
4.2.2 配置的注册方法103
4.3 灵活的动态配置106
4.3.1 类中类107
4.3.2 通过装饰器来初始化配置108
4.4 带逻辑功能的配置109
4.4.1 带逻辑功能配置模块的使用场景109
4.4.2 逻辑功能模块的实现111
4.4.3 逻辑配置模块管理器114
4.5 总结117
第5章 友善的测试报告和日志119
5.1 我们需要什么样的测试结果120
5.1.1 测试步骤和日志分离121
5.1.2 仪表板122
5.1.3 清晰的测试步骤122
5.1.4 分类的运行日志124
5.2 树形显示的测试步骤124
5.2.1 树形测试步骤输出的实现125
5.2.2 巧用Python的with语法138
5.3 日志管理148
5.3.1 日志注册148
5.3.2 平台模块的日志注册150
5.3.3 测试用例的日志注册155
5.4 总结158
第6章 灵活配置的测试引擎159
6.1 测试引擎的职责160
6.1.1 测试用例的装载161
6.1.2 测试列表和配置需求满足分析162
6.1.3 测试资源获取162
6.1.4 配置的装载163
6.1.5 测试用例的执行及生命周期管理163
6.2 测试用例165
6.2.1 四步测试165
6.2.2 测试用例的属性167
6.2.3 测试用例参数168
6.2.4 测试用例的优先级及依赖关系171
6.2.5 测试列表174
6.3 测试引擎的初始化设计178
6.3.1 静态配置的读取和实例化179
6.3.2 测试资源的获取180
6.3.3 测试列表及测试用例的装载181
6.4 测试用例的生命周期管理及运行184
6.4.1 测试用例的执行流程184
6.4.2 测试用例的流程控制设计185
6.4.3 测试用例的异常管理191
6.4.4 测试用例的中断控制194
6.4.5 测试引擎的运行195
6.5 总结197
第7章 友善的管理平台199
7.1 命令行模式200
7.1.1 命令行模式的优缺点201
7.1.2 展示层设计202
7.1.3 命令行功能的实现205
7.1.4 执行测试用例207
7.2 RESTful API的管理模式210
7.2.1 RESTful API的特点210
7.2.2 测试平台RESTful API的设计实现211
7.2.3 GUI界面管理模式219
7.3 测试用例的管理219
7.3.1 测试用例的自动发现220
7.3.2 测试用例的进一步管理227
7.4 平台的安装及发布228
7.4.1 平台核心功能的发布229
7.4.2 测试用例及业务代码管理236
7.5 总结241
第8章 测试数据及数据驱动测试242
8.1 测试数据的准备与生成243
8.1.1 常见的测试数据生成方法243
8.1.2 测试数据生成的时机248
8.1.3 统一测试数据平台252
8.2 数据驱动的测试用例259
8.2.1 测试过程复用和数据替换260
8.2.2 适宜的数据驱动策略265
8.3 测试用例参数传递设计266
8.3.1 测试数据的传递266
8.3.2 数据驱动装饰器的实现268
8.3.3 测试数据的变量化271
8.4 总结277
第9章 代码自动生成278
9.1 重复劳动的封装作业279
9.1.1 协议验证测试和数据报文分析280
9.1.2 RESTful API测试285
9.2 文档和元数据驱动287
9.2.1 元数据288
9.2.2 手工开发代码的实现296
9.3 代码自动生成的实现302
9.3.1 自动生成代码的工具302
9.3.2 中间对象的定义311
9.3.3 代码的自动生成326
9.4 测试用例的自动生成337
9.4.1 技术代码和业务数据的分离337
9.4.2 API接口测试340
9.5 总结342
0章 测试工具和设备的驱动设计343
10.1 命令行工具344
10.1.1 命令行接口类的实现345
10.1.2 接口的实例化351
10.2 Selenium的二次封装353
10.2.1 浏览器的二次封装353
10.2.2 页面元素封装358
10.3 技术代码下沉和测试业务封装3
10.3.1 网络设备流量测试的典型场景365
10.3.2 网络设备流量测试过程的抽象367
10.4 总结372
1章 事件驱动测试模式373
11.1 传统测试用例的挑战374
11.1.1 固定的测试步骤和覆盖率374
11.1.2 客户问题的复现375
11.1.3 大系统和长时间的测试挑战376
11.2 何为事件驱动377
11.2.1 事件驱动的特点377
11.2.2 事件驱动的一些问题381
11.3 事件驱动引擎的设计385
11.3.1 事件驱动的基本流程385
11.3.2 事件的设计和实现386
11.3.3 与现有平台相结合399
11.4 总结400
2章 微服务化的测试平台401
12.1 软件架构的演进402
12.1.1 Monolith单体架构402
12.1.2 分布式架构和SOA403
12.1.3 微服务404
12.2 微服务的基本形态405
12.3 测试平台的微服务化407
12.3.1 统一的测试平台407
12.3.2 服务边界409
12.3.3 基本服务的设计411
12.3.4 消息队列414
12.4 总结414
3章 实战成功案例介绍416
13.1 四两拨千斤的自动化测试平台416
13.1.1 初期阶段——产品测试模式和自动化测试平台的建立417
13.1.2 扩展阶段——更智能的测试平台421
13.1.3 推广阶段——公司的明星级测试平台423
13.2 大型电商的自动化测试中台424
13.2.1 测试中台的全局架构424
13.2.2 统一测试执行服务426
13.2.3 统一测试数据服务426
13.2.4 统一测试执行环境服务427
13.2.5 被测系统部署服务429
13.2.6 测试报告服务429
13.2.7 全局测试配置服务430
13.2.8 GUI自动化测试服务432
13.2.9 API自动化测试服务432
13.2.10 统一Mock服务433
13.2.11 工程效率工具链仓库433

高效测试平台的建设对软件自动化测试的效率有重大的意义。本书总结了高效测试平台的基本设计方法,包括面向对象设计思想、模块化设计、可扩展的弹性设计、测试设备的驱动设计、与CI/CD的结合,以及平台的部署。介绍了如何进行测试工具的选型、测试引擎的灵活配置,如何开发高复用性的测试用例,如何进行测试用例的生命周期管理等。此外,与平台相结合,深入探讨了数据驱动测试、事件驱动测试等测试脚本的设计模式、代码自动生成的实现、第三方工具的封装。更难得的是,结合真实的大型电商案例,介绍了微服务、中台等前沿技术与自动化测试结合的方法与实践经验。本书基于Python,是搭建高效自动化测试平台的指南,适合所有测试开发、测试平台优化等相关人员入门及进阶学习。