第1章 DevOps的起源和应用 1
1.1 DevOps的起源和发展 1
1.1.1 什么是DevOps 1
1.1.2 DevOps的起源 2
1.1.3 DevOps的发展 3
1.2 DevOps在研发测试中的应用 3
1.2.1 软件活动中的常见问题 4
1.2.2 DevOps的应用 4
本章小结 7
第2章 CI/CD和软件测试基础 8
2.1 CI/CD介绍 8
2.1.1 什么是CI/CD 8
2.1.2 CI/CD的未来发展 13
2.2 CI/CD在软件研发测试中的应用 14
2.3 软件测试的生命周期 16
2.3.1 需求分析 17
2.3.2 制订测试计划 20
2.3.3 编写测试用例 22
2.3.4 测试评审 23
2.3.5 测试执行 23
2.3.6 测试分析和报告 24
2.4 软件测试的分类 27
2.4.1 根据分层概念划分 27
2.4.2 根据测试对代码可见性划分 28
2.4.3 根据测试时期划分 29
2.4.4 根据面向服务划分 29
2.5 ACC测试和PDCA螺旋式测试方法 31
2.5.1 ACC测试方法 31
2.5.2 PDCA螺旋式测试方法 33
2.6 如何让用户帮助做测试 34
2.7 如何设计OpenStack测试用例 35
2.7.1 测试用例设计方法 35
2.7.2 软件测试技巧 51
2.8 熟悉OpenStack在测试中的作用 52
本章小结 54
第3章 认识和参与OpenStack社区 55
3.1 安装OpenStack有哪些方法 55
3.2 如何体验最新的OpenStack版本 58
3.3 如何贡献OpenStack社区 61
3.3.1 注册账号和提交Bug 61
3.3.2 配置账号和提交代码 65
3.4 如何参与OpenStack社区交流 69
3.4.1 通过邮件方式交流 69
3.4.2 通过IRC方式交流 70
本章小结 72
第4章 OpenStack社区CI/CD和互操作性认证 73
4.1 Python测试基础 73
4.1.1 Python异常处理 73
4.1.2 Python断言和断点 76
4.1.3 Python单元测试 77
4.1.4 Python代码调试 83
4.2 深入理解OpenStack社区CI/CD 86
4.2.1 持续集成系统(Jenkins) 89
4.2.2 集群任务分发系统(Gearman) 93
4.2.3 任务组织系统(Zuul) 94
4.2.4 代码评审系统(Gerrit) 99
4.2.5 OpenStack Solum项目的使用 101
4.2.6 Software Factory的使用 108
4.3 OpenStack社区互操作性测试认证 110
4.3.1 社区互操作性测试认证内容 110
4.3.2 环境准备 111
4.3.3 执行测试认证 112
4.3.4 上传和查看测试结果 119
本章小结 121
第5章 如何实现OpenStack不同维度测试 122
5.1 OpenStack不同维度测试 122
5.2 OpenStack代码平面测试 124
5.3 OpenStack网络平面测试 128
5.3.1 Shaker测试环境部署 129
5.3.2 Shaker测试实践 132
5.4 OpenStack管理平面测试 134
5.5 OpenStack控制平面测试 135
5.5.1 基于Docker的Tempest集成测试 135
5.5.2 基于Docker的Rally性能测试 140
5.6 OpenStack Ceph存储测试 147
5.6.1 测试环境介绍 147
5.6.2 Ceph测试介绍 148
5.6.3 服务器性能测试 149
5.6.4 Ceph集群性能测试 154
5.6.5 块存储性能测试 157
5.6.6 虚拟机性能测试 161
5.7 物理基础设施层测试 166
5.7.1 网卡测试 167
5.7.2 内存测试 171
5.7.3 CPU测试 173
5.7.4 磁盘测试 174
5.8 OpenStack测试内容 176
本章小结 180
第6章 OpenStack Dashboard前端自动化测试 182
6.1 Web测试工具和Selenium的使用 182
6.1.1 Web自动化测试工具 182
6.1.2 Selenium的使用 183
6.2 Web自动化测试框架 195
6.2.1 模块驱动测试 196
6.2.2 数据驱动测试 197
6.2.3 页面对象驱动测试 199
6.2.4 使用Dashboard默认测试脚本 200
6.2.5 开发Dashboard自动化测试框架 204
6.2.6 基于数据驱动和模块驱动的页面对象测试 212
6.3 Web前端性能测试 216
6.3.1 前端性能测试的意义 216
6.3.2 提高前端性能的方法 217
6.3.3 前端性能测试工具 218
6.3.4 使用JMeter测试OpenStack前端性能 219
6.4 实现测试统一管理 225
本章小结 229
第7章 基于OpenStack+Docker设计与实现CI/CD 230
7.1 OpenStack和Docker集成现状 231
7.2 基于OpenStack+Docker设计CI/CD 234
7.2.1 基于Docker的软件持续交付 236
7.2.2 基于OpenStack+Docker的应用部署 238
7.2.3 基于OpenStack+Docker的CI/CD流程设计 239
7.3 构建镜像仓库管理系统(Harbor) 244
7.3.1 Docker镜像的管理 245
7.3.2 安装Harbor 247
7.3.3 使用Harbor 250
7.4 构建持续集成系统(Jenkins) 251
7.4.1 Jenkins相关插件支持 252
7.4.2 部署和使用Jenkins 253
7.4.3 Jenkins备份和还原 258
7.5 构建代码仓库系统(GitLab) 260
7.5.1 部署和使用GitLab 260
7.5.2 GitLab备份和还原 264
7.6 构建代码评审系统(Gerrit) 265
7.6.1 Gerrit安装和配置 266
7.6.2 Gerrit备份和还原 273
本章小结 273
第8章 基于CI/CD的OpenStack研发测试实践 274
8.1 GitLab+Gerrit+Jenkins集成 274
8.1.1 Gerrit+GitLab集成 274
8.1.2 Gerrit+Jenkins集成 278
8.2 在Jenkins上创建项目任务 279
8.2.1 在Jenkins上创建Gerrit项目测试任务 280
8.2.2 在Jenkins上创建Gerrit项目构建任务 281
8.2.3 在Jenkins上创建GitLab项目构建任务 285
8.3 基于CI/CD的OpenStack研发实践 288
8.3.1 提交开发代码 290
8.3.2 查看集成结果 290
8.4 基于CI/CD的OpenStack测试实践 293
8.4.1 获取Tempest测试用例 294
8.4.2 Tempest原理和测试分析 296
8.4.3 Tempest测试自动化输出报告 300
本章小结 302
· · · · · · (
收起)