发表于2024-12-14
OpenStack最佳实践――测试与CI/CD pdf epub mobi txt 电子书 下载
填补当前OpenStack云计算测试领域图书空白
针对OpenStack进行不同维度、层次的系统化测试
详解运用DevOps和CI/CD促进软件项目的敏捷开发
结合OpenStack和Docker实现CI/CD应用
目前,以云计算等为代表的新兴技术得到了大量的运用与普及。同时,凭借着众多极其独特的优势,OpenStack业已成为开源云计算技术领域的既定事实标准。
本书是一本介绍OpenStack测试和CI/CD实践的书,基于此,本书内容以实践操作为主,从理论到实践,循序渐进,依次讲解了DevOps和CI/CD的理论概念;软件测试基础和有效设计OpenStack测试用例的方法;如何参与OpenStack社区贡献及其沟通交流,以及OpenStack社区CI/CD系统和企业互操作性测试认证;OpenStack不同维度测试的实现和方法;基于OpenStack构建和运行服务于企业研发测试的CI/CD应用。
本书适合于云计算相关专业的高校师生和具有一定软件测试或云计算技术基础的读者使用,对于在云计算企业中从事技术工作的管理人员、QA测试人员和研发人员,本书也非常适用。
第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
推荐序一
OpenStack生产环境的使用和部署,目前最大的挑战是如何保持稳定性!有一种说法,OpenStack将复制Linux在开源世界中的成功,成为有史以来第二大开源软件。Linux解决系统层的问题,OpenStack则将所有的资源整合起来,实现资源的统一分配和使用。
Linux系统也是通过十几年的时间才逐步完善的,同样作为开源软件的OpenStack,虽然成熟度越来越高,但是不可否认,在OpenStack使用过程中,还是经常会踩到各种各样的坑,甚至造成生产环境的损失。如何尽量避免踩到这样的坑,答案就是予以充分测试,测试是非常有效的提前发现问题、避免踩坑的手段。
但是如何做好OpenStack测试、OpenStack和其他软件项目测试有什么异同点,以及OpenStack测试应该遵循的流程和方法是什么,目前鲜有资料能看到,《OpenStack最佳实践——测试与CI/CD》一书的出现,正好填补了这方面的空白。本书不但解答了OpenStack生产环境上线部署前,如何通过系统化的测试流程和方法规避风险,提升整体云环境的健壮性,而且更令人眼前一亮的是,书中还介绍了当前日益普及的DevOps、CI/CD应用,以及在OpenStack+Docker背景结合下的开发、测试、运维的深度实践,在保持业务稳定的前提下,持续完成敏捷开发和测试。
通过测试促进软件的质量和稳定,通过CI/CD促进软件项目的敏捷开发。试想,假如有两个通过率分别为50%和99%的软件系统,相信后者更受青睐吧。本书正是通过对多个方面内容的介绍,致力于后者,并通过大量的实践回答了如下一些重要问题。
一是阐述了如何运用DevOps和CI/CD;二是如何从小的OpenStack测试用例设计,再到针对OpenStack进行不同维度、层次的大的系统化测试;三是如何参与社区,从社区中获取帮助,并贡献其中;四是如何基于OpenStack+Docker设计与实现IT企业中用于研发测试的CI/CD服务。
基于此,本书的魅力在于,不仅深度分享了OpenStack测试的经验,还介绍了与测试相关的一套体系,通过这套体系能有效促进OpenStack的持续敏捷开发、部署和测试,实现软件系统稳定应用的最终目的。
肖 力
云技术社区创始人
推荐序二
忆往昔,2010年夏美国著名云厂商Rackspace和美国国家航空航天局(NASA)合作,贡献出Rackspace云文件平台代码和NASA Nebula平台代码,并以Apache许可证方式开源发布了OpenStack。从那时起至今,OpenStack已经走过了6个多年头,以其开源原则和包容精神,一步步吸收新的项目和创新想法,进而从最初仅含两个项目的Austin版本,发展到现在具有50多个项目的Newton合集,OpenStack俨然成为全球仅次于Linux的第二大开源社区。
OpenStack开源、开放、包容的基因是优秀的,但是由于项目数量发展太快,以及代码更新太快的原因,OpenStack必然会被各种Bug和Issue所困扰,这就需要严格且频繁地对OpenStack进行各种测试。幸运的是,OpenStack测试自始就基于Jenkins采用持续集成持续交付(CI/CD)的方式,在最大程度上保证了OpenStack上游发行版的软件质量。
关于OpenStack测试,市面上鲜有书籍详细介绍,大部分书籍或是介绍OpenStack的运维,或是介绍OpenStack的开发,或是单独全面地介绍OpenStack某一模块,比如软件定义存储或软件定义网络。徐超的《OpenStack最佳实践——测试与CI/CD》一书正好填补了市场上的这片空白。本书首先从软件测试理论讲起,介绍了什么是CI/CD,以及OpenStack的CI/CD内容,阐述了互操作性InterOp测试认证操作;然后对OpenStack的不同维度和不同底层硬件模块测试进行了深入分析;最后介绍了基于OpenStack+Docker的CI/CD部署,以及研发测试实践。
本书的重点是OpenStack不同维度的测试实践,以及基于CI/CD服务的OpenStack开发和测试实践,其次是结合OpenStack和Docker实现的CI/CD应用,这些理论和实践对读者了解OpenStack测试原理、开发基于OpenStack的发行产品、管理和保证软件质量等都是十分有帮助的。掌握了基本软件测试理论和CI/CD测试方法,即使是对于非OpenStack的其他软件开发和测试,也是十分有借鉴意义的。
除了我们所熟知的那些国际企业之外,在中国诸如中国移动、中国电信、国家电网、中国银联、东风汽车和百联集团等许多企业和电信运营商都选择了OpenStack作为公有云或IT支撑平台,还有越来越多的企业已确定或正在考虑将OpenStack作为企业虚拟化和私有云平台,越来越多的政府机构也将其作为智慧城市应用或电子政务的支撑平台。在OpenStack大规模部署和企业应用过程中,首当其冲,稳定性绝对是用户首先考虑的因素,软件测试和质量必然是用户最关注的方面,而在这种背景下,本书是读者的不二选择。
王庆(Shane Wang)
OpenStack基金会独立个人董事
一年前,在我即将离职之际,领导偶然对我说道:“那么喜欢写资料分享,考虑写本书吗?”我默笑了下,后来这种感觉愈加强烈,驱使着我真应该做点什么。
由于常写博客的习惯,加之为了更方便地让读者阅读和丰富OpenStack的整个测试体系,最终决定利用空闲时间写成一本书予以分享。能坚持下来,也算是最大的慰藉了。
现如今,各种容器技术及云计算、大数据、人工智能等技术应用层出不穷,同时又不断催生出一些诸如DevOps、CI/CD(持续集成/持续交付)、极限编程和敏捷开发等软件开发模式。
在我初涉OpenStack工作时,亦曾在其相关的诸多岗位间徘徊,但随着时间和工作事务的变化,愈加吸引了我对QA测试的兴趣和探索。回头看,无疑,测试为我开启了一扇认识OpenStack、QA测试和CI/CD的大门。
鉴于软件测试体系博大、内容众多,为了更好地把握方向和主题,本书的内容首先将重点放在了针对OpenStack不同维度的测试实践上;其次是基于CI/CD服务的OpenStack研发和测试实践;最后是基于OpenStack+Docker技术设计与实现CI/CD应用,以及相关的软件测试理论和方法等方面。
本书的目的旨在推动OpenStack测试的专业化、系统化。以解决实际问题为出发点,用大量的实际操作来阐述测试的思想与实践。并不是要告诉读者如何使用一个测试工具,这并非我的初衷。我希望读者在学习本书的内容后能够提高综合或专业的素质,摆脱简单的手工或单一测试,以及对测试理解的片面化,从而向更长远的目标迈进。诚然,本书也并非一本万能书,并不是有了它,测试便可以永无Bug,解决一切困难。
OpenStack云计算由计算、存储和网络三大基础构成,相对于其他方面,OpenStack测试是一个相对狭窄的领域,但基于这样的一个事实标准是,以OpenStack为代表的云计算已经成为一个既定事实。随着行业的不断渗透、生态环境的不断拓展等,对云计算的测试需求,特别是对高质量的复合型测试人才的需求将更加旺盛。在这里,希望本书能为有需要的读者起到帮助。
我想,本书能够出版需要感谢创造了这世界上仅次于Linux的第二大开源项目OpenStack的众多社区开发者,以及对我有养育之恩的父母,是你们为这本书的出版创造了可能。
我深知,限于自身个人水平,加之时间有限,本书可能存在某些错误,如你发现,恳请指出,不胜感激,联系邮件:faq@phei.com.cn。
徐 超
OpenStack最佳实践――测试与CI/CD
评分还不错的一本书
评分帮公司同事买的,希望能有帮助
评分非常好的书 后面好好学习
评分书本非常不错,新书要好好看
评分基础性的读物,供一般了解
评分公司采购的 图书,专业性还是不错的。
评分物流很快,书内容一般吧,大部分只是简单介绍
评分质量不错,内容充实。
OpenStack最佳实践――测试与CI/CD pdf epub mobi txt 电子书 下载