開發過程中的測試 – α 測試 / β 測試 / γ 測試

軟體開發的階段會出幾個大版本以供測試,目的是在產品上市前以實際用戶的使用角度,對產品的功能和性能進行測試,以找出使用者可能會遇到的問題。

α、β、γ 常用來表示軟體測試過程中的三個階段:

α (Alpha) 是第一階段,一般只供内部測試使用;
β (Beta) 是第二階段,已經消除了軟件中大部分的不完善之處;
γ (Gamma) 是第三個階段,此時產品已經相當成熟,只需在個別地方再做進一步的優化處理即可上市發行。

所以基本上,順序是由 α 測試開始,之後到 β 測試,以及 γ 測試。

α 測試通常是產品還在開發中,或是完成部分的時候才開始做測試,可以在程式完成後開始,或是確認產品達到一定的穩定和可靠度之後再開始,通常會利用模擬或是實際操作來做測試,只供給內部測試使用,α 測試可說是在測試此軟體的骨架;直到產品已經做的差不多了,在 α 測試中所找到嚴重的大問題也都修正了,產品也達到一定的可靠度,才可以進入 β 測試。

在 β 測試有時會也給由外部人員參與測試,例如有些會將產品讓最終用戶直接實際操作來測試;β 測試可稱為確認測試,在一個真實的環境中以實際的資料來執行測試,以確認效能、系統執行有效率,系統復原與備份作業正常(註一),透過測試讓資訊系統日後可以更趨完善。

而我們常在遊戲界聽到某支新遊戲要開放給玩家「封測」或「公測」 ,此階段也是屬於 β 測試。
註一:在封測過程中,有時候會發生 server 崩潰,玩家同時被迫下線,重新登入回來後發現裝備都不見了,原本的進度被拉回一個星期前等等,這就是系統復原和備份作業不正常,β 測試中某些產品會特別注意此段測試,以免日後真正上市發生此問題而造成糾紛。

封測與公測
封閉測試(Closed Beta / 封測 / CB)是軟體或服務等產品在開發完成後、將公開上市前的測試過程。相對於公開測試,封閉測試的主要用途是測試軟體的功能和檢查程式錯誤等等,因此通常只提供給少數人進行測試。有些公司會要求參與測試者簽署保密協定,以避免測試的產品提前外流。有些遊戲公司的封測結束之後,會將角色資料刪除。

公開測試(Open Beta / 公測 / OB),一般常指軟體或服務等產品在正式上市前開放給不特定人試用,雖然原意是希望試用者能夠提報 bug,但並不是把試用者當做真正的驗證人員。由於通常為免費性質,故常常能夠吸引到大批的試用者參與,可視為另一種行銷策略。另一方面也節省下測試人員的成本,和驗證穩定度(壓力測試)的時間。

在 β 測試後,產品將大部分的問題都修正完,剩下一些優化的問題後,已經可以將產品正式上市,在正式上市前就算是進到了 γ 測試。

α 和 β 測試常見的一個誤解
對於 α 和 β 測試常見的一個誤解是「β 測試=黑盒測試」。實際上 α 和 β 測試指的是根據產品的階段來對應是什麼測試,例如 α 測試就是對應到 α 階段產出的產品,對此產品做測試,而 β 測試則是對應到 β 階段產出的產品做測試;而白盒、黑盒和灰盒測試技術是從技術和方法層面對測試的描述,兩個概念看的角度不相同,不應該將這兩部分概念混淆。

看完一些參考的文章後,覺得 α 測試、β 測試、γ 測試雖然只是根據不同時間所有不同的測試名稱,不過由於在不同階段產品所著重的關注點不盡相同,因此需要使用的測試技巧也會也所不同。

α 測試僅開放給內部測試,可說是在測試此軟體的骨架,在虛擬或是套好的資料上作測試以期掃出嚴重大問題。
β 測試有時會開放給由外部人員參與測試,在真實的環境下使用實際的資料做測試,確認系統、效能運作正常。
γ 測試是上市前最後的測試,確認重大功能運作正常,該優化的部分都達到標準。

參考文章:
1. 軟體測試(wiki)
2. 什麼是 α 測試和 β 測試?
3. 【討論】什麼叫做 α 測試?這邊告訴你。
4. 產品原型測試:α測試、β測試、γ測試

發表留言