京东质量团队转型实践——从测试到测试开发的蜕变

978-7-115-49694-2
作者: 牛锋华 王浩 扈克然 吴凯 周敬岩 刘军 陈磊 李建爽 贾瑞卿
译者:
编辑: 张涛

图书目录:

第 1 章 转型,你准备好了吗 1

1.1 软件测试 /2

1.1.1 什么是软件测试 /2

1.1.2 业务测试 /3

1.1.3 自动化测试和测试开发 /9

1.2 业务测试的挑战 /13

1.2.1 测试人员的挑战及新要求 /13

1.2.2 转型的基础及必要性 /15

1.3 团队转型的目标及计划 /17

1.3.1 转型路上的迷茫 /17

1.3.2 树立目标 /18

1.3.3 转型过程中你需要种下一棵“技能树”/20

1.4 小结 /22

第 2 章 从 UI 开始初识自动化 23

2.1 Selenium/24

2.1.1 Selenium 的发展历史 /24

2.1.2 Selenium WebDriver 的原理 /26

2.2 SeleniumWebDriver 环境的搭建与测试 /35

2.2.1 配置 Java 和 Maven 环境 /36

2.2.2 创建 Maven 项目 /36

2.2.3 启动第 一个测试 /38

2.3 Selenium 浏览器支持 /40

2.3.1 浏览器的版本映射 /41

2.3.2 常见浏览器的 UI 自动化实例 /43

2.4 WebDriver 对页面的处理 /47

2.4.1 元素的定位原理 /47

2.4.2 元素的定位方式 /48

2.4.3 Selenium 等待 /54 2.4.4 弹框的处理 /55

2.5 UI 自动化测试中的问题 /57

2.6 小结 /58

第 3 章 探索 API 自动化测试 59

3.1 接口与接口测试 /60

3.1.1 接口概述 /60

3.1.2 接口测试概述 /68

3.2 HTTP 单接口测试 /69

3.2.1 HTTP 接口 GET 方法的测试脚本 /69

3.2.2 HTTP 接口 POST 方法的测试脚本 /73

3.3 RPC 协议的接口测试 /76

3.3.1 RPC 接口测试准备 /76

3.3.2 RPC 接口测试脚本 /77

3.4 接口测试脚本附加技能 /78

3.4.1 日志工具 Log4j/78

3.4.2 代码版本控制工具 Git/80

3.5 TestNG 驱动的接口测试脚本 /82

3.5.1 TestNG 简介 /83

3.5.2 TestNG 的 DataProvider/86

3.5.3 TestNG 运行方式 /87

3.5.4 使用 TestNG 驱动的测试脚本 /87

3.5.5 使用 ReportNG 导出测试报告 /89

3.6 小结 /92

第4章 剖析经典 UI 自动化测试框架 93

4.1 hi_po(Python 2.7)开发环境的配置 /94

4.1.1 Windows 系统上 hi_po(Python 2.7)开发环境的配置 /94 4.1.2 Mac 系统上 hi_po(Python 2.7)开发环境的配置 /95

4.1.3 CentOS 上 hi_po(Python 2.7)开发环境的配置 /96

4.2 PageObject 模式 /97 4.3 抽象工厂模式 /98

4.4 PageObject 模式的 UI 测试框架 /100

4.4.1 hi_po 中对 page-objects 的改造 /101

4.4.2 基于 unittest 的 HiPOUnit/104 4.4.3 参数池的设计 /106

4.4.4 报告模块 /108

4.5 PageObject 模式的 UI 测试框架的实践 /110

4.5.1 定义 PageObject 页面 /110 4.5.2 编写测试用例 /112

4.5.3 执行测试 /113

4.6 Headless 浏览器的配置 /114 4.7 hi_po 其他相关介绍 /116

4.7.1 测试字符串 /116

4.7.2 Headless 浏览器的服务器部署 /118

4.8 小结 /119

第5章 深入解析接口测试框架 120

5.1 UI 层其实是多了一层被测件 /121

5.2 工具化的接口测试框架 /122

5.2.1 参数池类的设计 /122

5.2.2 检查点类的设计 /128

5.2.3 关联类的设计 /129

5.2.4 测试框架的设计和实现 /133

5.3 如何开始进行测试 /133

5.3.1 HTTP 接口的测试脚本 /133

5.3.2 RPC 接口的测试脚本 /136

5.4 让框架完成脚本撰写 /137

5.4.1 二叉树 /138

5.4.2 构造适合自动脚本生成的二叉树数据结构 /138

5.4.3 测试脚本自动生成算法 /141

5.5 小结 /143

第6章 走进持续集成的世界 144

6.1 持续集成 /145

6.1.1 实践 /145

6.1.2 持续集成的投入和回报 /146

6.1.3 Jenkins/147

6.2 团队的实践 /150

6.2.1 实现思路 /151

6.2.2 部署服务 /151

6.2.3 测试模块 /158

6.2.4 任务管理服务 /162

6.2.5 扩展 /165

6.3 小结 /165

第7章 刻意练习——众包开发模式 166

7.1 什么是众包开发模式 /167

7.2 如何使用众包开发模式 /167

7.2.1 众包开发模式中的角色 /168

7.2.2 从挖掘痛点到工具化思维 /169

7.3 使用众包开发模式开发合规助手的案例 /172

7.4 众包开发之团队竞争模式探索 /177

7.4.1 团队竞争模式实施简介 /177

7.4.2 竞争规则和任务分配 /177

7.4.3 过程跟进和结果评优 /179

7.4.4 团队竞争模式复盘 /180

7.5 小结 /180

第8章 技能导引——必知必会技能总结 182

8.1 Fiddler/183

8.1.1 Fiddler 常用命令 /183

8.1.2 Fiddler 常用功能 /184

8.2 Postman/185

8.2.1 使用测试用例集管理被测接口 /186

8.2.2 验证接口的返回结果 /186

8.2.3 使用变量解决接口间的相互依赖问题 /188

8.3 Sikuli/189

8.3.1 Sikuli 简介 /189

8.3.2 Sikuli 的 IDE 和脚本编写方法 /190

8.4 简单快速的 Moco 服务 /192

8.4.1 为什么要开发 Moco 这个框架 /192

8.4.2 Moco 环境的配置 /192

8.4.3 Moco 的启动 /193

8.5 识别验证码的 OCR 方法 /205

8.5.1 应用 OCR/205

8.5.2 调用 OCR 方法识别验证码 /206

8.5.3 验证程序 /209

8.6 小结 /210

第 9 章 团队转型回顾与管理 211

9.1 拥抱变化,提升团队士气 /212

9.1.1 拥抱变化 /212

9.1.2 情绪管理 /213

9.2 过程管理与达成预期 /215

9.2.1 过程管理 /215

9.2.2 达成预期 /219

9.3 绩效考核与管理 /221

9.3.1 绩效考核 /221

9.3.2 绩效管理 /224

9.4 团队培养之三大提升 /227

9.4.1 技能的提升 /227

9.4.2 质量的提升 /228

9.4.3 效率的提升 /229

9.5 团队转型中的曲折与回顾 /231

9.5.1 团队转型中的曲折 /231

9.5.2 团队转型中的回顾 /233

9.6 小结 /234

附录 A hi_po 框架代码 235

附录 B

一次聚类算法和缺陷数据特征的试验

249

附录 C

XPath 语法和运算符

252

附录D

CSS 选择器参考手册

256

附录 E

Maven 的配置及其与 Idea 的整合

259

附录 F

HTTP 状态码

264

参考文献

268

详情

全书围绕转型的三个阶段来进行,第一章、第二章和第三章为团队转型第一阶段,从基础出发深入浅出的讲述了UI自动化WebDriver和接口测试自动化如何使用,方便读者快速入门。第四章至第六章为团队转型的第二阶段,第七章节以应用为主重点讲述了众包模式在团队转型中的应用。第八章详述了测试开发人员必知必会的一些工具和方法,帮助团队成员快速提升短板。第九章讲述了团队转型中质量团队的管理。

图书摘要

相关图书

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

相关文章

相关课程