軟體版本週期
軟體版本週期是指計算機軟體的發展及發行過程,從Pre-alpha(準預覽版本)發展到Alpha(預覽版本)、Beta(測試版本)、Released candidate (最終測試版本)至最後的Gold(完成版)
一張圖詮釋發展軟體的過程
![software-version]ofollow,noindex">http://oss-blog.test.upcdn.net/software.jpg
開發期
Pre-alpha
有時候軟體會在Alpha或Beta版本前先發布Pre-alpha版本。一般而言相對於Alpha或Beta版本,Pre-alpha版本是一個功能不完整的版本
Alpha
Alpha 版本仍然需要測試,其功能亦未完善,因為它是整個軟體釋出週期中的第一個階段,所以它的名稱是“Alpha”,希臘字母中的第一個字母“α”。
Alpha 版本通常會送到開發軟體的組織或某群體中的軟體測試者作內部測試。在市場上,越來越多公司會邀請外部客戶或合作伙伴參與其測試。這令軟體在此階段有更大的可用性測試。
在測試的第一個階段中,開發者通常會進行白盒測試。其他測試會在稍後時間由其他測試團體以黑盒或灰盒技術進行,不過有時會同時進行。
Beta
Beta 版本是軟體最早對外公開的軟體版本,由公眾(通常為公司外的第三方開發者和業餘玩家)參與測試。 因為是 Alpha 的下一個階段,所以為希臘字母的第二個字 Beta (β)。 一般來說,Beta 包含所有功能,但可能有一些已知問題和較輕微的程式錯誤(BUG),要進行除錯(debug)。Beta版本的測試者通常是開發軟體的組織的客戶,他們會以免費或優惠價錢得到軟體。Beta版本亦作為測試產品的支援和市場反應等。
其他情況不同企業有不同的稱法,例如微軟曾以 Community Technology Preview(簡稱 CTP,中文稱為“社群技術預覽”)為釋出軟體的測試版本之一,微軟將這個階段的軟體散佈給有需要先行試用的使用者或廠商,並收集這些人的使用經驗,以便作為進一步修正軟體的參考。
Release Candidate
Release Candidate(簡稱RC)指可能成為最終產品的候選版本,如果未出現問題則可釋出成為正式版本。在此階段的產品通常包含所有功能、或接近完整,亦不會出現嚴重問題。
多數開源軟體會推出兩個 RC 版本,最後的 RC2 則成為正式版本。閉源軟體較少公開使用,微軟公司在 Windows+7/">Windows 7上應用此名稱。蘋果公司把在這階段的產品稱為“Golden Master Candidate”(簡稱 GM Candidate),而最後的 GM 即成為正式版本。
完成期
Release to Manufacting,RTM
生產商發放
(Release to Manufacturing,縮寫RTM
)是軟體產品準備交付時使用的術語,來自於以前還需要使用實體載具(光碟,硬碟等)來進行安裝的時代。某些計算機程式以“RTM”作為軟體版本代號,例如微軟 Windows 7 發行零售版前的RTM版本主要是發放給組裝機生產商用,使製造商能夠提早進行整合工作或解決軟體與硬體裝置可能遇到的錯誤。RTM 版本並不一定意味著創作者解決了軟體所有問題;仍有可能向公眾釋出前更新版本。以 Windows 7 為例:RTM 版與零售版的版本號是一樣的。
General availability,GA
一般可用
(General availability, 縮寫GA
)是所有必要的商業活動已經完成,該軟體產品已經可以發售的階段。然而,這取決於語言、地域和電子裝置與媒體的可用性,有些地區之間可能會有上市時間的延遲。商業活動可能也包括安全性和合法測試,以及本地化和全球銷售的可能性評估。RTM 與 GA 的間隔可能會是 1 周或幾個月,因為在此過程中需要進行許多商業活動。在這個階段,可以說軟體已經“上線”了。
Release to Web,RTW
網路分發
(Release to Web,縮寫RTW
),或稱 Web 釋出是一種利用網際網路進行分發的軟體交付方式。製造商在這種型別的釋出中並不生產實體軟體工具,而會藉由 OTA 來進行發放。隨著網際網路使用人數的增長,RTW變得越來越普遍。
Stable
穩定版本
來自預覽版本釋出使用與改善而修正完成,通常是初始版本進行幾個小更新後的版本。為目前所使用的軟體在匹配需求規格的硬體與作業系統中執行不會造成嚴重的不相容或是硬體衝突,其已受過某定量的測試無誤後所釋出者。