• 持续交付:发布可靠软件的系统方法
21年品牌 40万+商家 超1.5亿件商品

持续交付:发布可靠软件的系统方法

全新正版 极速发货

56.28 6.3折 89 全新

库存6件

广东广州
认证卖家担保交易快速发货售后保障

作者[英]Jez Humble David Farley 著 著 乔梁 译

出版社人民邮电出版社

ISBN9787115264596

出版时间2011-10

装帧平装

开本16开

定价89元

货号1200125479

上书时间2024-11-26

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
  第一部分  基础篇

第1章  软件交付的问题  2
1.1  引言  2
1.2  一些常见的发布反模式  3
1.2.1  反模式:手工部署软件  4
1.2.2  反模式:开发完成之后才向类生产环境部署  5
1.2.3  反模式:生产环境的手工配置管理  7
1.2.4  我们能做得更好吗  8
1.3  如何实现目标  9
1.3.1  每次修改都应该触发反馈流程  10
1.3.2  必须尽快接收反馈  11
1.3.3  交付团队必须接收反馈并作出反应  12
1.3.4  这个流程可以推广吗  12
1.4  收效  12
1.4.1  授权团队  13
1.4.2  减少错误  13
1.4.3  缓解压力  15
1.4.4  部署的灵活性  16
1.4.5  多加练习,使其完美  17
1.5  候选发布版本  17
1.6  软件交付的原则  19
1.6.1  为软件的发布创建一个可重复且可靠的过程  19
1.6.2  将几乎所有事情自动化  19
1.6.3  把所有的东西都纳入版本控制  20
1.6.4  提前并频繁地做让你感到痛苦的事  20
1.6.5  内建质量  21
1.6.6  “DONE”意味着“已发布”  21
1.6.7  交付过程是每个成员的责任  22
1.6.8  持续改进  22
1.7  小结  23

第2章  配置管理  24
2.1  引言  24
2.2  使用版本控制  25
2.2.1  对所有内容进行版本控制  26
2.2.2  频繁提交代码到主干  28
2.2.3  使用意义明显的提交注释  29
2.3  依赖管理  30
2.3.1  外部库文件管理  30
2.3.2  组件管理  30
2.4  软件配置管理  31
2.4.1  配置与灵活性  31
2.4.2  配置的分类  33
2.4.3  应用程序的配置管理  33
2.4.4  跨应用的配置管理  36
2.4.5  管理配置信息的原则  37
2.5  环境管理  38
2.5.1  环境管理的工具  41
2.5.2  变更过程管理  41
2.6  小结  42

第3章  持续集成  43
3.1  引言  43
3.2  实现持续集成  44
3.2.1  准备工作  44
3.2.2  一个基本的持续集成系统  45
3.3  持续集成的前提条件  46
3.3.1  频繁提交  46
3.3.2  创建全面的自动化测试套件  47
3.3.3  保持较短的构建和测试过程  47
3.3.4  管理开发工作区  49
3.4  使用持续集成软件  49
3.4.1  基本操作  49
3.4.2  铃声和口哨  50
3.5  必不可少的实践  52
3.5.1  构建失败之后不要提交新代码  52
3.5.2  提交前在本地运行所有的提交测试,或者让持续集成服务器完成此事  53
3.5.3  等提交测试通过后再继续工作  54
3.5.4  回家之前,构建必须处于成功状态  54
3.5.5  时刻准备着回滚到前一个版本  55
3.5.6  在回滚之前要规定一个修复时间  56
3.5.7  不要将失败的测试注释掉  56
3.5.8  为自己导致的问题负责  56
3.5.9  测试驱动的开发  57
3.6  推荐的实践  57
3.6.1  极限编程开发实践  57
3.6.2  若违背架构原则,就让构建失败  58
3.6.3  若测试运行变慢,就让构建失败  58
3.6.4  若有编译警告或代码风格问题,就让测试失败  59
3.7  分布式团队  60
3.7.1  对流程的影响  60
3.7.2  集中式持续集成  61
3.7.3  技术问题  61
3.7.4  替代方法  62
3.8  分布式版本控制系统  63
3.9  小结  66

第4章  测试策略的实现  67
4.1  引言  67
4.2  测试的分类  68
4.2.1  业务导向且支持开发过程的测试  69
4.2.2  技术导向且支持开发过程的测试  72
4.2.3  业务导向且评价项目的测试  72
4.2.4  技术导向且评价项目的测试  73
4.2.5  测试替身  74
4.3  现实中的情况与应对策略  75
4.3.1  新项目  75
4.3.2  项目进行中  76
4.3.3  遗留系统  77
4.3.4  集成测试  78
4.4  流程  80
4.5  小结  82

第二部分  部署流水线

第5章  部署流水线解析  84
5.1  引言  84
5.2  什么是部署流水线  85
5.3  部署流水线的相关实践  91
5.3.1  只生成一次二进制包  91
5.3.2  对不同环境采用同一部署方式  93
5.3.3  对部署进行冒烟测试  94
5.3.4  向生产环境的副本中部署  94
5.3.5  每次变更都要立即在流水线中传递  95
5.3.6  只要有环节失败,就停止整个流水线  96
5.4  提交阶段  96
5.5  自动化验收测试之门  99
5.6  后续的测试阶段  102
5.6.1  手工测试  103
5.6.2  非功能测试  103
5.7  发布准备  104
5.7.1  自动部署与发布  104
5.7.2  变更的撤销  106
5.7.3  在成功的基础上构建  107
5.8  实现一个部署流水线  107
5.8.1  对价值流进行建模并创建简单的可工作框架  107
5.8.2  构建和部署过程的自动化  108
5.8.3  自动化单元测试和代码分析  109
5.8.4  自动化验收测试  109
5.8.5  部署流水线的演进  110
5.9  度量  111
5.10  小结  113

第6章  构建与部署的脚本化  115
6.1  引言  115
6.2  构建工具概览  116
6.2.1  Make  118
6.2.2  Ant  118
6.2.3  NAnt与MSBuild  119
6.2.4  Maven  120
6.2.5  Rake  121
6.2.6  Buildr  121
6.2.7  Psake  121
6.3  构建部署脚本化的原则与实践  122
6.3.1  为部署流水线的每个阶段创建脚本  122
6.3.2  使用恰当的技术部署应用程序  122
6.3.3  使用同样的脚本向所有环境部署  123
6.3.4  使用操作系统自带的包管理工具  124
6.3.5  确保部署流程是幂等的(Idempotent)  125
6.3.6  部署系统的增量式演进  126
6.4  面向JVM 的应用程序的项目结构  126
6.5  部署脚本化  129
6.5.1  多层的部署和测试  130
6.5.2  测试环境配置  131
6.6  小贴士  132
6.6.1  总是使用相对路径  132
6.6.2  消除手工步骤  132
6.6.3  从二进制包到版本控制库的内建可追溯性  133
6.6.4  不要把二进制包作为构建的一部分放到版本控制库中  133
6.6.5  “test”不应该让构建失败  134
6.6.6  用集成冒烟测试来限制应用程序  134
6.6.7  .NET小贴士  135
6.7  小结  135

第7章  提交阶段  137
7.1  引言  137
7.2  提交阶段的原则和实践  138
7.2.1  提供快速有用的反馈  138
7.2.2  何时令提交阶段失败  139
7.2.3  精心对待提交阶段  140
7.2.4  让开发人员也拥有所有权  140
7.2.5  在超大项目团队中指定一个构建负责人  141
7.3  提交阶段的结果  141
7.4  提交测试套件的原则与实践  144
7.4.1  避免用户界面  145
7.4.2  使用依赖注入  145
7.4.3  避免使用数据库  145
7.4.4  在单元测试中避免异步  146
7.4.5  使用测试替身  146
7.4.6  最少化测试中的状态  149
7.4.7  时间的伪装  150
7.4.8  蛮力  150
7.5  小结  151

第8章  自动化验收测试  152
8.1  引言  152
8.2  为什么验收测试是至关重要的  153
8.2.1  如何创建可维护的验收测试套件  155
8.2.2  GUI上的测试  156
8.3  创建验收测试  157
8.3.1  分析人员和测试人员的角色  157
8.3.2  迭代开发项目中的分析工作  157
8.3.3  将验收条件变成可执行的规格说明书  158
8.4  应用程序驱动层  161
8.4.1  如何表述验收条件  163
8.4.2  窗口驱动器模式:让测试与GUI解耦  164
8.5  实现验收测试  166
8.5.1  验收测试中的状态  166
8.5.2  过程边界、封装和测试  168
8.5.3  管理异步与超时问题  169
8.5.4  使用测试替身对象  171
8.6  验收测试阶段  174
8.6.1  确保验收测试一直处于通过状态  175
8.6.2  部署测试  177
8.7  验收测试的性能  178
8.7.1  重构通用任务  178
8.7.2  共享昂贵资源  179
8.7.3  并行测试  180
8.7.4  使用计算网格  180
8.8  小结  181

第9章  非功能需求的测试  183
9.1  引言  183
9.2  非功能需求的管理  184
9.3  如何为容量编程  186
9.4  容量度量  188
9.5  容量测试环境  191
9.6  自动化容量测试  194
9.6.1  通过UI的容量测试  195
9.6.2  基于服务或公共API来录制交互操作  196
9.6.3  使用录制的交互模板  197
9.6.4  使用容量测试桩开发测试  198
9.7  将容量测试加入到部署流水线中  199
9.8  容量测试系统的附加价值  201
9.9  小结  202

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP