什麼是 Chrome 變化版本?

Chrome 測試瀏覽器新功能的機制

您可能聽過 Chrome 變化版本、Chrome 實際測試版本,甚至是內部代號 Chrome Finch。

這些名稱都是一樣的,例如測試新功能或變更 Chrome 瀏覽器新功能或 ChromeOS (在 Chromebook 上執行的 Chrome 作業系統) 的機制。

Chrome 變化版本的用途為何?

Chrome 變化版本可讓 Chrome「啟用」新功能、「停用」功能,或嘗試對部分使用者套用某項功能的變更。

並不是所有的 Chrome 功能都是透過 Chrome 變化版本機制導入。不過,每當我們需要特別謹慎行事,或是做出變更可能對效能造成預期外的風險,Chrome 團隊就會使用 Chrome 變化版本。「變更」可能代表 Chrome 程式碼的效能強化、瀏覽器外觀或功能更新,或者偶爾修改 JavaScript API。

Chrome 變化版本也可用來驗證變更或更新的假設。例如,在 Chrome 變化版本群組中,我們嘗試調整 QUIC 網路通訊協定參數,以便加快 Chrome 在使用者的實際網路狀況下運作速度。

此外,Chrome 的來源試用功能也可能出現 Chrome 變化版本。根據預設,所有提供有效試用權杖的網頁都會啟用來源試用功能,但在某些情況下,Chrome 變化版本的用途是控管功能啟用作業。這表示部分使用者可能無法使用來源試用功能,即使他們造訪的網頁提供了有效試用權杖也一樣。我們會提供每次來源試用的說明文件和更新內容,說明符合來源試用功能的啟用資格比例。

Chrome 變化版本的運作方式

使用電腦版、行動版或行動版 Chrome 時,每 30 分鐘或每次啟動 Chrome 都會向 Chrome 後端發出要求,以取得 Chrome 變化版本設定檔 (也就是變化版本的「種子」)。也就是說,可透過專用伺服器提供 Chrome 變化版本種子。Chrome 會向伺服器發出 HTTPS 要求,而伺服器會以 delta 壓縮種子做為回應。

系統會將瀏覽器和作業系統的相關資訊傳送到 Chrome 變化版本後端;Chrome 變化版本程序會導向內含隨機種子的瀏覽器。

裝置上的 Chrome 與 Chrome 變化版本後端連線以取得種子檔案時,還會提供 Chrome 版本和執行作業系統的相關資訊。Chrome 變化版本後端傳回的檔案可用來開啟功能、關閉各項功能,或指定功能的變化。

Chrome 會使用種子檔案中的資料,以及儲存在本機的隨機種子,將瀏覽器隨機指派給變化版本群組。也就是說,您可以將隨機種子與 Chrome 變化版本後端的種子檔案搭配使用,為部分使用者啟用或停用瀏覽器的功能。您的瀏覽器會追蹤其所屬的變化版本群組。

功能發布和 Chrome 版本

Chrome 變化版本其中一個最重要的用途之一,就是逐步對部分 Chrome 用戶端進行變更或推出新功能。Chrome 等複雜的應用程式擁有數十億名使用者,且裝置遍布多個平台,並在數百萬個不同的應用程式和網站中使用數十種不同的語言,這一點非常重要。

Chrome 會在 Chrome Canary、開發人員版和 Beta 版中使用及測試功能,獲得寶貴的意見回饋。我們可以使用 Chrome 變化版本,啟用或停用任何發布版本中的功能。但這些管道主要是由開發人員和其他專家使用。Chrome 穩定版使用者與 Chrome 的互動方式不同,互動率也大上許多,因此我們每次都必須使用穩定版進行驗證。這可以用來排除一般瀏覽器使用時遇到的所有問題。Chrome 工程師無法每次都能大規模預測使用者如何因應變更和新功能。

「Chrome 變化版本」是達成此目標的重要機制,只要啟用或停用功能,您就能查看 Chrome 穩定版的使用情形和指標。透過評估 Chrome 穩定版變更帶來的影響,我們就能盡可能提供最佳功能,並打造更優質的瀏覽器,即使取捨比較複雜也沒問題。

Chrome 工程師何時會使用 Chrome 變化版本?

Chrome 需要使用 Chrome 變化版本的原因有三個主要原因。

啟用新功能

使用 Chrome 變化版本對新功能的啟用行為提供控管權,特別適用於任何可能帶來風險,或可能會影響效能的項目。

Chrome 變化版本可讓我們為部分使用者提供新功能。如此一來,Chrome 工程師就能檢查效能差異,或是查看變化版本群組的其他類型意見回饋。

停用功能

Chrome 變化版本可做為關閉功能的安全機制,但這種情況很少見。

舉例來說,新的網路功能可能會遭受阻斷服務攻擊。Chrome 變化版本可用來快速關閉這類功能,因為系統每隔 30 分鐘就會下載 Chrome 變化版本設定,而且每次重新啟動 Chrome 都會啟用設定。相較之下,更新 Chrome 並等待將新版本發布給數十億使用者時,速度會比較慢。

嘗試變更地圖項目

最後,Chrome 變化版本可用來驗證變更和更新項目。舉例來說,我們可以調整 Chrome 離線恐龍遊戲的難度,讓互動過程更有趣。

Chrome 變化版本也可用來研究新功能的長期影響。做法就是使用 Chrome 變化版本機制,針對少數使用者 (可能不超過 1%) 保留功能。「區隔劃分群組」可用於檢查僅在一段時間內才會顯示的變更和連帶效果。

區隔劃分群組對使用者介面變更來說特別重要,因為使用者可能會與新的功能互動,但長期下來行為可能有所不同。

舉例來說,我們在 Chrome 中推出相片挑選工具,但這項功能暫時並未發送給少數使用者,用來比較結果。我們為大部分使用者推出全新的 Android 相片挑選工具,一開始也發現群組在網路上分享的圖片數量大幅增加。不過,在採用區隔劃分做法的六個月內,用量大幅下降。這是因為新版相片挑選工具鼓勵網站在檔案輸入元素中加入「接受」屬性,讓所有使用者都能享有更優質的體驗。

如何使用 Chrome 變化版本進行驗證?

如果啟用有助於改善 Chrome 功能和效能的設定 (chrome://settings/syncSetup?search=improve),Chrome 就會透過使用者指標分析 (UMA) 這項機制自動監控指標,並將指標傳送至 Chrome 後端。您可以在 chromestatus.com/metrics 查看 Chrome 的匿名使用統計資料範例,例如使用 CSS 屬性、HTML 或 JavaScript 功能的網頁載入百分比。

Chrome 變化版本在比較一組使用者的統計資料時特別實用。舉例來說,如果您只為部分使用者啟用某項功能,而其他使用者無法啟用這項功能,Chrome 就能比較各群組的指標。這些指標可能包含記憶體用量、網頁載入時間或瀏覽器功能使用情形。如此一來,Chrome 工程師就能針對已開啟功能、關閉該功能的使用者或功能變化版本的使用者,比較兩者的效能或其他指標。

Chrome 變化版本實測

特徵的每個變化版本稱為「研究」或「實測」,且每個變化版本都有固定的時間長度。某項功能的研究結束後,納入非預設行為群組的使用者都會套用此功能的預設 Chrome 設定:啟用或停用。

大部分可由 Chrome 變化版本控制的功能,都會對應至可在 chrome://flags 頁面設定的標記。或者,如果您透過指令列執行 Chrome,也可以使用 --enable-features--disable-features 旗標設定 Chrome 變化版本。

--reset-variation-state 旗標會強制重設目前用戶端的 Chrome 變化版本狀態。這表示用戶端可能會移至不同的 Chrome 變化版本群組。

適用於企業的 Chrome 變化版本

如果是企業客戶,Chrome 也提供 ChromeVariations 政策,用於管理 Chrome 變化版本。當然,建議您將 Chrome 變化版本功能保持啟用,以便 Chrome 快速提供重大安全性修正項目。

瞭解詳情