书籍详情
OpenStack最佳实践:测试与CI/CD
作者:徐超 著
出版社:电子工业出版社
出版时间:2017-03-01
ISBN:9787121310348
定价:¥69.00
购买这本书可以去
内容简介
目前,以云计算等为代表的新兴技术得到了大量的运用与普及。同时,凭借着众多及其独特的优势,OpenStack业已成为开源云计算技术领域的既定事实标准。 这是一本介绍OpenStack测试和CI/CD实践的书,基于此,本书内容以实践操作为主,从理论到实践,循序渐进地讲解了DevOps和CI/CD的理论概念;软件测试基础和有效设计OpenStack测试用例的方法;如何参与OpenStack社区贡献及其沟通交流,以及OpenStack社区CI/CD系统和企业互操作性测试认证;OpenStack不同维度测试的实现和方法;基于OpenStack构建和运行服务于企业研发测试的CI/CD应用。
作者简介
目前就职于中电科华云,现任云开发工程师,自2014年接触OpenStack以来,一直从事企业内部云计算自动化部署、QA测试和CI/CD设计与实现等相关工作,根据实践经验,发表过多篇文章,研究领域包括Kolla容器化OpenStack应用及部署、QA测试和CI/CD,深耕“代码自动化一切重复劳动”目标。
目录
目 录
第1章 DevOps的起源和应用\t1
1.1 DevOps的起源和发展\t1
1.1.1 什么是DevOps\t1
1.1.2 DevOps的起源\t2
1.1.3 DevOps的发展\t3
1.2 DevOps在研发测试中的应用\t3
1.2.1 软件活动中的常见问题\t4
1.2.2 DevOps的应用\t4
本章小结\t7
第2章 CI/CD和软件测试基础\t8
2.1 CI/CD介绍\t8
2.1.1 什么是CI/CD\t8
2.1.2 CI/CD的未来发展\t13
2.2 CI/CD在软件研发测试中的应用\t14
2.3 软件测试的生命周期\t16
2.3.1 需求分析\t17
2.3.2 制定测试计划\t20
2.3.3 编写测试用例\t22
2.3.4 测试评审\t23
2.3.5 测试执行\t23
2.3.6 测试分析和报告\t24
2.4 软件测试的分类\t27
2.4.1 根据分层概念划分\t27
2.4.2 根据测试对代码可见性划分\t28
2.4.3 根据测试时期划分\t29
2.4.4 根据面向服务划分\t29
2.5 ACC测试和PDCA螺旋式测试方法\t31
2.5.1 ACC测试方法\t31
2.5.2 PDCA螺旋式测试方法\t33
2.6 如何让用户帮助做测试\t34
2.7 如何设计OpenStack测试用例\t35
2.7.1测试用例设计方法\t35
2.7.2 软件测试技巧\t52
2.8 熟悉OpenStack在测试中的作用\t53
本章小结\t55
第3章 认识和参与OpenStack社区\t56
3.1 安装OpenStack有哪些方法\t56
3.2 如何体验最新的OpenStack版本\t59
3.3 如何贡献OpenStack社区\t62
3.3.1 注册账号和提交Bug\t62
3.3.2 配置账号和提交代码\t66
3.4 如何参与OpenStack社区交流\t70
3.4.1 通过邮件方式交流\t70
3.4.2 通过IRC方式交流\t71
本章小结\t73
第4章 OpenStack社区CI/CD和互操作性认证\t74
4.1 Python测试基础\t74
4.1.1 Python异常处理\t74
4.1.2 Python断言和断点\t77
4.1.3 Python单元测试\t78
4.1.4 Python代码调试\t84
4.2 深入理解OpenStack社区CI/CD\t87
4.2.1 持续集成系统(Jenkins)\t90
4.2.2 集群任务分发系统(Gearman)\t93
4.2.3 任务组织系统(Zuul)\t94
4.2.4 代码评审系统(Gerrit)\t99
4.2.5 OpenStack Solum项目的使用\t101
4.2.6 Software Factory的使用\t108
4.3 OpenStack社区互操作性测试认证\t110
4.3.1 社区互操作性测试认证内容\t110
4.3.2 环境准备\t111
4.3.3 执行测试认证\t112
4.3.4 上传和查看测试结果\t119
本章小结\t121
第5章 如何实现OpenStack不同维度测试\t122
5.1 OpenStack不同维度测试\t122
5.2 OpenStack代码平面测试\t124
5.3 OpenStack数据平面测试\t128
5.3.1 Shaker测试环境部署\t129
5.3.2 Shaker测试实践\t132
5.4 OpenStack管理平面测试\t134
5.5 OpenStack控制平面测试\t135
5.5.1 基于Docker的Tempest API集成测试\t135
5.5.2 基于Docker的Rally API性能测试\t141
5.6 OpenStack Ceph存储测试\t147
5.6.1 测试环境介绍\t147
5.6.2 Ceph测试介绍\t148
5.6.3 服务器性能测试\t150
5.6.4 Ceph集群性能测试\t154
5.6.5 块存储性能测试\t157
5.6.6 虚拟机性能测试\t161
1.15.台虚拟机\t161
2.60台虚拟机(最大数量)\t163
5.7 物理基础设施层测试\t166
5.7.1 网卡测试\t167
5.7.2 内存测试\t171
5.7.3 CPU测试\t173
5.7.4 磁盘测试\t174
5.8 OpenStack测试内容\t176
本章小结\t181
第6章 OpenStack Dashboard前端自动化测试\t182
6.1 Web测试工具和Selenium的使用\t182
6.1.1 Web自动化测试工具\t182
6.1.2 Selenium的使用\t183
6.2 Web自动化测试框架\t195
6.2.1 模块驱动测试\t196
6.2.2 数据驱动测试\t197
6.2.3 页面对象驱动测试\t199
6.2.4 使用Dashboard默认测试脚本\t200
6.2.5 开发Dashboard自动化测试框架\t204
6.2.6 基于数据驱动和模块驱动的页面对象测试\t212
6.4 Web前端性能测试\t216
6.4.1 前端性能测试的意义\t216
6.4.2 提高前端性能的方法\t217
6.4.3 前端性能测试工具\t218
6.4.4 使用JMeter测试OpenStack前端性能\t219
6.5 实现测试统一管理\t225
本章小结\t229
第7章 基于OpenStack+Docker设计与实现CI/CD\t230
7.1 OpenStack研发测试的挑战与统一\t231
7.1.1 OpenStack研发测试的挑战\t231
7.1.2 统一推动研发测试\t232
7.2 OpenStack和Docker集成现状\t233
7.3 基于OpenStack+Docker设计CI/CD\t236
7.3.1 基于Docker的软件持续交付\t238
7.3.2 基于OpenStack+Docker的应用部署\t240
7.3.3 基于OpenStack+Docker的CI/CD流程设计\t241
7.4 构建镜像仓库管理系统(Harbor)\t247
7.4.1 Docker镜像的管理\t247
7.4.2 安装Harbor\t249
7.4.3 使用Harbor\t252
7.5 构建持续集成系统(Jenkins)\t253
7.5.1 Jenkins相关插件支持\t254
7.5.2 部署和使用Jenkins\t255
7.5.3 Jenkins备份和还原\t260
7.6 构建代码仓库系统(GitLab)\t262
7.6.1 部署和使用GitLab\t262
7.6.2 GitLab备份和还原\t266
7.7 构建代码评审系统(Gerrit)\t267
7.7.1 Gerrit安装和配置\t268
7.7.2 Gerrit备份和还原\t275
本章小结\t275
第8章 基于CI/CD的OpenStack研发测试实践\t276
8.1 GitLab+Gerrit+Jenkins集成\t276
8.1.1 Gerrit+GitLab集成\t276
8.1.2 Gerrit+Jenkins集成\t280
8.2 在Jenkins上创建项目任务\t281
8.2.1 在Jenkins上创建Gerrit项目测试任务\t281
8.2.2 在Jenkins上创建Gerrit项目构建任务\t283
8.2.3 在Jenkins上创建GitLab项目构建任务\t288
8.3 基于CI/CD的OpenStack研发实践\t291
8.3.1 提交开发代码\t292
8.3.2 查看集成结果\t293
8.4 基于CI/CD的OpenStack测试实践\t295
8.4.1 获取Tempest测试用例\t296
8.4.2 Tempest原理和测试分析\t299
8.4.3 Tempest测试自动化输出报告\t302
本章小结\t304
第1章 DevOps的起源和应用\t1
1.1 DevOps的起源和发展\t1
1.1.1 什么是DevOps\t1
1.1.2 DevOps的起源\t2
1.1.3 DevOps的发展\t3
1.2 DevOps在研发测试中的应用\t3
1.2.1 软件活动中的常见问题\t4
1.2.2 DevOps的应用\t4
本章小结\t7
第2章 CI/CD和软件测试基础\t8
2.1 CI/CD介绍\t8
2.1.1 什么是CI/CD\t8
2.1.2 CI/CD的未来发展\t13
2.2 CI/CD在软件研发测试中的应用\t14
2.3 软件测试的生命周期\t16
2.3.1 需求分析\t17
2.3.2 制定测试计划\t20
2.3.3 编写测试用例\t22
2.3.4 测试评审\t23
2.3.5 测试执行\t23
2.3.6 测试分析和报告\t24
2.4 软件测试的分类\t27
2.4.1 根据分层概念划分\t27
2.4.2 根据测试对代码可见性划分\t28
2.4.3 根据测试时期划分\t29
2.4.4 根据面向服务划分\t29
2.5 ACC测试和PDCA螺旋式测试方法\t31
2.5.1 ACC测试方法\t31
2.5.2 PDCA螺旋式测试方法\t33
2.6 如何让用户帮助做测试\t34
2.7 如何设计OpenStack测试用例\t35
2.7.1测试用例设计方法\t35
2.7.2 软件测试技巧\t52
2.8 熟悉OpenStack在测试中的作用\t53
本章小结\t55
第3章 认识和参与OpenStack社区\t56
3.1 安装OpenStack有哪些方法\t56
3.2 如何体验最新的OpenStack版本\t59
3.3 如何贡献OpenStack社区\t62
3.3.1 注册账号和提交Bug\t62
3.3.2 配置账号和提交代码\t66
3.4 如何参与OpenStack社区交流\t70
3.4.1 通过邮件方式交流\t70
3.4.2 通过IRC方式交流\t71
本章小结\t73
第4章 OpenStack社区CI/CD和互操作性认证\t74
4.1 Python测试基础\t74
4.1.1 Python异常处理\t74
4.1.2 Python断言和断点\t77
4.1.3 Python单元测试\t78
4.1.4 Python代码调试\t84
4.2 深入理解OpenStack社区CI/CD\t87
4.2.1 持续集成系统(Jenkins)\t90
4.2.2 集群任务分发系统(Gearman)\t93
4.2.3 任务组织系统(Zuul)\t94
4.2.4 代码评审系统(Gerrit)\t99
4.2.5 OpenStack Solum项目的使用\t101
4.2.6 Software Factory的使用\t108
4.3 OpenStack社区互操作性测试认证\t110
4.3.1 社区互操作性测试认证内容\t110
4.3.2 环境准备\t111
4.3.3 执行测试认证\t112
4.3.4 上传和查看测试结果\t119
本章小结\t121
第5章 如何实现OpenStack不同维度测试\t122
5.1 OpenStack不同维度测试\t122
5.2 OpenStack代码平面测试\t124
5.3 OpenStack数据平面测试\t128
5.3.1 Shaker测试环境部署\t129
5.3.2 Shaker测试实践\t132
5.4 OpenStack管理平面测试\t134
5.5 OpenStack控制平面测试\t135
5.5.1 基于Docker的Tempest API集成测试\t135
5.5.2 基于Docker的Rally API性能测试\t141
5.6 OpenStack Ceph存储测试\t147
5.6.1 测试环境介绍\t147
5.6.2 Ceph测试介绍\t148
5.6.3 服务器性能测试\t150
5.6.4 Ceph集群性能测试\t154
5.6.5 块存储性能测试\t157
5.6.6 虚拟机性能测试\t161
1.15.台虚拟机\t161
2.60台虚拟机(最大数量)\t163
5.7 物理基础设施层测试\t166
5.7.1 网卡测试\t167
5.7.2 内存测试\t171
5.7.3 CPU测试\t173
5.7.4 磁盘测试\t174
5.8 OpenStack测试内容\t176
本章小结\t181
第6章 OpenStack Dashboard前端自动化测试\t182
6.1 Web测试工具和Selenium的使用\t182
6.1.1 Web自动化测试工具\t182
6.1.2 Selenium的使用\t183
6.2 Web自动化测试框架\t195
6.2.1 模块驱动测试\t196
6.2.2 数据驱动测试\t197
6.2.3 页面对象驱动测试\t199
6.2.4 使用Dashboard默认测试脚本\t200
6.2.5 开发Dashboard自动化测试框架\t204
6.2.6 基于数据驱动和模块驱动的页面对象测试\t212
6.4 Web前端性能测试\t216
6.4.1 前端性能测试的意义\t216
6.4.2 提高前端性能的方法\t217
6.4.3 前端性能测试工具\t218
6.4.4 使用JMeter测试OpenStack前端性能\t219
6.5 实现测试统一管理\t225
本章小结\t229
第7章 基于OpenStack+Docker设计与实现CI/CD\t230
7.1 OpenStack研发测试的挑战与统一\t231
7.1.1 OpenStack研发测试的挑战\t231
7.1.2 统一推动研发测试\t232
7.2 OpenStack和Docker集成现状\t233
7.3 基于OpenStack+Docker设计CI/CD\t236
7.3.1 基于Docker的软件持续交付\t238
7.3.2 基于OpenStack+Docker的应用部署\t240
7.3.3 基于OpenStack+Docker的CI/CD流程设计\t241
7.4 构建镜像仓库管理系统(Harbor)\t247
7.4.1 Docker镜像的管理\t247
7.4.2 安装Harbor\t249
7.4.3 使用Harbor\t252
7.5 构建持续集成系统(Jenkins)\t253
7.5.1 Jenkins相关插件支持\t254
7.5.2 部署和使用Jenkins\t255
7.5.3 Jenkins备份和还原\t260
7.6 构建代码仓库系统(GitLab)\t262
7.6.1 部署和使用GitLab\t262
7.6.2 GitLab备份和还原\t266
7.7 构建代码评审系统(Gerrit)\t267
7.7.1 Gerrit安装和配置\t268
7.7.2 Gerrit备份和还原\t275
本章小结\t275
第8章 基于CI/CD的OpenStack研发测试实践\t276
8.1 GitLab+Gerrit+Jenkins集成\t276
8.1.1 Gerrit+GitLab集成\t276
8.1.2 Gerrit+Jenkins集成\t280
8.2 在Jenkins上创建项目任务\t281
8.2.1 在Jenkins上创建Gerrit项目测试任务\t281
8.2.2 在Jenkins上创建Gerrit项目构建任务\t283
8.2.3 在Jenkins上创建GitLab项目构建任务\t288
8.3 基于CI/CD的OpenStack研发实践\t291
8.3.1 提交开发代码\t292
8.3.2 查看集成结果\t293
8.4 基于CI/CD的OpenStack测试实践\t295
8.4.1 获取Tempest测试用例\t296
8.4.2 Tempest原理和测试分析\t299
8.4.3 Tempest测试自动化输出报告\t302
本章小结\t304
猜您喜欢