《持续集成 软件质量改进和风险降低之道》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)杜瓦尔等著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121148699
  • 页数:242 页
图书介绍:本书全面深入地讨论了持续集成的各个方面。持续集成是一种增加项目可见性、降低项目失败风险的有效实践。许多软件开发的资深人士认定,这种方法非常不错。本书除了介绍持续集成的基本原则和工具之外,也介绍了测试驱动、代码审查、数据库集成、信息反馈等实践和工具。书中的各种主题介绍了在持续集成领域中运用的各种方法,帮助读者衡量需要进行的折中。

第1部分 CI的背景知识:原则与实践第1章 启程 2

1.1 针对每次变更构建软件 3

开发人员 4

版本控制库 6

CI服务器 6

构建脚本 8

反馈机制 9

集成构建计算机 10

1.2 CI的特征 10

源代码编译 11

数据库集成 12

测试 14

审查 15

部署 17

文档与反馈 18

1.3 本章小结 18

1.4 问题 19

第2章 引入持续集成 20

2.1 CI生活中的一天 22

2.2 CI的价值是什么 25

减少风险 25

减少重复过程 26

生成可部署的软件 26

增强项目的可见性 27

建立起更强大的产品信心 27

2.3 什么阻碍了团队使用CI 27

2.4 如何进行“持续”集成 28

2.5 项目应该在何时以何种方式实现CI 30

2.6 集成的演进 31

2.7 CI如何与其他开发实践配合 32

2.8 CI需要多少时间架设 33

2.9 CI与您 33

2.10 经常提交代码 34

2.11 不要提交无法构建的代码 35

2.12 立即修复无法集成的构建 35

2.13 编写自动化的开发者测试 35

2.14 必须通过所有测试和审查 36

2.15 执行私有构建 36

2.16 避免签出无法构建的代码 37

2.17 本章小结 37

2.18 问题 38

第3章 利用CI减少风险 39

3.1 风险:没有可部署的软件 41

场景:“在我的机器上是行的” 41

场景:与数据库同步 42

场景:点错了 43

3.2 风险:很晚才发现缺陷 44

场景:回归测试 44

场景:测试覆盖 45

3.3 风险:缺少项目可见性 46

场景:“您收到了备忘录吗?” 47

场景:不能使软件可见 47

3.4 风险:低品质的软件 48

场景:坚持编码标准 49

场景:维持架构 49

场景:重复的代码 51

3.5 本章小结 52

3.6 问题 53

第4章 针对每次变更构建软件 54

4.1 自动化构建 56

4.2 执行单命令构建 57

4.3 将构建脚本从IDE中分离 62

4.4 集中放置软件资产 63

4.5 创建一致的目录结构 64

4.6 让构建快速失败 65

4.7 针对所有环境构建 65

4.8 构建类型和触发机制 67

构建类型 67

构建触发机制 68

触发构建 69

4.9 使用专门的集成构建计算机 69

4.10 使用CI服务器 72

4.11 执行手工集成构建 72

4.12 执行快速构建 73

收集构建测量数据 74

分析构建测量数据 75

选择并实现改进 76

4.13 分阶段构建 78

重新评估 82

4.14 这对您如何生效 82

4.15 本章小结 85

4.16 问题 86

第2部分 创建全功能的CI系统第5章 持续数据库集成 90

5.1 自动化数据库集成 92

创建数据库 94

操作数据库 97

创建一段构建数据库的结合脚本 98

5.2 使用本地数据库沙盒 99

5.3 利用版本控制库共享数据库资产 101

5.4 持续数据库集成 103

5.5 让开发者能够修改数据库 104

5.6 开发团队共同关注修复失败构建 104

5.7 让DBA成为开发团队的一员 105

5.8 数据库集成和集成按钮 105

测试 105

审查 105

部署 106

反馈与文档 106

5.9 本章小结 106

5.10 问题 108

第6章 持续测试 109

6.1 自动化单元测试 111

6.2 自动化组件测试 113

6.3 自动化系统测试 115

6.4 自动化功能测试 117

6.5 对开发者测试分类 118

6.6 先执行较快的测试 120

单元测试 120

组件测试 121

系统测试 122

6.7 为缺陷编写测试 123

6.8 让组件测试可重复 128

6.9 将测试用例限制为一个断言 136

6.10 本章小结 138

6.11 问题 139

第7章 持续审查 140

7.1 审查与测试的区别 143

7.2 应该以怎样的频度执行审查 143

7.3 代码测量指标:历史 144

7.4 降低代码复杂度 145

7.5 持续进行设计复查 147

7.6 通过代码审查维持组织机构的标准 150

7.7 减少重复的代码 153

使用PMD-CPD 154

使用Simian 155

7.8 判断代码覆盖率 157

7.9 持续评估代码品质 159

覆盖率检查频度 160

覆盖率与性能 161

7.10 本章小结 162

7.11 问题 163

第8章 持续部署 164

8.1 随时随地发布可工作的软件 165

8.2 为库中的资产打上标签 166

8.3 得到干净的环境 168

8.4 为每一个构建版打上标签 169

8.5 执行所有的测试 170

8.6 创建构建反馈报告 171

8.7 回滚构建的过程能力 172

8.8 本章小结 173

8.9 问题 174

第9章 持续反馈 175

9.1 所有正确的东西 176

正确的信息 177

正确的人 178

正确的时间 179

正确的方式 180

9.2 使用持续反馈机制 180

电子邮件 180

SMS(文本消息) 182

Ambient Orb和X10设备 184

Windows任务条 188

声音 188

宽屏显示器 190

9.3 本章小结 191

9.4 问题 192

后记:CI的未来 193

附录A CI资源 195

A.1 持续集成WEB站点/文章 195

A.2 CI工具/产品资源 197

A.3 构建脚本资源 200

A.4 版本控制资源 201

A.5 数据库资源 202

A.6 测试资源 203

A.7 自动化审查资源 206

A.8 部署资源 209

A.9 反馈资源 209

A.10 文档资源 210

附录B 评估CI工具 212

B.1 评估工具时的考虑 214

功能性 214

与环境的兼容性 218

可靠性 219

寿命 220

易用性 220

B.2 自动化构建工具 221

B.3 构建计划安排工具 228

B.4 结论 237

参考文献 238