文章摘要: U Unit Testing 單元測試 程式碼級(即無需安裝完整的端到端系統以執行)測試以驗證各個程式碼段的行為通常遵循用於應用程式程式碼開發的相同實踐
A
A/B Testing
A/B測試
使用A/B測試的技術將新功能或某項功能的不同變體推向不同組別的使用者,這些功能可通過比較指標和使用者行為進行評估。
Acceptance Testing
驗收測試
通常對整個系統進行高階測試,以確定新功能和現有功能的整體質量是否足以讓系統投入生產。
Agent
代理程式
代理程式是安裝在特定物理伺服器上的程式,用於在該伺服器上處理不同程序的執行。
Agile
敏捷
是DevOps的前身;敏捷是一種軟件開發方法,更廣泛來說,是一種業務方法。敏捷強調短期迭代的規劃和開發週期以提供更好的控制以及可預測性,並支援隨著專案的發展而不斷變化的需求。
ARA (Application Release Automation)
ARA (應用程式釋出自動化)
可以在目標環境中自動安裝和正確配置給定應用程式版本並隨時可用的工具、指令碼或產品。
B
Behavior-Driven Development (BDD)
行為驅動開發(BDD)
一種開發方法,強調軟體應該根據應用程式的期望行為並以業務管理人員可讀的語法來指定。
Black Box Testing
黑盒測試
一種測試或質量保證實踐,它假設不知道被測系統內部的工作原理,因此嘗試驗證外部而不是內部行為或狀態。
Build Agent
Build Agent
一種用於持續整合的代理程式,可以本地或遠端安裝,跟持續整合伺服器有關。它傳送和接收跟處理軟體構建有關的訊息。
Build Artifact Repository
構建工件儲存庫
用於組織具有後設資料構造的工件,並允許自動釋出和使用這些工件的工具。
Build Automation
構建自動化
允許將原始碼自動編譯為可釋出的二進制程式碼的工具或框架。通常包括程式碼級的單元測試,以確保程式碼的各個部分按預期執行。
C
Canary Release
灰度釋出 (金絲雀釋出)
一種上線策略,在該策略中,把新的應用程式版本釋出到生產伺服器的一小部分上,並嚴格監控以確定其是否按預期執行。如果一切看起來穩定,那麼新版本將推廣到整個生產環境。
Configuration Drift
配置漂移
由於手工的特殊更改(如熱修復)沒有引入到系統模版中而引起軟體和硬體配置與系統模版版本漂移或不一致。
Configuration Management
配置管理
用於建立和維護系統一致的設定和功能屬性的術語。它包括用於IT基礎設施自動化等系統管理任務的工具。
Continuous Delivery
持續交付 (CD)
持續交付是一套流程和實踐,從根本上清除軟體生產過程中的浪費,能更快地交付高質量的功能,並在業務和使用者之間建立快速有效的反饋環。
Continuous Integration (CI)
持續整合(CI)
持續整合(CI)是一種開發實踐,它要求開發人員每天多次把程式碼整合到共享儲存庫中。然後通過自動構建驗證每次簽入,使得團隊能儘早發現問題。
D
Dark Launch
灰度上線
一種上線策略,其中實現新功能的程式碼被髮布到生產環境的子集,但是不可見或只是部分啟用。然而,該程式碼是在生產環境中執行,使用者並不知曉。
Delivery Pipeline
交付管道
一系列為新應用程式版本實施軟體交付過程的編排的、自動化的任務。該管道中的每個步驟旨在提高新版本的置信度,使其能夠做出合格/不合格的決策。交付管道可以被看作是組織釋出流程的優化結果。
DevOps
DevOps
DevOps(開發和運維)是一個軟件開發短語,用於描述開發和IT運維之間的敏捷關係。DevOps的目標是改善在軟件開發週期中不同角色之間的溝通、協作和流程,以改善和加速軟體交付。
DevOps Intelligence
DevOps 智慧
提供公司所需的洞察力,以更高效、更低風險和更好結果的方式交付軟體,
F
Functional Testing
功能測試
進行端到端系統的測試以驗證(新)功能。使用可執行規範,通過執行針對應用程式的規範來進行功能測試。
I
Infrastructure as a Service (IaaS)
基礎 設施 即服務(IaaS)
雲託管的虛擬機器器通常根據「按需付費」收費。使用者對機器有完全的控制,但是需要自己安裝和配置所需的中介軟體和應用程式。
Infrastructure as Code
基礎 設施 即程式碼 (IaC)
一種系統配置管理技術,其中以完全自動化的形式指定機器、網路裝置、作業系統、中介軟體等。規範或「藍圖」被認為是程式碼,由供應工具執行,儲存在版本控制中,通常遵循用於應用程式程式碼開發的相同實踐。
L
Lean
精益
「精益製造」或「精益生產」是一種方式或方法,旨在通過專注於保護價值來減少生產過程中的浪費。它很大程度上來源於豐田公司在汽車製造業中開發的實踐,精益概念已經作為敏捷方法的部分被應用於軟件開發。價值流程圖(VSM)試圖直觀地識別有價值和有浪費的流程步驟,是個關鍵的精益工具。
M
Microservices
微服務
微服務是一種軟體架構設計模式,其中複雜的應用程式由獨立的小型程序構成,這些程序使用與語言無關的API進行通訊。這些服務規模小,高度分離,專注於完成一個小任務。
N
Non-functional Requirements (NFRs)
非功能性需求(NFRs)
系統質量的規範,諸如易用性,設計清晰度,延遲,速度,處理大量使用者的能力等,描述瞭如何輕鬆或高效地使用某個功能,而不只是它是否存在。這些特性可以使用持續交付反饋環來解決和改善。
NoOps
NoOps
在一個公司中,應用程式執行的系統管理要麼是完全由外部一方(如PaaS 供應商)來處理,要麼就是全自動化的。使用NoOps旨在儘量減少或不使用內部運維能力和員工。
O
Orchestration Pipeline
編排管道
在適當的時間呼叫形成持續交付管道的不同自動化任務的工具或產品。它們通常也記錄每個任務的狀態和輸出,並通過管道視覺化特徵流。
P
Platform as a Service (PaaS)
平臺即服務(PaaS)
雲託管的應用程式執行時間通常根據「按需支付」的原則計費。使用者提供應用程式程式碼和有限的配置設定,中介軟體、資料庫等都是提供的執行時的一部分。
Product Owner
產品負責人
開發團隊中負責定義、確定優先順序和維護未完成功能及其他工作的人或角色。產品負責人在敏捷軟件開發方法中很常見,通常代表業務或客戶組織。相比在更傳統的軟件開發過程中的同行,產品負責人需要在敏捷開發流程中扮演更積極的日常角色。
Provisioning
服務開通
為使用者(在持續交付的場景下,通常是開發或測試團隊)準備新系統的過程。該系統通常根據需要進行虛擬化和例項化。配置機器以安裝作業系統、中介軟體等操作是由自動化的系統配置管理工具來處理,這些自動化工具還驗證所需要的配置是否得到維護。
R
Regression Testing
迴歸測試
對端到端系統的測試,以驗證應用程式的更改沒有對現有功能產生負面影響。
Release Coordination
釋出協調
定義和執行從程式碼簽入到生效的新功能(或功能集)所需的所有操作。在持續交付環境中,這在很大程度上是完全自動化的,並由管道執行。
Release Management
釋出管理
釋出管理是管理軟體釋出從開發階段到實際軟體釋出階段的流程。
Release Orchestration
釋出編排
釋出編排是使用諸如XL釋出等工具管理軟體釋出(從開發階段到實際軟體釋出階段)。
T
Test-Driven Development (TDD)
測試驅動開發(TDD)
一種開發實踐,在該實踐過程中,用於驗證程式碼片段表現的小測試在編寫程式碼前就已經寫就。這些測試最初是失敗的,但開發人員的目標是接著新增程式碼使這些測試成功。
U
Unit Testing
單元測試
程式碼級(即無需安裝完整的端到端系統以執行)測試以驗證各個程式碼段的行為。TDD廣泛使用單元測試以描述和驗證預期的行為。
V
Value Stream Mapping
價值 流程 圖
一種過程視覺化和改善技術,大量用於精益生產和工程方法中。價值流圖用於識別必要的處理步驟,而不是逐漸清除流程中的「浪費」。
Virtualization
虛擬化
一種系統管理方法,使用者和應用程式不需要使用物理機器,而是在實際的「真實」硬體上執行的模擬系統。這樣的「虛擬機器」能夠在幾秒鐘內自動生成、啟動、停運、克隆和丟棄,給操作帶來了巨大的便利。
W
Waterfall
瀑布式(開發)
一種基於分階段專案方法的軟件開發方法,從「需求收集」到「開發」,再到「釋出」。如果專案中前面的階段有延遲,整個過程中靠後的階段(通常和測試及QA相關)會因此在時間上受到擠壓。
White Box Testing
白盒測試
一種測試或質量保證實踐,它通過系統執行時檢查系統(內部)表現和狀態以驗證系統內部功能是否正確。
閱讀英文原文: The Complete DevOps Glossary
感謝張嬋對本文的策劃和審校。