第1章 业务质量保障介绍 1
1.1 电商行业项目的特点 2
1.2 测试流程中的重点工作 3
1.2.1 测试前的工作 3
1.2.2 测试中的工作 6
1.2.3 上线后的工作 10
1.3 小结 10
第2章 SOA架构下的软件质量保障 11
2.1 功能模块测试 12
2.1.1 接口测试 12
2.1.2 接口自动化测试 14
2.1.3 UI测试 15
2.1.4 UI自动化测试 16
2.2 联调测试 17
2.2.1 联调测试的意义 17
2.2.2 如何开展联调测试 17
2.3 小结 19
第3章 自动化测试实战 20
3.1 WebUI实战 21
3.1.1 Selenium 21
3.1.2 PageFactory 26
3.1.3 构建一款基于Selenium的易用WebUI框架 30
3.2 接口测试实战 32
3.2.1 HTTP接口实战 32
3.2.2 自研RPC接口实战 34
3.2.3 一款简单易用的接口测试框架 35
3.3 Mock实战 39
3.3.1 对象Mock实战 39
3.3.2 接口Mock实战 40
3.4 分层测试的思考 42
3.4.1 分层测试的理解 42
3.4.2 京东怎么做分层测试 43
3.4.3 收益可视化 44
3.5 小结 45
第4章 测试环境管理 46
4.1 软件构建工具介绍及使用 47
4.1.1 Ant 47
4.1.2 Maven 49
4.1.3 Gradle 52
4.1.4 Jenkins 54
4.2 互联网系统运行环境及软件介绍 55
4.2.1 Nginx 55
4.2.2 Docker 56
4.3 测试环境分层 57
4.4 测试环境搭建 59
4.5 测试环境自动化运维 62
4.5.1 测试环境管理平台 62
4.5.2 测试服务器管理 65
4.5.3 稳定环境每日自动部署 65
4.5.4 日常测试自动部署 67
4.6 小结 69
第5章 持续集成实践 70
5.1 持续集成介绍 71
5.1.1 持续集成的起源与发展 71
5.1.2 持续集成常用工具 73
5.2 为什么要做持续集成 73
5.2.1 避免集成地狱 74
5.2.2 如何做到快速交付 74
5.3 如何实施持续集成 75
5.3.1 从零开始构建持续集成 76
5.3.2 持续集成演进 77
5.3.3 工程师文化的重要性 80
5.3.4 持续集成流程优化 80
5.3.5 小团队的成功因素 81
5.3.6 规模化实施持续集成的一些困境 81
5.3.7 分步骤实现持续集成 82
5.4 小结 82
第6章 持续代码扫描实践 83
6.1 如何构建高质量的软件系统 84
6.1.1 质量是测试出来的吗 84
6.1.2 关注开发质量 85
6.1.3 测试人员如何参与代码评审 86
6.1.4 常见代码扫描工具介绍 87
6.2 从0到1实现持续代码扫描 89
6.2.1 SonarQube的应用 89
6.2.2 从最简单的维度开始关注代码质量 92
6.2.3 测试人员的职责扩展 94
6.2.4 小团队的优秀案例 94
6.3 基于SonarQube的持续代码扫描方案演进 95
6.3.1 大规模应用代码扫描遇到的一些瓶颈 95
6.3.2 由人工驱动向技术驱动的转变 96
6.3.3 由目标驱动向以服务研发为主的转变 97
6.3.4 由统一化向多样化的转变 97
6.3.5 规模化持续代码扫描的成功案例 98
6.4 小结 98
第7章 质量保障工具开发实战 99
7.1 质量保障工具开发技术栈 100
7.1.1 建站(Spring+SpringMVC+MyBatis+Velocity+JQuery+Bootstrap) 100
7.1.2 Spring 100
7.1.3 Spring MVC 103
7.1.4 MyBatis 107
7.1.5 前端技术 112
7.1.6 框架搭建 119
7.2 如何快速构建一个质量保障工具 124
7.2.1 需求调研 124
7.2.2 设计 127
7.2.3 任务管理 131
7.2.4 效果度量 135
7.3 小结 136
第8章 Web安全测试技术实战 138
8.1 Web安全概述 139
8.2 客户端绕过实战 139
8.2.1 HTML绕过 139
8.2.2 URL参数绕过 141
8.2.3 Http-Cookie绕过 142
8.2.4 隐藏表单绕过 143
8.3 SQL注入(SQL Injection)实战 144
8.3.1 注入原理剖析 144
8.3.2 注入产生条件 147
8.3.3 注入方法实战 148
8.3.4 Java+JDBC代码注入检测 149
8.3.5 MyBatis框架代码注入检测 151
8.3.6 手工注入实战渗透 151
8.3.7 工具注入实战渗透 159
8.3.8 注入预防措施 163
8.4 文件上传实战 165
8.4.1 解析漏洞 165
8.4.2 上传渗透实战 167
8.5 跨站脚本攻击(XSS) 170
8.5.1 XSS概述 170
8.5.2 XSS原理分析 170
8.5.3 XSS类型分类 172
8.5.4 探测方法实战 172
8.5.5 工具实战演练 176
8.5.6 BEEF平台实战攻击利用 177
8.5.7 XSS防御措施 180
8.6 跨站请求伪造(CSRF) 183
8.6.1 CSRF原理分析 183
8.6.2 CSRF预防 183
8.7 小结 184
第9章 测试团队管理实战 185
9.1 测试流程制定与效率提升 186
9.1.1 测试流程的制定 186
9.1.2 工作流程的推行 187
9.1.3 流程优化与提效 188
9.2 打造一支靠谱的团队 188
9.2.1 时刻让团队清楚目标 189
9.2.2 目标的衡量 190
9.2.3 目标达成的核心所在 191
9.2.4 言行合一,数据说话 192
9.2.5 互信合作,分享共赢 193
9.2.6 团队文化与正能量打造 194
9.3 团队成长 195
9.3.1 改变团队的行为习惯 195
9.3.2 建立团队技能模型 197
9.3.3 建立团队分享机制 200
9.3.4 业务能力提升 201
9.3.5 技术能力提升 202
9.3.6 有效利用绩效这把利剑 202
9.4 团队管理漫谈 203
9.4.1 团队管理要“千人千法” 204
9.4.2 承认不足,方能更近一步 205
9.4.3 关于问责 206
9.5 小结 208