我們希望開始讓我們的用戶幫助我們在更廣泛的版本之前測試我們的功能更改。我們的Rails應用程序已經有了角色,但我不知道如何在不移動整個應用程序的情況下執行測試功能。如何提供測試功能以選擇用戶? (導軌)
我想不出解決方案來的一些問題:
- 測試版功能可能需要數據庫遷移。當它可能導致現有應用程序出現問題時,你如何處理這個問題?
- 更改模板和css/sass也可能會改變現有功能。
- 更改底層模型代碼可能會破壞依賴它的現有控制器/接口。
一個解決方案(一個糟糕的選擇)是在新功能中編寫代碼並將其封裝在只顯示/使用它的邏輯中,如果用戶具有「測試」角色。問題在於,當你最終把它活下來時,你可能會有很多解開/改變。這既浪費時間,也可能引入錯誤。
另一種解決方案是運行應用程序關閉一個子域名和路由用戶公測作用,它的一個單獨的「測試版」的分支。問題在於,ssl證書,電子郵件鏈接和其他依賴於域的問題的複雜性使得這有點維護痛苦(儘管不如第一種解決方案那麼糟糕)。
我怎樣才能提供這種最有效,以減少額外的工作來維持,然後公測切換到完整版?
感謝samerra,我這樣做類似。用戶可以有多個角色(管理員,基本,高級等),其中之一將是「測試版」。我遇到的問題是,部署測試版功能有時需要數據遷移和其他重大檢修。不幸的是,這可能會導致應用程序的非beta版原始版本不兼容(例如,如果從數據庫中刪除某個字段)。我主要是問人們如何處理這個問題。 – chrishomer 2010-08-30 18:55:27