-
>
决战行测5000题(言语理解与表达)
-
>
软件性能测试.分析与调优实践之路
-
>
第一行代码Android
-
>
深度学习
-
>
Unreal Engine 4蓝图完全学习教程
-
>
深入理解计算机系统-原书第3版
-
>
Word/Excel PPT 2013办公应用从入门到精通-(附赠1DVD.含语音视频教学+办公模板+PDF电子书)
持续交付实战 版权信息
- ISBN:9787115534217
- 条形码:9787115534217 ; 978-7-115-53421-7
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 所属分类:>>
持续交付实战 本书特色
《持续交付实战》是持续交付实战指南,具体内容包括:持续交付能够解决的问题以及它具体如何解决问题,PaaS云解决方案,用Gradle、Maven和Jenkins实现自动化构建和持续集成,用SonarQube执行静态代码,如何通过容量测试确保性能,探索式测试的新特性和问题,在生产环境中发布版本和运行应用程序,等等。
持续交付实战 内容简介
本书是持续交付实战指南, 具体内容包括: 持续交付能够解决的问题以及它具体如何解决问题, PaaS云解决方案, 用Gradle、Maven和Jenkins实现自动化构建和持续集成, 用SonarQube执行静态代码, 如何通过容量测试确保性能, 探索式测试的新特性和问题, 等等。
持续交付实战 目录
第 1 章 持续交付:是什么和怎么做 2
1.1 什么是持续交付 2
1.2 为什么软件发布如此复杂 2
1.2.1 持续集成带来希望 2
1.2.2 过程缓慢且有风险 3
1.2.3 变快是有可能的 3
1.3 持续交付的价值 3
1.3.1 规律性 3
1.3.2 可追溯性 4
1.3.3 退化 4
1.4 持续交付的优势 4
1.4.1 持续交付可加快上市速度 5
1.4.2 示例 5
1.4.3 实现特性并将其发布到生产环境 5
1.4.4 下一个特性 5
1.4.5 持续交付能带来竞争优势 5
1.4.6 如果没有持续交付 6
1.4.7 持续交付和精益创业 6
1.4.8 对开发过程的影响 6
1.4.9 *小化风险 7
1.4.10 更快的反馈和精益 9
1.5 持续交付流水线的生成及其结构 10
1.6 小结 12
第 2 章 提供基础设施 13
2.1 概述 13
2.2 安装脚本 14
2.3 Chef 16
2.3.1 对比Chef与Puppet 17
2.3.2 其他备选方案 18
2.3.3 技术基础 18
2.3.4 Chef Solo 23
2.3.5 Chef Solo总结 24
2.3.6 Knife和Chef Server 24
2.3.7 Chef Server总结 27
2.4 Vagrant 28
2.4.1 Chef和Vagrant实例 29
2.4.2 Vagrant总结 30
2.5 Docker 30
2.5.1 Docker解决方案 31
2.5.2 创建Docker容器 32
2.5.3 使用Docker运行示例应用程序 35
2.5.4 Docker和Vagrant 36
2.5.5 Docker Machine 38
2.5.6 Docker的复杂配置 39
2.5.7 Docker Compose 41
2.6 不可变的服务器 43
2.6.1 幂等性的缺点 43
2.6.2 不可变服务器和Docker 43
2.7 基础设施即代码 44
2.8 平台即服务 45
2.9 数据和数据库的处理 47
2.9.1 模式的处理 47
2.9.2 测试和主数据 48
2.10 小结 49
第二部分 持续交付流水线
第 3 章 构建自动化和持续集成 52
3.1 概述 52
3.2 构建自动化和构建工具 52
3.2.1 Java世界中的构建工具 53
3.2.2 Ant 54
3.2.3 Maven 54
3.2.4 Gradle 58
3.2.5 其他构建工具 60
3.2.6 选择合适的工具 60
3.3 单元测试 61
3.3.1 编写好的单元测试 62
3.3.2 测试驱动开发 64
3.3.3 整洁的代码和软件工艺 65
3.4 持续集成 65
3.4.1 Jenkins 66
3.4.2 持续集成基础设施 70
3.4.3 结论 71
3.5 度量代码质量 73
3.6 工件管理 76
3.6.1 集成到构建中 78
3.6.2 仓库的高级特性 79
3.7 小结 80
第 4 章 验收测试 81
4.1 概述 81
4.2 测试金字塔 82
4.3 什么是验收测试 84
4.3.1 自动化验收测试 84
4.3.2 不仅仅是提升效率 84
4.3.3 手动测试 85
4.3.4 客户 85
4.3.5 对比验收测试与单元测试 86
4.3.6 测试环境 86
4.4 基于图形用户界面的验收测试 87
4.4.1 图形用户界面测试的问题 87
4.4.2 针对脆弱的图形用户界面测试的抽象 87
4.4.3 使用Selenium实现自动化 88
4.4.4 WebDriver API 88
4.4.5 无须Web浏览器的测试:HtmlUnit 88
4.4.6 Selenium WebDriver API 88
4.4.7 Selenium IDE 88
4.4.8 自动化图形用户界面测试的问题 90
4.4.9 执行图形用户界面测试 90
4.4.10 将测试导出为代码 90
4.4.11 手动修改测试用例 90
4.4.12 测试数据 91
4.4.13 Page对象 91
4.5 图形用户界面测试的替代工具 91
4.5.1 PhantomJS 92
4.5.2 Windmill 92
4.6 文本化验收测试 93
4.6.1 行为驱动开发 93
4.6.2 不同的适配器 95
4.7 其他可选框架 96
4.8 验收测试策略 97
4.8.1 合适的工具 97
4.8.2 快速反馈 97
4.8.3 测试覆盖率 98
4.9 小结 98
第 5 章 容量测试 99
5.1 概述 99
5.2 如何进行容量测试 99
5.2.1 容量测试的目标 100
5.2.2 数据量与环境 100
5.2.3 只在实现结束时才进行性能测试吗 100
5.2.4 容量测试 = 风险管理 100
5.2.5 用户模拟 101
5.2.6 记录性能需求 101
5.2.7 用于容量测试的硬件 101
5.2.8 云和虚拟化 102
5.2.9 通过持续测试使风险*小化 102
5.2.10 容量测试是否明智 102
5.3 实现容量测试 103
5.4 使用Gatling实现容量测试 104
5.5 Gatling的替代工具 108
5.5.1 Grinder 108
5.5.2 Apache JMeter 108
5.5.3 Tsung 109
5.5.4 商业解决方案 109
5.6 小结 109
第 6 章 探索式测试 110
6.1 概述 110
6.2 为什么要进行探索式测试 110
6.2.1 有时手动测试会更好 110
6.2.2 由客户测试 111
6.2.3 非功能性需求的手动测试 111
6.3 该怎么做 111
6.3.1 测试任务指南 112
6.3.2 自动化的环境 112
6.3.3 以展示为依据 112
6.3.4 示例:电子商务应用程序 112
6.3.5 Beta测试 112
6.3.6 基于会话的测试 113
6.4 小结 114
第 7 章 部署:在生产环境中发布版本 115
7.1 概述 115
7.2 发布和回滚 115
7.2.1 优点 116
7.2.2 缺点 116
7.3 前滚 116
7.3.1 优点 117
7.3.2 缺点 117
7.4 蓝/绿部署 117
7.4.1 优点 118
7.4.2 缺点 118
7.5 金丝雀发布 118
7.5.1 优点 119
7.5.2 缺点 119
7.6 持续部署 120
7.6.1 优点 120
7.6.2 缺点 121
7.7 虚拟化 121
7.8 Web应用程序之外 122
7.9 小结 123
第 8 章 运维 124
8.1 概述 124
8.2 运维中的挑战 124
8.3 日志文件 125
8.3.1 应该记录什么 126
8.3.2 处理日志文件的工具 127
8.3.3 示例应用程序中的日志记录 128
8.4 示例应用程序的日志分析 129
8.4.1 用Kibana做分析 131
8.4.2 ELK——可扩展性 132
8.5 用于日志的其他技术 134
8.6 高级日志技术 135
8.6.1 匿名化 135
8.6.2 性能 136
8.6.3 时间 136
8.6.4 运维数据库 136
8.7 监控 136
8.8 Graphite指标 137
8.9 示例应用程序中的指标 138
8.10 其他监控解决方案 140
8.11 运维应用程序时的额外挑战 141
8.11.1 脚本 141
8.11.2 客户数据中心内的应用程序 141
8.12 小结 142
第三部分 持续交付的管理、组织和架构
第 9 章 引入持续交付 144
9.1 概述 144
9.2 从一开始就引入持续交付 144
9.3 价值流映射 145
9.3.1 描述事件序列的价值流映射 145
9.3.2 优化 145
9.4 其他优化措施 146
9.4.1 质量投资 146
9.4.2 成本 147
9.4.3 收益 147
9.4.4 不要在“红色构建”上检入 147
9.4.5 立即停止 148
9.4.6 “五个为什么” 148
9.4.7 DevOps 149
9.5 小结 149
第 10 章 持续交付和DevOps 150
10.1 概述 150
10.2 什么是DevOps 150
10.2.1 问题 150
10.2.2 客户视角 151
10.2.3 先锋:亚马逊 151
10.2.4 DevOps 151
10.3 持续交付和DevOps 152
10.3.1 DevOps:不只是持续交付 153
10.3.2 个体责任和自组织 153
10.3.3 技术决策 154
10.3.4 减少集中控制 154
10.3.5 技术多元化 154
10.3.6 团队间的交流 154
10.3.7 架构 155
10.4 没有DevOps的持续交付 156
10.5 小结 157
第 11 章 持续交付、DevOps和软件架构 158
11.1 概述 158
11.2 软件架构 158
11.3 针对持续交付优化架构 160
11.4 接口 161
11.4.1 伯斯塔尔法则 162
11.4.2 容错设计 162
11.4.3 状态 163
11.5 数据库 163
11.5.1 保持数据库稳定 163
11.5.2 数据库 = 组件 164
11.5.3 视图和存储过程 164
11.5.4 每个组件一个数据库 165
11.5.5 NoSQL数据库 165
11.6 微服务 165
11.6.1 微服务与持续交付 165
11.6.2 借助微服务引入持续交付 166
11.6.3 微服务需要持续交付 166
11.6.4 组织 166
11.7 新特性的处理 167
11.7.1 特性分支 167
11.7.2 特性开关 167
11.7.3 优点 167
11.7.4 特性开关的用例 168
11.7.5 缺点 168
11.8 小结 169
第 12 章 总结:收益是什么 170
持续交付实战 作者简介
埃伯哈德·沃尔夫(Eberhard Wolff),德国技术咨询公司innoQ的研究员,一位立足于业务和技术交汇点、拥有超过15年经验的架构师和咨询师。他曾多次在国际会议上做过报告,担任若干会议的委员会成员,并撰写了100多篇文章,出版了多本图书。他的技术关注点是现代架构,主要涉及云计算、持续交付、DevOps、微服务和NoSQL。其著作《微服务:灵活的软件架构》中文版已经由人民邮电出版社出版。 【译者介绍】 夏雪,曾担任功能测试经理、敏捷教练,具有丰富的测试及测试管理经验,在代码静态分析领域获得过国家发明专利。现主要负责质量及过程改进管理,从事CI/CD、DevOps的推进工作,并于2019年通过了EXIN DevOps Master认证。他非常乐于将国外的技术新闻和文章分享到国内,除本书外,另译有《深入敏捷测试》。
- >
李白与唐代文化
李白与唐代文化
¥12.5¥29.8 - >
上帝之肋:男人的真实旅程
上帝之肋:男人的真实旅程
¥30.5¥35.0 - >
【精装绘本】画给孩子的中国神话
【精装绘本】画给孩子的中国神话
¥17.6¥55.0 - >
自卑与超越
自卑与超越
¥13.5¥39.8 - >
唐代进士录
唐代进士录
¥15.1¥39.8 - >
史学评论
史学评论
¥13.4¥42.0 - >
朝闻道
朝闻道
¥15.0¥23.8 - >
诗经-先民的歌唱
诗经-先民的歌唱
¥18.7¥39.8
-
网络工程师教程(第2版)
¥69.3¥99 -
Python 数据分析基础
¥41¥69 -
Python 3.5从零开始学
¥26.4¥59 -
虚拟化与容器技术
¥49.9¥69.8 -
UG NX 11.0工程图教程-(含1DVD)
¥30.4¥59.9 -
程序设计语言编译原理(第3版)
¥25.4¥39