發表於2024-11-25
填補當前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 下載 mobi pdf epub txt 電子書 格式 2024
OpenStack最佳實踐――測試與CI/CD 下載 mobi epub pdf 電子書他很喜歡
評分他很喜歡
評分一般吧,京東的快遞618真是慢啊!
評分書本非常不錯,新書要好好看
評分還不錯的一本書
評分他很喜歡
評分OpenStack最佳實踐――測試與CI/CD
評分還不錯的一本書
評分書本非常不錯,新書要好好看
OpenStack最佳實踐――測試與CI/CD mobi epub pdf txt 電子書 格式下載 2024