本书从软件自动化测试的发展历史和趋势出发,总结了当前软件自动化测试的需求和挑战,比如:
1. 测试对象功能复杂化,被测对象的功能越来越多,越来越全面。
2. 迭代快速化,软件从设计到交付的时间周期越来越短。
3. 测试环境规模不断增加,被测试对象的系统规模越来越庞大。
在此基础上,本书以实战的方法,深入浅出地分析和介绍了一种模块化平台的设计方案来应对这些挑战,逐一介绍了每个模块的设计思路。这种自动化测试平台具有良好的测试用例的复用能力和功能的扩展能力,并且对于测试工程师用户来说有比较低的学习成本,能快速对测试用例开发进行上手。同时,该平台的设计能够很好的解决部署和执行问题,在CI/CD并且融入了数据驱动,事件驱动等先进的设计思想和理念。
本书还结合了当下软件企业比较重视的CI/CD流程,云端部署等热门话题, 介绍了如何将自动化测试平台集成到CI/CD的工作流程以及如何将测试平台进行云部署的转变。最后介绍了几个大型企业的经典案例。
除了设计思路和方案以外,本书会给出部分的代码实现(主要适用面向对象脚本语言Python)。本书的所有代码均已开源至GitHub。
作者简介
好评袭来
前言
第1章 软件自动化测试面临的挑战
1.1 软件测试各个阶段的自动化需求
1.2 软件自动化测试工具的挑战
1.3 基于面向对象的平台化设计思想
1.4 总结
第2章 高效测试平台的基本设计
2.1 编程语言和开源框架
2.2 模块化测试平台的设计方法
2.3 自动化测试平台的基本设计
2.4 总结
第3章 可扩展的测试资源管理模块
3.1 测试资源
3.2 资源选择器
3.3 从资源类对象获取资源配置接口
3.4 总结
第4章 模块化的测试配置
4.1 测试配置基本分类
4.2 可扩展的静态配置
4.3 灵活的动态配置
4.4 带逻辑功能的配置
4.5 总结
第5章 友善的测试报告和日志
5.1 我们需要什么样的测试结果
5.2 树形显示的测试步骤
5.3 日志管理
5.4 总结
第6章 灵活配置的测试引擎
6.1 测试引擎的职责
6.2 测试用例
6.3 测试引擎的初始化设计
6.4 测试用例的生命周期管理及运行
6.5 总结
第7章 友善的管理平台
7.1 命令行模式
7.2 RESTfulAPI的管理模式
7.3 测试用例的管理
7.4 平台的安装及发布
7.5 总结
第8章 测试数据及数据驱动测试
8.1 测试数据的准备与生成
8.2 数据驱动的测试用例
8.3 测试用例参数的传递设计
8.4 总结
第9章 代码自动生成
9.1 重复劳动的封装作业
9.2 文档和元数据驱动
9.3 代码自动生成的实现
9.4 测试用例的自动生成
9.5 总结
第10章 测试工具和设备的驱动设计
10.1 命令行工具
10.2 Selenium的二次封装
10.3 技术代码下沉和测试业务封装
10.4 总结
第11章 事件驱动测试模式
11.1 传统测试用例的挑战
11.2 何为事件驱动
11.3 事件驱动引擎的设计
11.4 总结
第12章 微服务化的测试平台
12.1 软件架构的演进
12.2 微服务的基本形态
12.3 测试平台的微服务化
12.4 总结
第13章 实战成功案例介绍
13.1 四两拨千斤的自动化测试平台
13.2 全球大型电商的自动化测试中台

