软件交付通识
出版时间:
2021-10
版次:
1
ISBN:
9787121422027
定价:
89.00
装帧:
其他
开本:
其他
纸张:
胶版纸
9人买过
-
软件交付过程是指在编程序改代码之后,直到将软件发布给用户使用之前的一系列活动,如提交、集成、构建、部署、测试等。本书作为通识类图书,对软件交付过程的各个方面进行了全面综合的介绍。这包括三部分内容:第1部分,介绍在研究软件交付过程时常见的思路和思考框架;第2部分,梳理软件交付的总体过程;第3部分,考查软件交付过程中的各个具体活动。总的来说,本书提供了一种类似于对人进行体检的方法,对特定软件产品的交付过程进行全方位的调研,可以根据其所在的业务领域、当前采用的技术栈、使用的工具、流程和方法等实际情况,找出当前突出、值得改进的问题。 董越,DevOps 资深专家,阿里巴巴集团前研发效能事业部架构、高级产品专家等职,从事 Aone&云效 DevOps 产品设计、阿里云专有云集成与交付解决方案设计等工作。在加入阿里之前,他还曾就职于西门子、摩托罗拉、雅虎、索尼、去哪儿网等大型企业,一直从事软件配置管理、软件集成与交付、DevOps 相关的工作。当前主要从事企业级DevOps体系建设与咨询工作,帮助众多企业提升软件研发交付效能。已服务过的客户有华为、工商银行、交通银行、招商银行、中信银行、中国移动、中国联通、中国电信、华泰证券、泰康人寿等。 第1部分 思维方式
第1章 本书要解决什么问题 2
1.1 提供一种系统全面的方法 2
1.2 分析软件交付过程 3
1.3 软件交付过程包括三类事情 4
1.4 软件交付不是按时间阶段或角色划分出来的 4
1.5 本书本质上是讲述软件交付这门学科 5
1.6 本书分成三个部分讲述 5
第2章 我们要追求什么 6
2.1 一切为了业务的成功 6
2.2 小步快跑 7
2.3 软件实现侧该追求什么目标 8
2.4 软件交付过程追求的目标 10
第3章 几十年来的探索 12
3.1 软件工程 12
3.1.1 软件危机 12
3.1.2 工程化 13
3.2 敏捷 14
3.2.1 敏捷的理念 14
3.2.2 敏捷的实践 15
3.3 精益 16
3.3.1 起源于制造业的精益思想 16
3.3.2 把精益应用于软件开发 17
3.4 持续集成 18
3.4.1 持续集成是什么 18
3.4.2 为什么要持续集成 19
3.4.3 如何做到持续集成 19
3.5 持续交付 20
3.5.1 包括所有质量验证工作 20
3.5.2 比较频繁地发布上线 21
3.5.3 持续部署 22
3.6 DevOps 22
3.6.1 DevOps的诞生 22
3.6.2 DevOps三步工作法 23
3.6.3 DevOps落地实践 23
3.7 技术方面的演进 24
3.7.1 软件架构 24
3.7.2 部署运行 24
3.8 它们之间是什么关系 25
第4章 做好软件交付的10个策略 27
4.1 细粒度、低耦合、可复用的架构 27
4.1.1 软件架构 27
4.1.2 测试脚本和测试数据的架构 28
4.1.3 组织架构 29
4.2 小批量持续流动的流程 30
4.2.1 大批量带来等待等问题 31
4.2.2 短周期、小颗粒度、减少在制品 31
4.2.3 小批量持续流动的交付过程 32
4.3 运用综合手段保证质量和安全 32
4.3.1 各种各样的测试 32
4.3.2 左移 右移 33
4.3.3 测试人员 开发人员 33
4.3.4 人工测试 自动化测试 33
4.3.5 综合运用 34
4.4 自动化与自助化 34
4.4.1 单项活动的自动化 34
4.4.2 流程的自动化 34
4.4.3 自助化 35
4.4.4 相关支持 35
4.5 加速各项活动 35
4.5.1 为什么要加速 35
4.5.2 加速的通用思路 36
4.6 及时修复 36
4.6.1 为什么要及时修复 37
4.6.2 如何做到及时修复 37
4.7 完备记录,充分展现 38
4.7.1 任务及其执行情况 38
4.7.2 版本和配置信息 39
4.7.3 关联关系 40
4.7.4 单一可信源 40
4.7.5 相关支持 41
4.8 标准化 41
4.8.1 规范可重复 41
4.8.2 方案收敛 41
4.8.3 环境一致性 42
4.9 协调完成完整功能 43
4.9.1 背景 43
4.9.2 开发全过程的协调 43
4.9.3 交付过程的协调 43
4.10 基于度量的持续改进 44
第5章 一个典型的软件交付过程 47
5.1 前传 47
5.2 代码改动累积并终提交 48
5.3 特性改动累积并终提交 48
5.4 集成并终发布 49
第6章 各个细分领域 51
6.1 交付过程 51
6.2 源代码及其构建 52
6.3 部署运行 54
6.4 静态测试 54
6.5 动态测试 55
第7章 各个关注角度 58
7.1 执行时机 58
7.2 执行效果 60
7.3 执行效率 61
7.4 问题处理效率 62
7.5 避免引入问题 64
第2部分 总体过程
第8章 代码改动累积 68
8.1 导论 68
8.1.1 考查范围 68
8.1.2 关注重点 68
8.2 执行时机 68
8.2.1 包含改动的颗粒度:实时进行的测试 68
8.2.2 包含改动的颗粒度:随时进行的测试 69
8.3 执行效率 70
第9章 代码改动提交 71
9.1 导论 71
9.1.1 考查范围 71
9.1.2 关注重点 71
9.2 执行时机 72
9.2.1 包含改动的颗粒度:提交的颗粒度 72
9.2.2 包含改动的颗粒度:提交时进行的测试 72
9.3 执行效果 73
9.4 执行效率 73
9.4.1 执行效率度量:从发起提交到提交完成的时间 73
9.4.2 工具辅助记录和展现:代码改动提交说明 73
9.4.3 工具间集成:代码改动提交与工作项关联 74
第10章 特性改动累积 75
10.1 导论 75
10.1.1 特性的概念 75
10.1.2 特性隔离 76
10.1.3 考查范围 76
10.1.4 关注重点 76
10.2 执行时机 76
10.2.1 包含改动的颗粒度:代码改动提交触发的测试 76
10.2.2 包含改动的颗粒度:随时进行的测试 77
10.2.3 流程顺序和卡点:适当并行 78
10.2.4 管理并发:控制在研的特性数量 78
10.2.5 整体协调:完整的特性 79
10.3 执行效果 79
10.4 执行效率 81
10.4.1 自动执行:构建流水线 81
10.4.2 工具辅助记录和展现:流水线执行情况 81
10.4.3 方案收敛 82
10.5 问题处理效率 83
10.5.1 问题处理效率度量 83
10.5.2 适当通知 83
10.5.3 记录版本:流水线配置的修改历史 83
10.6 避免引入问题 84
第11章 特性改动提交 86
11.1 导论 86
11.1.1 考查范围 86
11.1.2 关注重点 86
11.2 执行时机 86
11.2.1 包含改动的颗粒度:特性的颗粒度 86
11.2.2 包含改动的颗粒度:当特性做不到既小又独立时 87
11.2.3 包含改动的颗粒度:特性提交时进行的测试 88
11.2.4 流程顺序和卡点:特性提交门禁 89
11.2.5 整体协调:完整的特性 89
11.3 执行效果 90
11.4 执行效率 90
11.4.1 执行效率度量:从发起提交到提交完成的时间 90
11.4.2 自动执行:合并请求 91
11.4.3 工具辅助记录和展现:特性内容说明 91
11.4.4 工具间集成:特性的代码改动与工作项之间的关联 92
11.5 问题处理效率 92
11.5.1 问题处理效率度量 92
11.5.2 适当通知 93
11.5.3 便捷回退:特性摘除 93
第12章 集成 94
12.1 导论 94
12.1.1 考查范围 94
12.1.2 关注重点 94
12.2 执行时机 94
12.2.1 包含改动的颗粒度:持续接收特性改动提交 94
12.2.2 包含改动的颗粒度:特性合入触发的测试 95
12.2.3 包含改动的颗粒度:针对新特性的测试 95
12.2.4 流程顺序和卡点:制品晋级 96
12.2.5 管理并发:适当交叠 97
12.2.6 管理并发:管理变体 98
12.3 执行效率 99
12.3.1 自动执行:部署流水线 99
12.3.2 工具间集成:版本的特性列表 100
12.3.3 工具间集成:特性状态信息 101
12.3.4 工具间集成:自动维护说明文档 102
12.3.5 自主完成:各项活动 102
12.3.6 自主完成:工具的配置 103
12.3.7 便捷配置 103
12.4 问题处理效率 103
12.4.1 问题处理效率度量:红灯修复时长 103
12.4.2 问题处理效率度量:缺陷修复时长 104
12.4.3 及时发现 104
12.4.4 适当通知 105
12.4.5 及时处理 105
12.4.6 快速定位 106
12.5 避免引入问题 106
第13章 发布 107
13.1 导论 107
13.1.1 考查范围 107
13.1.2 关注重点 107
13.2 执行时机 108
13.2.1 包含改动的颗粒度:发布的颗粒度 108
13.2.2 包含改动的颗粒度:发布前的测试 109
13.2.3 包含改动的颗粒度:生产环境的测试 109
13.2.4 减少等待:发布时间窗口 109
13.2.5 操作对象的颗粒度 110
13.2.6 整体协调:按一定顺序发布 111
13.2.7 整体协调:当在特性分支上完成全部测试时 112
13.2.8 整体协调:当每个微服务都有自己的迭代节奏时 113
13.2.9 整体协调:静态库典型情况之公共基础库 114
13.2.10 整体协调:静态库典型情况之整体应用的组成部分 115
13.2.11 整体协调:静态库典型情况之服务接口定义 116
13.3 执行效果 117
13.4 执行效率 117
13.4.1 执行效率度量 117
13.4.2 自主完成:精简发布审批流程 118
13.5 问题处理效率 118
13.5.1 问题处理效率度量:故障恢复与缺陷修复的时长 118
13.5.2 及时发现 118
13.5.3 适当通知 119
13.5.4 及时处理 119
13.5.5 快速定位 119
13.5.6 便捷回退:发布回滚 119
13.5.7 紧急改动的生效方式:紧急发布 120
第3部分 具体活动
第14章 源代码版本控制 122
14.1 导论 122
14.1.1 考查范围 122
14.1.2 关注重点 122
14.2 执行时机 123
14.2.1 管理并发:晚分叉模式支持交叠 123
14.2.2 管理并发:早分叉模式支持交叠 124
14.2.3 管理并发:用主干代表已发布版本 125
14.2.4 管理并发:特性分支的管理 126
14.2.5 操作对象的颗粒度:代码库的尺寸 127
14.3 执行效果 127
14.4 执行效率 128
14.4.1 执行效率度量 128
14.4.2 快速执行:分布式版本控制工具 128
14.4.3 快速执行:便捷的页面操作 129
14.4.4 规范可重复:管理众多代码库 129
14.4.5 规范可重复:明确代码库内的目录结构和内容 129
14.4.6 规范可重复:规范版本号 130
14.4.7 规范可重复:标识源代码版本 131
14.5 问题处理效率 132
14.5.1 便捷回退:特性摘除 132
14.5.2 便捷回退:发布回滚 132
14.5.3 紧急改动的生效方式:已提交特性的修改 133
14.5.4 紧急改动的生效方式:紧急发布 133
14.6 避免引入问题 134
第15章 构建 135
15.1 导论 135
15.1.1 构建的概念 135
15.1.2 考查范围 136
15.1.3 关注重点 136
15.2 执行时机 136
15.3 执行效率 137
15.3.1 工具辅助记录和展现:构建遇到的问题 137
15.3.2 快速执行:从全局视角提速构建 138
15.3.3 规范可重复:构建的可重复性 140
第16章 构建环境管理 142
16.1 导论 142
16.1.1 考查范围 142
16.1.2 关注重点 142
16.2 执行效率 142
16.2.1 规范可重复:构建环境标准化 142
16.2.2 资源复用:构建环境资源池化 143
16.2.3 快速执行:保障随时有构建资源可分配 144
16.2.4 快速执行:保障构建所需的缓存 145
第17章 制品管理 146
17.1 导论 146
17.1.1 制品的概念 146
17.1.2 考查范围 147
17.1.3 关注重点 147
17.2 执行时机 147
17.3 执行效果 148
17.3.1 覆盖范围:外来制品 148
17.3.2 覆盖范围:工具和基础软件 148
17.4 执行效率 149
17.4.1 执行效率度量 149
17.4.2 工具辅助记录和展现:制品的属性信息 149
17.4.3 工具间集成:源代码、构建、制品之间的关联 150
17.4.4 快速执行:快速存取 150
17.4.5 资源复用:不重复存储 151
17.4.6 规范可重复:管理众多制品 151
17.4.7 规范可重复:标识制品版本 152
17.4.8 规范可重复:标识静态库版本 152
17.4.9 规范可重复:制品清理策略 153
17.5 问题处理效率 154
17.6 避免引入问题 154
第18章 部署 155
18.1 导论 155
18.1.1 部署单元的概念 155
18.1.2 考查范围 156
18.1.3 关注重点 156
18.2 执行效果 156
18.3 执行效率 157
18.3.1 自动执行:完全自动化 157
18.3.2 工具间集成:以部署单元为核心对象 157
18.3.3 自主完成 158
18.3.4 便捷配置:避免重复配置 159
18.3.5 快速执行 159
18.4 问题处理效率 160
18.4.1 及时发现 160
18.4.2 便捷回退 160
18.5 避免引入问题 160
18.5.1 业务连续性:生产环境的部署策略 160
18.5.2 业务连续性:测试环境的部署策略 161
18.5.3 业务连续性:客户端的部署策略 162
第19章 运行环境管理 163
19.1 导论 163
19.1.1 运行环境的概念 163
19.1.2 考查范围 163
19.1.3 关注重点 164
19.2 执行效果 164
19.2.1 执行效果度量:保证足量供应 164
19.2.2 执行方法:声明式 164
19.2.3 环境一致性:本机运行环境 165
19.2.4 环境一致性:整体运行环境 166
19.3 执行效率 166
19.3.1 执行效率度量 166
19.3.2 自动执行 167
19.3.3 工具间集成:制品、部署、环境之间的关联 167
19.3.4 自主完成 167
19.3.5 资源复用:环境实例的分配与回收 168
19.3.6 资源复用:虚拟独占方式 168
19.3.7 资源复用:处于整体环境中的个人开发环境 168
19.3.8 方案收敛 169
19.4 避免引入问题 169
第20章 配置参数管理 170
20.1 导论 170
20.1.1 系统配置参数的概念 170
20.1.2 业务配置参数的概念 170
20.1.3 考查范围 171
20.1.4 关注重点 171
20.2 执行时机 171
20.2.1 流程顺序和卡点:设置方式 171
20.2.2 流程顺序和卡点:选择设置方式 172
20.2.3 流程顺序与卡点:确保质量 173
20.2.4 整体协调:程序与配置参数的匹配 173
20.2.5 整体协调:键值分离 173
20.3 执行效率 174
20.3.1 自动执行 174
20.3.2 自主完成 175
20.3.3 便捷配置:减少人工设置内容 175
20.4 问题处理效率 175
20.5 避免引入问题 176
第21章 数据存储结构管理 177
21.1 导论 177
21.1.1 数据存储结构管理的概念 177
21.1.2 考查范围 177
21.1.3 关注重点 178
21.2 执行时机 178
21.3 执行效果 178
21.3.1 执行方法:应对挑战的常见方法 178
21.3.2 执行方法:声明式 179
21.3.3 环境一致性 180
21.4 执行效率 180
21.4.1 自动执行 180
21.4.2 自主完成 180
21.5 问题处理效率 181
21.6 避免引入问题 181
第22章 代码评审 182
22.1 导论 182
22.1.1 代码评审的概念 182
22.1.2 关注重点 182
22.2 执行时机 183
22.2.1 包含改动的颗粒度:通常以特性为单位 183
22.2.2 包含改动的颗粒度:结对编程 183
22.2.3 流程顺序和卡点:事前评审和事后评审 183
22.3 执行效果 185
22.3.1 执行效果度量 185
22.3.2 覆盖范围:根据场景选择合适的测试力度 185
22.3.3 覆盖范围:不仅包括源代码的改动 186
22.3.4 执行方法:代码评审的形式 187
22.3.5 执行方法:检查清单 187
22.3.6 人员能力:做代码评审需要专门的技能 188
22.4 执行效率 188
22.4.1 执行效率度量 188
22.4.2 工具辅助记录和展现:记录评审发现的问题 188
22.4.3 工具间集成:IDE能力 189
第23章 代码扫描 190
23.1 导论 190
23.1.1 代码扫描的概念 190
23.1.2 关注重点 191
23.2 执行时机 191
23.2.1 流程顺序和卡点:只卡增量 191
23.2.2 流程顺序和卡点:技术债可以通融 191
23.3 执行效率 192
23.3.1 快速执行 192
23.3.2 规范可重复:定制规则 192
23.4 问题处理效率 193
第24章 制品分析 194
第25章 单元测试 196
25.1 导论 196
25.1.1 单元测试的概念 196
25.1.2 自动化测试用例和测试脚本的概念 196
25.1.3 关注重点 197
25.2 执行时机 197
25.2.1 包含改动的颗粒度 197
25.2.2 流程顺序和卡点:尝试性工作推迟测试 197
25.2.3 流程顺序和卡点:测试驱动开发 198
25.3 执行效果 198
25.3.1 覆盖范围:代码覆盖率 198
25.3.2 人员能力:测试设计是一门学问 199
25.4 执行效率 200
25.4.1 快速测试准备:测试脚本的自动化生成 200
25.4.2 快速执行:只测试增量部分 200
25.5 问题处理效率 201
25.5.1 快速定位:调试器 201
25.5.2 记录版本 201
第26章 自动化接口测试 202
26.1 导论 202
26.1.1 自动化接口测试的概念 202
26.1.2 关注重点 202
26.2 执行时机 202
26.2.1 包含改动的颗粒度 202
26.2.2 流程顺序和卡点:先做增量测试 203
26.2.3 流程顺序和卡点:测试驱动开发及其变体 203
26.3 执行效果 203
26.3.1 覆盖范围:较高的覆盖率 203
26.3.2 覆盖范围:仅在必要时Mock 204
26.3.3 覆盖范围:单次调用和完整场景 205
26.4 执行效率 205
26.4.1 工具间集成:特性、测试脚本、测试执行、缺陷之间的关联 205
26.4.2 自主完成:鼓励开发人员编写测试脚本 206
26.4.3 快速测试准备:测试脚本与测试数据分离 206
26.4.4 快速测试准备:测试脚本的分层与复用 207
26.4.5 快速测试准备:测试数据的分层与复用 208
26.4.6 快速测试准备:事先创建测试数据的方法 208
26.5 问题处理效率 208
26.5.1 快速定位:问题自动分类 208
26.5.2 快速定位:接口调试工具 208
26.5.3 记录版本:与源代码同步 209
26.6 避免引入问题 209
26.6.1 引入问题度量:减少误报 209
26.6.2 隔离性:不受其他测试干扰 210
26.6.3 隔离性:管理测试用例之间的依赖 210
26.6.4 工具可靠性:测试数据备份 210
第27章 人工UI测试 211
27.1 导论 211
27.1.1 UI测试的概念 211
27.1.2 关注重点 211
27.2 执行时机 212
27.2.1 包含改动的颗粒度 212
27.2.2 流程顺序和卡点 212
27.3 执行效果 212
27.4 执行效率 213
27.4.1 工具间集成:特性、测试执行、缺陷之间的关联 213
27.4.2 自主完成:开发人员自测 213
27.4.3 快速测试准备:探索性测试 214
27.5 问题处理效率 214
第28章 自动化UI测试 215
28.1 导论 215
28.2 执行时机 215
28.3 执行效果 216
28.4 执行效率 216
28.5 问题处理效率 217
第29章 非功能测试 218
29.1 导论 218
29.1.1 考查范围 218
29.1.2 关注重点 218
29.2 执行时机 218
29.3 执行效果 219
29.3.1 覆盖范围:性能与容量 219
29.3.2 覆盖范围:安全性 220
29.3.3 覆盖范围:兼容性 220
29.3.4 覆盖范围:易用性 220
29.4 执行效率 221
29.4.1 自动执行 221
29.4.2 快速测试准备:事先创建测试数据的方法 221
第30章 生产环境测试 222
30.1 导论 222
30.1.1 考查范围 222
30.1.2 关注重点 222
30.2 执行效果 222
30.2.1 覆盖范围:功能测试方面 222
30.2.2 覆盖范围:非功能测试方面 223
30.2.3 执行方法:小范围试用 223
后记 225
-
内容简介:
软件交付过程是指在编程序改代码之后,直到将软件发布给用户使用之前的一系列活动,如提交、集成、构建、部署、测试等。本书作为通识类图书,对软件交付过程的各个方面进行了全面综合的介绍。这包括三部分内容:第1部分,介绍在研究软件交付过程时常见的思路和思考框架;第2部分,梳理软件交付的总体过程;第3部分,考查软件交付过程中的各个具体活动。总的来说,本书提供了一种类似于对人进行体检的方法,对特定软件产品的交付过程进行全方位的调研,可以根据其所在的业务领域、当前采用的技术栈、使用的工具、流程和方法等实际情况,找出当前突出、值得改进的问题。
-
作者简介:
董越,DevOps 资深专家,阿里巴巴集团前研发效能事业部架构、高级产品专家等职,从事 Aone&云效 DevOps 产品设计、阿里云专有云集成与交付解决方案设计等工作。在加入阿里之前,他还曾就职于西门子、摩托罗拉、雅虎、索尼、去哪儿网等大型企业,一直从事软件配置管理、软件集成与交付、DevOps 相关的工作。当前主要从事企业级DevOps体系建设与咨询工作,帮助众多企业提升软件研发交付效能。已服务过的客户有华为、工商银行、交通银行、招商银行、中信银行、中国移动、中国联通、中国电信、华泰证券、泰康人寿等。
-
目录:
第1部分 思维方式
第1章 本书要解决什么问题 2
1.1 提供一种系统全面的方法 2
1.2 分析软件交付过程 3
1.3 软件交付过程包括三类事情 4
1.4 软件交付不是按时间阶段或角色划分出来的 4
1.5 本书本质上是讲述软件交付这门学科 5
1.6 本书分成三个部分讲述 5
第2章 我们要追求什么 6
2.1 一切为了业务的成功 6
2.2 小步快跑 7
2.3 软件实现侧该追求什么目标 8
2.4 软件交付过程追求的目标 10
第3章 几十年来的探索 12
3.1 软件工程 12
3.1.1 软件危机 12
3.1.2 工程化 13
3.2 敏捷 14
3.2.1 敏捷的理念 14
3.2.2 敏捷的实践 15
3.3 精益 16
3.3.1 起源于制造业的精益思想 16
3.3.2 把精益应用于软件开发 17
3.4 持续集成 18
3.4.1 持续集成是什么 18
3.4.2 为什么要持续集成 19
3.4.3 如何做到持续集成 19
3.5 持续交付 20
3.5.1 包括所有质量验证工作 20
3.5.2 比较频繁地发布上线 21
3.5.3 持续部署 22
3.6 DevOps 22
3.6.1 DevOps的诞生 22
3.6.2 DevOps三步工作法 23
3.6.3 DevOps落地实践 23
3.7 技术方面的演进 24
3.7.1 软件架构 24
3.7.2 部署运行 24
3.8 它们之间是什么关系 25
第4章 做好软件交付的10个策略 27
4.1 细粒度、低耦合、可复用的架构 27
4.1.1 软件架构 27
4.1.2 测试脚本和测试数据的架构 28
4.1.3 组织架构 29
4.2 小批量持续流动的流程 30
4.2.1 大批量带来等待等问题 31
4.2.2 短周期、小颗粒度、减少在制品 31
4.2.3 小批量持续流动的交付过程 32
4.3 运用综合手段保证质量和安全 32
4.3.1 各种各样的测试 32
4.3.2 左移 右移 33
4.3.3 测试人员 开发人员 33
4.3.4 人工测试 自动化测试 33
4.3.5 综合运用 34
4.4 自动化与自助化 34
4.4.1 单项活动的自动化 34
4.4.2 流程的自动化 34
4.4.3 自助化 35
4.4.4 相关支持 35
4.5 加速各项活动 35
4.5.1 为什么要加速 35
4.5.2 加速的通用思路 36
4.6 及时修复 36
4.6.1 为什么要及时修复 37
4.6.2 如何做到及时修复 37
4.7 完备记录,充分展现 38
4.7.1 任务及其执行情况 38
4.7.2 版本和配置信息 39
4.7.3 关联关系 40
4.7.4 单一可信源 40
4.7.5 相关支持 41
4.8 标准化 41
4.8.1 规范可重复 41
4.8.2 方案收敛 41
4.8.3 环境一致性 42
4.9 协调完成完整功能 43
4.9.1 背景 43
4.9.2 开发全过程的协调 43
4.9.3 交付过程的协调 43
4.10 基于度量的持续改进 44
第5章 一个典型的软件交付过程 47
5.1 前传 47
5.2 代码改动累积并终提交 48
5.3 特性改动累积并终提交 48
5.4 集成并终发布 49
第6章 各个细分领域 51
6.1 交付过程 51
6.2 源代码及其构建 52
6.3 部署运行 54
6.4 静态测试 54
6.5 动态测试 55
第7章 各个关注角度 58
7.1 执行时机 58
7.2 执行效果 60
7.3 执行效率 61
7.4 问题处理效率 62
7.5 避免引入问题 64
第2部分 总体过程
第8章 代码改动累积 68
8.1 导论 68
8.1.1 考查范围 68
8.1.2 关注重点 68
8.2 执行时机 68
8.2.1 包含改动的颗粒度:实时进行的测试 68
8.2.2 包含改动的颗粒度:随时进行的测试 69
8.3 执行效率 70
第9章 代码改动提交 71
9.1 导论 71
9.1.1 考查范围 71
9.1.2 关注重点 71
9.2 执行时机 72
9.2.1 包含改动的颗粒度:提交的颗粒度 72
9.2.2 包含改动的颗粒度:提交时进行的测试 72
9.3 执行效果 73
9.4 执行效率 73
9.4.1 执行效率度量:从发起提交到提交完成的时间 73
9.4.2 工具辅助记录和展现:代码改动提交说明 73
9.4.3 工具间集成:代码改动提交与工作项关联 74
第10章 特性改动累积 75
10.1 导论 75
10.1.1 特性的概念 75
10.1.2 特性隔离 76
10.1.3 考查范围 76
10.1.4 关注重点 76
10.2 执行时机 76
10.2.1 包含改动的颗粒度:代码改动提交触发的测试 76
10.2.2 包含改动的颗粒度:随时进行的测试 77
10.2.3 流程顺序和卡点:适当并行 78
10.2.4 管理并发:控制在研的特性数量 78
10.2.5 整体协调:完整的特性 79
10.3 执行效果 79
10.4 执行效率 81
10.4.1 自动执行:构建流水线 81
10.4.2 工具辅助记录和展现:流水线执行情况 81
10.4.3 方案收敛 82
10.5 问题处理效率 83
10.5.1 问题处理效率度量 83
10.5.2 适当通知 83
10.5.3 记录版本:流水线配置的修改历史 83
10.6 避免引入问题 84
第11章 特性改动提交 86
11.1 导论 86
11.1.1 考查范围 86
11.1.2 关注重点 86
11.2 执行时机 86
11.2.1 包含改动的颗粒度:特性的颗粒度 86
11.2.2 包含改动的颗粒度:当特性做不到既小又独立时 87
11.2.3 包含改动的颗粒度:特性提交时进行的测试 88
11.2.4 流程顺序和卡点:特性提交门禁 89
11.2.5 整体协调:完整的特性 89
11.3 执行效果 90
11.4 执行效率 90
11.4.1 执行效率度量:从发起提交到提交完成的时间 90
11.4.2 自动执行:合并请求 91
11.4.3 工具辅助记录和展现:特性内容说明 91
11.4.4 工具间集成:特性的代码改动与工作项之间的关联 92
11.5 问题处理效率 92
11.5.1 问题处理效率度量 92
11.5.2 适当通知 93
11.5.3 便捷回退:特性摘除 93
第12章 集成 94
12.1 导论 94
12.1.1 考查范围 94
12.1.2 关注重点 94
12.2 执行时机 94
12.2.1 包含改动的颗粒度:持续接收特性改动提交 94
12.2.2 包含改动的颗粒度:特性合入触发的测试 95
12.2.3 包含改动的颗粒度:针对新特性的测试 95
12.2.4 流程顺序和卡点:制品晋级 96
12.2.5 管理并发:适当交叠 97
12.2.6 管理并发:管理变体 98
12.3 执行效率 99
12.3.1 自动执行:部署流水线 99
12.3.2 工具间集成:版本的特性列表 100
12.3.3 工具间集成:特性状态信息 101
12.3.4 工具间集成:自动维护说明文档 102
12.3.5 自主完成:各项活动 102
12.3.6 自主完成:工具的配置 103
12.3.7 便捷配置 103
12.4 问题处理效率 103
12.4.1 问题处理效率度量:红灯修复时长 103
12.4.2 问题处理效率度量:缺陷修复时长 104
12.4.3 及时发现 104
12.4.4 适当通知 105
12.4.5 及时处理 105
12.4.6 快速定位 106
12.5 避免引入问题 106
第13章 发布 107
13.1 导论 107
13.1.1 考查范围 107
13.1.2 关注重点 107
13.2 执行时机 108
13.2.1 包含改动的颗粒度:发布的颗粒度 108
13.2.2 包含改动的颗粒度:发布前的测试 109
13.2.3 包含改动的颗粒度:生产环境的测试 109
13.2.4 减少等待:发布时间窗口 109
13.2.5 操作对象的颗粒度 110
13.2.6 整体协调:按一定顺序发布 111
13.2.7 整体协调:当在特性分支上完成全部测试时 112
13.2.8 整体协调:当每个微服务都有自己的迭代节奏时 113
13.2.9 整体协调:静态库典型情况之公共基础库 114
13.2.10 整体协调:静态库典型情况之整体应用的组成部分 115
13.2.11 整体协调:静态库典型情况之服务接口定义 116
13.3 执行效果 117
13.4 执行效率 117
13.4.1 执行效率度量 117
13.4.2 自主完成:精简发布审批流程 118
13.5 问题处理效率 118
13.5.1 问题处理效率度量:故障恢复与缺陷修复的时长 118
13.5.2 及时发现 118
13.5.3 适当通知 119
13.5.4 及时处理 119
13.5.5 快速定位 119
13.5.6 便捷回退:发布回滚 119
13.5.7 紧急改动的生效方式:紧急发布 120
第3部分 具体活动
第14章 源代码版本控制 122
14.1 导论 122
14.1.1 考查范围 122
14.1.2 关注重点 122
14.2 执行时机 123
14.2.1 管理并发:晚分叉模式支持交叠 123
14.2.2 管理并发:早分叉模式支持交叠 124
14.2.3 管理并发:用主干代表已发布版本 125
14.2.4 管理并发:特性分支的管理 126
14.2.5 操作对象的颗粒度:代码库的尺寸 127
14.3 执行效果 127
14.4 执行效率 128
14.4.1 执行效率度量 128
14.4.2 快速执行:分布式版本控制工具 128
14.4.3 快速执行:便捷的页面操作 129
14.4.4 规范可重复:管理众多代码库 129
14.4.5 规范可重复:明确代码库内的目录结构和内容 129
14.4.6 规范可重复:规范版本号 130
14.4.7 规范可重复:标识源代码版本 131
14.5 问题处理效率 132
14.5.1 便捷回退:特性摘除 132
14.5.2 便捷回退:发布回滚 132
14.5.3 紧急改动的生效方式:已提交特性的修改 133
14.5.4 紧急改动的生效方式:紧急发布 133
14.6 避免引入问题 134
第15章 构建 135
15.1 导论 135
15.1.1 构建的概念 135
15.1.2 考查范围 136
15.1.3 关注重点 136
15.2 执行时机 136
15.3 执行效率 137
15.3.1 工具辅助记录和展现:构建遇到的问题 137
15.3.2 快速执行:从全局视角提速构建 138
15.3.3 规范可重复:构建的可重复性 140
第16章 构建环境管理 142
16.1 导论 142
16.1.1 考查范围 142
16.1.2 关注重点 142
16.2 执行效率 142
16.2.1 规范可重复:构建环境标准化 142
16.2.2 资源复用:构建环境资源池化 143
16.2.3 快速执行:保障随时有构建资源可分配 144
16.2.4 快速执行:保障构建所需的缓存 145
第17章 制品管理 146
17.1 导论 146
17.1.1 制品的概念 146
17.1.2 考查范围 147
17.1.3 关注重点 147
17.2 执行时机 147
17.3 执行效果 148
17.3.1 覆盖范围:外来制品 148
17.3.2 覆盖范围:工具和基础软件 148
17.4 执行效率 149
17.4.1 执行效率度量 149
17.4.2 工具辅助记录和展现:制品的属性信息 149
17.4.3 工具间集成:源代码、构建、制品之间的关联 150
17.4.4 快速执行:快速存取 150
17.4.5 资源复用:不重复存储 151
17.4.6 规范可重复:管理众多制品 151
17.4.7 规范可重复:标识制品版本 152
17.4.8 规范可重复:标识静态库版本 152
17.4.9 规范可重复:制品清理策略 153
17.5 问题处理效率 154
17.6 避免引入问题 154
第18章 部署 155
18.1 导论 155
18.1.1 部署单元的概念 155
18.1.2 考查范围 156
18.1.3 关注重点 156
18.2 执行效果 156
18.3 执行效率 157
18.3.1 自动执行:完全自动化 157
18.3.2 工具间集成:以部署单元为核心对象 157
18.3.3 自主完成 158
18.3.4 便捷配置:避免重复配置 159
18.3.5 快速执行 159
18.4 问题处理效率 160
18.4.1 及时发现 160
18.4.2 便捷回退 160
18.5 避免引入问题 160
18.5.1 业务连续性:生产环境的部署策略 160
18.5.2 业务连续性:测试环境的部署策略 161
18.5.3 业务连续性:客户端的部署策略 162
第19章 运行环境管理 163
19.1 导论 163
19.1.1 运行环境的概念 163
19.1.2 考查范围 163
19.1.3 关注重点 164
19.2 执行效果 164
19.2.1 执行效果度量:保证足量供应 164
19.2.2 执行方法:声明式 164
19.2.3 环境一致性:本机运行环境 165
19.2.4 环境一致性:整体运行环境 166
19.3 执行效率 166
19.3.1 执行效率度量 166
19.3.2 自动执行 167
19.3.3 工具间集成:制品、部署、环境之间的关联 167
19.3.4 自主完成 167
19.3.5 资源复用:环境实例的分配与回收 168
19.3.6 资源复用:虚拟独占方式 168
19.3.7 资源复用:处于整体环境中的个人开发环境 168
19.3.8 方案收敛 169
19.4 避免引入问题 169
第20章 配置参数管理 170
20.1 导论 170
20.1.1 系统配置参数的概念 170
20.1.2 业务配置参数的概念 170
20.1.3 考查范围 171
20.1.4 关注重点 171
20.2 执行时机 171
20.2.1 流程顺序和卡点:设置方式 171
20.2.2 流程顺序和卡点:选择设置方式 172
20.2.3 流程顺序与卡点:确保质量 173
20.2.4 整体协调:程序与配置参数的匹配 173
20.2.5 整体协调:键值分离 173
20.3 执行效率 174
20.3.1 自动执行 174
20.3.2 自主完成 175
20.3.3 便捷配置:减少人工设置内容 175
20.4 问题处理效率 175
20.5 避免引入问题 176
第21章 数据存储结构管理 177
21.1 导论 177
21.1.1 数据存储结构管理的概念 177
21.1.2 考查范围 177
21.1.3 关注重点 178
21.2 执行时机 178
21.3 执行效果 178
21.3.1 执行方法:应对挑战的常见方法 178
21.3.2 执行方法:声明式 179
21.3.3 环境一致性 180
21.4 执行效率 180
21.4.1 自动执行 180
21.4.2 自主完成 180
21.5 问题处理效率 181
21.6 避免引入问题 181
第22章 代码评审 182
22.1 导论 182
22.1.1 代码评审的概念 182
22.1.2 关注重点 182
22.2 执行时机 183
22.2.1 包含改动的颗粒度:通常以特性为单位 183
22.2.2 包含改动的颗粒度:结对编程 183
22.2.3 流程顺序和卡点:事前评审和事后评审 183
22.3 执行效果 185
22.3.1 执行效果度量 185
22.3.2 覆盖范围:根据场景选择合适的测试力度 185
22.3.3 覆盖范围:不仅包括源代码的改动 186
22.3.4 执行方法:代码评审的形式 187
22.3.5 执行方法:检查清单 187
22.3.6 人员能力:做代码评审需要专门的技能 188
22.4 执行效率 188
22.4.1 执行效率度量 188
22.4.2 工具辅助记录和展现:记录评审发现的问题 188
22.4.3 工具间集成:IDE能力 189
第23章 代码扫描 190
23.1 导论 190
23.1.1 代码扫描的概念 190
23.1.2 关注重点 191
23.2 执行时机 191
23.2.1 流程顺序和卡点:只卡增量 191
23.2.2 流程顺序和卡点:技术债可以通融 191
23.3 执行效率 192
23.3.1 快速执行 192
23.3.2 规范可重复:定制规则 192
23.4 问题处理效率 193
第24章 制品分析 194
第25章 单元测试 196
25.1 导论 196
25.1.1 单元测试的概念 196
25.1.2 自动化测试用例和测试脚本的概念 196
25.1.3 关注重点 197
25.2 执行时机 197
25.2.1 包含改动的颗粒度 197
25.2.2 流程顺序和卡点:尝试性工作推迟测试 197
25.2.3 流程顺序和卡点:测试驱动开发 198
25.3 执行效果 198
25.3.1 覆盖范围:代码覆盖率 198
25.3.2 人员能力:测试设计是一门学问 199
25.4 执行效率 200
25.4.1 快速测试准备:测试脚本的自动化生成 200
25.4.2 快速执行:只测试增量部分 200
25.5 问题处理效率 201
25.5.1 快速定位:调试器 201
25.5.2 记录版本 201
第26章 自动化接口测试 202
26.1 导论 202
26.1.1 自动化接口测试的概念 202
26.1.2 关注重点 202
26.2 执行时机 202
26.2.1 包含改动的颗粒度 202
26.2.2 流程顺序和卡点:先做增量测试 203
26.2.3 流程顺序和卡点:测试驱动开发及其变体 203
26.3 执行效果 203
26.3.1 覆盖范围:较高的覆盖率 203
26.3.2 覆盖范围:仅在必要时Mock 204
26.3.3 覆盖范围:单次调用和完整场景 205
26.4 执行效率 205
26.4.1 工具间集成:特性、测试脚本、测试执行、缺陷之间的关联 205
26.4.2 自主完成:鼓励开发人员编写测试脚本 206
26.4.3 快速测试准备:测试脚本与测试数据分离 206
26.4.4 快速测试准备:测试脚本的分层与复用 207
26.4.5 快速测试准备:测试数据的分层与复用 208
26.4.6 快速测试准备:事先创建测试数据的方法 208
26.5 问题处理效率 208
26.5.1 快速定位:问题自动分类 208
26.5.2 快速定位:接口调试工具 208
26.5.3 记录版本:与源代码同步 209
26.6 避免引入问题 209
26.6.1 引入问题度量:减少误报 209
26.6.2 隔离性:不受其他测试干扰 210
26.6.3 隔离性:管理测试用例之间的依赖 210
26.6.4 工具可靠性:测试数据备份 210
第27章 人工UI测试 211
27.1 导论 211
27.1.1 UI测试的概念 211
27.1.2 关注重点 211
27.2 执行时机 212
27.2.1 包含改动的颗粒度 212
27.2.2 流程顺序和卡点 212
27.3 执行效果 212
27.4 执行效率 213
27.4.1 工具间集成:特性、测试执行、缺陷之间的关联 213
27.4.2 自主完成:开发人员自测 213
27.4.3 快速测试准备:探索性测试 214
27.5 问题处理效率 214
第28章 自动化UI测试 215
28.1 导论 215
28.2 执行时机 215
28.3 执行效果 216
28.4 执行效率 216
28.5 问题处理效率 217
第29章 非功能测试 218
29.1 导论 218
29.1.1 考查范围 218
29.1.2 关注重点 218
29.2 执行时机 218
29.3 执行效果 219
29.3.1 覆盖范围:性能与容量 219
29.3.2 覆盖范围:安全性 220
29.3.3 覆盖范围:兼容性 220
29.3.4 覆盖范围:易用性 220
29.4 执行效率 221
29.4.1 自动执行 221
29.4.2 快速测试准备:事先创建测试数据的方法 221
第30章 生产环境测试 222
30.1 导论 222
30.1.1 考查范围 222
30.1.2 关注重点 222
30.2 执行效果 222
30.2.1 覆盖范围:功能测试方面 222
30.2.2 覆盖范围:非功能测试方面 223
30.2.3 执行方法:小范围试用 223
后记 225
查看详情
-
全新
河北省廊坊市
平均发货22小时
成功完成率93.87%
-
全新
河北省廊坊市
平均发货20小时
成功完成率90.06%
-
全新
河北省保定市
平均发货28小时
成功完成率87.04%
-
全新
河北省保定市
平均发货30小时
成功完成率84.87%
-
软件交付通识(
全新正版书籍,假一罚十(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。) 可开发票
全新
北京市朝阳区
平均发货19小时
成功完成率94.86%
-
软件交付通识(
全新正版书籍,假一罚十(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。) 可开发票
全新
北京市朝阳区
平均发货17小时
成功完成率96.17%
-
全新
天津市东丽区
平均发货18小时
成功完成率89.55%
-
软件交付通识、
全新正版书籍,假一罚十(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。) 可开发票
全新
北京市朝阳区
平均发货17小时
成功完成率96.17%
-
软件交付通识、
全新正版书籍,假一罚十(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。) 可开发票
全新
北京市朝阳区
平均发货19小时
成功完成率94.86%
-
软件交付通识
正版现货,品相完好,套装书默认发一本,全国多仓,快递随机,择优发货
九品
北京市海淀区
平均发货23小时
成功完成率84.17%
-
全新
山东省泰安市
平均发货24小时
成功完成率92.59%
-
九五品
四川省成都市
平均发货11小时
成功完成率93.33%
-
九五品
四川省成都市
平均发货11小时
成功完成率92.84%
-
九五品
四川省成都市
平均发货11小时
成功完成率94.44%
-
全新
河北省保定市
平均发货26小时
成功完成率89.62%
-
全新
四川省成都市
平均发货15小时
成功完成率91.75%
-
全新
江苏省苏州市
平均发货9小时
成功完成率95.67%
-
全新
江苏省南京市
平均发货16小时
成功完成率82.72%
-
全新
江苏省南京市
平均发货18小时
成功完成率68.29%
-
九品
北京市丰台区
平均发货16小时
成功完成率97.26%
-
正版现货 软件交付通识
软硬件技术 媲美大师经典讲透软件交付||数字化转型、DevOps、持续集成、持续交付、持续部署、敏捷万用宝典 新华书店全新正版书籍
全新
北京市东城区
平均发货30小时
成功完成率83.98%
-
软件交付通识(
全新正版书籍,假一罚十(图片为标准图,仅供参考。以标题为准,不了解的可以询问客服。) 可开发票
全新
-
全新
四川省成都市
平均发货16小时
成功完成率80.51%
-
全新
山东省济宁市
平均发货68小时
成功完成率80.76%
-
软件交付通识
重要提醒:::重要提醒::所有图书保证正版,按书名发货图片仅供参考, 有疑问请咨询客服,看清书名按书名发货
全新
北京市通州区
平均发货9小时
成功完成率88.52%
-
全新
北京市海淀区
平均发货20小时
成功完成率85.99%
-
软件交付通识
以书名为准,图片自动匹配的,全新正版现货,放心购买
全新
北京市丰台区
平均发货8小时
成功完成率90.32%
-
软件交付通识
正版书籍批量上传价格不符,请咨询客服假一罚十支持开票
全新
江苏省无锡市
平均发货25小时
成功完成率87.58%
-
软件交付通识
正版图书,放心下单,请核对以书号和标题书名为准
全新
河北省保定市
平均发货17小时
成功完成率86.18%
-
全新
北京市顺义区
平均发货14小时
成功完成率94.37%
-
全新
北京市通州区
平均发货17小时
成功完成率94.5%
-
全新
河北省保定市
平均发货26小时
成功完成率89.62%
-
软件交付通识
批量下载数据,有图片和标题名不是一种书,要按标题名购买。
全新
河北省保定市
平均发货24小时
成功完成率90.46%
-
全新
江苏省无锡市
平均发货10小时
成功完成率92.86%
-
全新
河北省保定市
平均发货15小时
成功完成率91.06%
-
全新
江苏省南京市
平均发货16小时
成功完成率82.72%
-
全新
江苏省南京市
平均发货8小时
成功完成率96.7%
-
软件交付通识
软硬件技术 媲美大师经典讲透软件交付||数字化转型、DevOps、持续集成、持续交付、持续部署、敏捷万用宝典 新华书店全新正版书籍
全新
江苏省无锡市
平均发货8小时
成功完成率95.84%
-
九品
北京市海淀区
平均发货21小时
成功完成率86.82%
-
全新
河北省保定市
平均发货31小时
成功完成率78.4%
-
软件交付通识
【标题与图片不一致时,请质询,正版有货可开发票】
全新
海南省海口市
平均发货14小时
成功完成率82.41%
-
全新
广东省广州市
平均发货8小时
成功完成率94.74%
-
全新
江苏省无锡市
平均发货18小时
成功完成率94.42%
-
全新
-
软件交付通识
本店所售图书,保证正版新书,有个别图片和实书封面不一样,以实书封面为准,最快当天,一般隔天发货。支持7天无理由退换货.开票联系客服
全新
北京市西城区
平均发货28小时
成功完成率88.31%
-
软件交付通识
正版新书,库存现货☞无阅读划线☞图片与标题不符时以标题为主☞套书售价较底的为单册价。
全新
河北省廊坊市
平均发货17小时
成功完成率82.09%
-
软件交付通识
正版库存新书☞无阅读划线☞图片与标题不符时以标题为主☞套书售价较底的为单册价。
全新
河北省廊坊市
平均发货17小时
成功完成率82.09%
-
九品
河南省信阳市
平均发货9小时
成功完成率92.44%
-
九品
北京市朝阳区
平均发货14小时
成功完成率95.74%
-
九品
山东省枣庄市
平均发货22小时
成功完成率88.54%