開發中產品的各版本定義(beta,alpha,rc,release...)
alpha:
Alpha是內部測試版,一般不向外部發布,會有很多Bug.除非你也是測試人員,否則不建議使用.是希臘字母的第一位,表示最初級的版本,alpha 就是α,beta 就是β ,alpha 版就是比beta還早的測試版,一般都是內部測試的版本。
beta:
該版本相對於α版已有了很大的改進,消除了嚴重的錯誤,但還是存在著一缺陷,需要經過多次測試來進一步消除。這個階段的版本會一直加入新的功能。
RC:(Release Candidate)
Candidate是候選人的意思,用在軟體上就是候選版本。Release.Candidate.就是發行候選版本。和Beta版最大的差別在於Beta階段會一直加入新的功能,但是到了RC版本,幾乎
GA:(general availability)
比如:Apache Struts 2 GA這是Apache Struts 2首次發行穩定的版本,GA意味著General Availability,也就是官方開始推薦廣泛使用了。
Release:
該版本意味“最終版本”,在前面版本的一系列測試版之後,終歸會有一個正式版本,是最終交付使用者使用的一個版本。該版本有時也稱為標準版。一般情況下,Release不會以單詞形式出現在軟體封面上,取而代之的是符號(R)。
build:
指的是單元測試或者是功能測試
這裡對說兩句,在Maven倉庫的library中,除了以上的幾個版本定義,還有一個定義:
SnapShot , Release .
什麼時候用Snapshot版本?
依賴庫中的jar正處於開發的階段,會被經常被更新,這種情況下,如果使用Release,會頻繁增加版本號,導致版本號的濫用。
版本的階段分類知識版本分類的一部分,版本還可以按照面向物件,業務版本,所處環境等等對一個產品定義。版本定義,有時版本學的一個分支部分。我也是慢慢感覺到,版本里面的別有洞天。