為什麼軟體要發布 BETA 版,不直接發布正式版呢?

如題,為啥不等研發測試全OK了以後,再發布正式版呢?BETA版的發布,假如系統功能等等的不完善,不是會給用戶帶來不好的用戶體驗,不是有可能就失去了這個用戶嗎?


傳統軟體工程上來說,對成形軟體的測試有著三個階段:alpha、beta 和gamma,用來標識測試的階段與範圍。alpha 指的是內測,即現在說的 CB,即開發團隊內部測試的版本或者有限用戶的體驗測試版本。beta 指的是公測,即針對所有用戶公開的測試版本。而做過一些修改,成為正式發布的候選版本時(現在叫做 RC - Release Candidate),叫做 gamma。

現在來看,針對不同的軟體產品,「beta」的含義可能有很多不同。

對於互聯網產品來說,一般會喜歡將「beta」期做久一點,比如上面有人說的http://weibo.com,還有http://google.com及網路遊戲等。這樣做的原因可能有所謂「降低被噴的風險」的作用,但是實際上根本原因還是互聯網產品其本身特點,因為幾乎所有互聯網產品都要基於用戶參與,如果用戶量、交互量未達到產品預期目標,就是在「beta」階段。這是合乎軟體生命周期基本規律的。反之,軟體產品如果沒有「beta」階段,那軟體的質量就不敢保證了,例如著名的http://12306.cn,儘管他們內部可能做過壓力測試,但是,沒有beta,其質量就......。

對於傳統的商業軟體,「beta」階段知曉的人很少。因為其版本越低,越會讓人覺得不成熟,是沒有人會購買的。有一些根本就沒有見過這些測試階段的版本,也沒有1.0,2.0,直接到3.0,4.0,例如著名的oracle 。


上面回答的都很好, 我倒再想補充一點,但也許不對,我常常會弄錯,如果我弄錯了,我很願意被糾正過來,下面來看看我的看法。

你有沒有注意過像Windows這類軟體總是不斷的推出新版本,比如Windows2.0,Windows3.0,這就意味著他們改進了產品,希望你購買更好的版本,換句話說,他們最開始賣給你的產品並不是完美的。雖然他們可能知道哪裡有漏洞需要改進,但還是賣給了你。

有些人錯過了市場機遇,就是因為他們在不斷地改進他們的產品。有些產品永遠難以走向市場,就是因為它們一直都在被實驗和完善當中。其實懂得將一種產品推向市場是一門藝術,也是一門科學。不要試圖等著把產品做得完美,它永遠都不會完美的。它只要能夠 "足夠好", 只要能被市場接受就沒有問題。Windows雖然帶著那麼多的蠕蟲和缺陷,卻大獲成功。為什麼會這樣? 因為它滿足了市場需求,並且不比大家期望的差。微軟發現了一扇開啟的機會之窗,然後就開始營銷。現在正在使用Windows的你們一定不會否認,如果微軟等待產品完美了在推向市場,它就永遠都不會在市場上出現。不過也要記住,如果一種產品差得根本無法滿足其設計用途,或是無法達到市場的預期,甚至造成了麻煩,那麼砸掉的牌子也很難再豎立起來。


1、因為確實就是測試版,需要更多數量,更多使用習慣的用戶加以使用以獲得反饋。比如 CyanogenMod 的 Android ROM,開發者精力有限,無法大規模測試不同狀況下是否存在問題,所以會放出 Beta 甚至 Nightly Builds 來給全世界小白鼠們刷機和反饋問題。

2、因為一直都在持續改進,事實上和正式版的穩定性幾乎沒有差別。比如版本號里幾乎永遠帶 Beta 的 QQ~

3、因為政策原因和為了規避特定的風險,你懂的。比如四大微博加上飯否。

4、一種文化。比如 Gmail 曾經長期因為上面的第一和第二個原因而處於「Beta」狀態,在官方鑒定達到正式版質量取消 Beta 之後還會提供一個實驗室功能,讓用戶可以選擇是否在 logo 上繼續顯示 beta 字樣。


實驗室的測試跟真正的用戶使用永遠是有區別的

簡單的說就是你所謂的"研發測試全OK"是不可能的


你所說的用戶體驗不好會不會流失掉這部分人群呢?會!但是值不值得呢?回答:非常值得!beta本身就是測試版本,就是為了收集用戶體驗而開發的版本,用戶反饋的問題越多說明軟體需要改進的地方越多,這樣為後期的正式版本上線用戶體驗這個重要環節奠定基礎;

這其實就是一種市場調查,只是與傳統的市場調查不一樣,這種能更直接更全面的分析和了解用戶的需求。舉個簡單例子:為什麼很多網路遊戲上線之前需要封測,內測,然後在公測,最後才正式上線呢?你不讓用戶切身體驗一把,搞清楚用戶真正需要什麼怎麼做應用?


beta是告訴用戶目前軟體還是測試階段,不穩定有BUG,請用戶謹慎對待。

@雅魯藏 的解釋也對,不過適合對內部說,我的適合對外部說,哈哈。


這是成本問題。雇beta測試那麼多用戶做測試花多少錢?因為bug流失一個用戶損失多少錢?簡單計算一下就知道為什麼了


  1. 劉平平的解釋已經很到位了,α、β、γ三個版本中,β版是應該是測試人員最多,對於產品改動最大的版本,所以廣為人所知,也正因為這個特性,所以哪怕是用戶體驗不好,也有改動的餘地,因為人們是以寬容的態度看待這個版本。而如果問題出現在正式版本中,那才是真正的損失口碑。

  2. 還有一個比較偏門的解釋,正式版如果有問題,那屬於售後服務,對於這些問題,如果人力物力不充足往往會滯後處理;而體驗版如果有個問題,要考慮到效益,肯定是優先處理的!β版的存在有促進意義。


beta版本身已經是一個成熟的產品了。 它表現的只是一種持續更新的狀態,就像QQ,每年都有beta版。


Alpha:

內部測試版,一般不對外發布,會有很多Bug,一般只供測試人員使用。

Beta:

也是測試版,不過一般指公開或半公開測試版。這個階段的版本可能還會一直加入新的功能。在 Alpha 版之後推出。現在很多軟體直接就在 Beta 版上發布了,然後 Beta 一段時間就又變成下一個版本的 Beta 版,似乎就沒有正式版了。估計一方面是因為現在各個軟體都開始快速發布,來不及搞正式版了;另一方面,以 Beta 測試版的名義發布,如果軟體出了些紕漏,也可以推脫說是還在測試中吧。

RC (Release Candidate):

看名字就知道了,這是正式版本的候選版本。系統平台上就是發行候選版本。RC 版不會再加入新的功能了,主要著重於除錯。

RTM (Release to Manufacture):

是給工廠大量壓片的版本,內容跟正式版是一樣的。RTM 版也有出限制、評估版的。但是和正式版本的主要程序代碼都是一樣的。

OEM:

是給計算機廠商隨著計算機販賣的,也就是只能隨機器出貨,不能零售。只能全新安裝,不能從舊有操作系統升級。包裝不像零售版精美,通常只有一張 CD 和授權書(說明書)。有的甚至是直接預裝在電腦里,連個 CD 都不會給你。

RVL:

號稱是正式版,其實 RVL 根本不是版本的名稱。它是中文版/英文版文檔破解出來的。

EVAL:

流通在網路上的 EVAL 版,與「評估版」類似,功能上和零售版沒有區別。

RTL

Retail,零售版,是真正的正式版,正式上架的零售版。一般在安裝盤裡有一個 eula.txt,最後有一行 EULAID,就是版本號。比如簡體中文正式版是EULAID:WX.4_PRO_RTL_CN,繁體中文正式版是WX.4_PRO_RTL_TW。其中:如果是WX.開頭是正式版,WB.開頭是測試版。_PRE,代表家庭版;_PRO,代表專業版


推薦閱讀:

如何將「軟體工程」課程中所學的東西,付諸實踐?
為什麼現在國內看不到VR領域的軟體開發項目?
第一次接軟體項目,關於工期和價錢以及相關注意事項有什麼好的建議嗎?
碰到不懂技術,喜歡拍腦袋還特別難纏的用戶,要怎麼控制需求?
web網站想做安全測試,找漏洞。該怎麼辦,到哪裡找人做呢?

TAG:用戶體驗 | 軟體 | 軟體開發 | Android開發 | 用戶體驗設計 | 用戶研究 |