使用 Chrome 在企業中實作測試

Demián Renzulli
Demián Renzulli

想像一下,貴公司最重要的軟體突然故障,會發生什麼事?訂單可能會遺失、錯過截止期限,但顧客肯定會抱怨。

只要實施持續且嚴格的測試程序,在問題造成混亂前就及時發現,就能避免這種可怕的情況。不過,在貴機構中導入這類程序說來容易做來難。

本文將說明在貴公司開始測試時需要考慮的所有事項,以及長期測試的好處。

產品團隊的測試最佳做法

本文第一部分說明如何在工作流程中開始導入測試。

在團隊中實施測試文化

如要在團隊中成功導入測試,所有成員都必須抱持共同的心態,並將品質視為一種投資,而非負擔。與其他文化轉變一樣,這項程序需要時間和持續性。

定期召開會議討論缺陷、影響、來源,以及修正缺陷所需的時間,有助於形塑這種文化。這有助於讓學生瞭解為何應盡量避免這類缺陷。

團隊中若有專責人員負責監督及推動這項工作,成功機率將大幅提升。負責定義團隊 (甚至是全機構) 指南、收集及分享最佳做法,並在各層級推動這項工作。

另一個實用方法是輪流擔任產品的支援角色。 從顧客那裡取得第一手、未經過濾的洞察資料,並瞭解他們使用產品時遇到的日常問題,對產品經理、設計師和開發人員來說都是寶貴的經驗。

目標是讓團隊中的每個人瞭解,品質也是一項功能,與您為產品建構的任何其他功能一樣重要。一旦大家都接受這種想法,自然就會瞭解測試也是一項功能。因為測試是確保出貨品質的關鍵。

逐步測試程序

產品開發團隊達成共識後,您就可以進一步正式化測試的存在和使用方式。

將測試納入「完成定義」

將測試新增為功能需求後,您就能聲明功能必須經過適當的自動測試,才能發布

定期執行測試

導入自動化測試後,您就能在開發程序的每個步驟中獲得保障。不需要人為介入,且可在開發管道的每個重要步驟中執行。例如:

  • 每次提交時。
  • 在每個提取要求中。
  • 每次完整發布或環境變更後。

如果您在正式環境中依賴第三方服務,甚至可以針對正式環境執行測試,確保第三方 API 的行為符合預期。

定義及收集指標

定義一組指標非常重要,有助於評估測試成效,以及測試工作流程對業務的影響。以下列舉幾個可用的指標範例:

  • 每月發布次數:每月發布次數越多,表示開發程序越靈活。自動化測試在此扮演重要角色,可確保發布作業順利進行。
  • 錯誤報告:錯誤報告數量減少是正面跡象,表示測試 (和開發程序) 有效。
  • 測試涵蓋範圍:雖然涵蓋範圍並非精確的指標,但可做為指標,瞭解您測試重要用途的深度。

請注意,這些指標也會受到其他因素影響,因此可能會出現偏差。舉例來說,節慶期間的發布次數可能會減少,但錯誤報告會增加。因此請勿只依賴少數幾個,並務必將這些資料與團隊可用的其他資料交叉對應。

只要與團隊成功完成這些步驟,產品健康度長期而言一定會有所提升。但您仍可採取更多行動!

系統管理員適用的測試最佳做法

產品團隊無法單獨作業,他們依賴系統管理員維護的硬體、工具和基礎架構。雖然系統管理員通常不會直接參與產品開發,但仍可對開發工作流程產生正面影響。舉例來說,您可以主動管理公司中特定使用者群組使用的瀏覽器版本。

本文的第二部分將說明運作方式,並使用 Chrome 的管道和企業政策。

Chrome 發布版本

根據預設,Chrome 會自動更新,確保每位使用者都執行最新、最穩定且安全的 Chrome 版本,包括穩定版 Chrome 發布的最新功能。

如果您是開發網路產品的公司,可能會想使用穩定版之前的瀏覽器,讓產品團隊有時間因應網路平台變化調整產品。

針對這個用途,Chrome 提供四個發布版本,適用於不同使用者群組。

以 Chrome 來說,您可以透過不同的發布管道,預先瞭解瀏覽器未來的變更,並在最新功能正式推出前進行測試:

  • 穩定版:這是大多數使用者採用的版本。穩定版會在每月推出新版 Chrome 時自動更新。
  • Beta 版:這個版本會在四到六週後成為穩定版,讓您有機會預覽及測試即將推出的穩定版,並做好準備。
  • 開發人員版:這個版本每週都會更新 Chrome,並包含所有最終會納入 Beta 版的最新修正。如頻道名稱所示,這個版本仍在開發階段,因此可能會發生無法預期的錯誤,但也會包含最新功能,有時甚至比穩定版早推出。因此開發人員通道是原型設計和尖端開發的絕佳工具。
  • Canary 頻道:最實驗性的頻道,包含所有最新功能,但測試不多。每天至少發布一次。

如要進一步瞭解 Chrome 的管道,請觀看相關的 Chrome 概念集

Chrome 穩定版、Beta 版和開發人員版的產品圖示,以及說明。

在範例機構中使用管道

各機構的產品團隊結構不盡相同,因為軟體開發沒有一體適用的方法。舉例來說,假設團隊有以下角色:產品管理、使用者體驗和使用者介面、工程、營運和支援。

對於這類機構,您可以考慮以下管道劃分方式:

  • 產品管理:產品經理通常會使用穩定版,以便與大多數使用者使用相同版本。如果他們正在開發需要尚未發布的 API 的功能,有時可能會使用 Beta 版或開發人員管道。
  • 工程和 UX:這些團隊的部分成員可以加入開發人員版,搶先體驗最新功能,例如檢視轉場效果,甚至在穩定版推出前就能使用。
  • 作業:可能處於 Beta 版,預先發現會影響使用者下一個版本的重大問題。
  • 支援:可以留在穩定管道,確保與產品互動時使用的瀏覽器,與大多數顧客相同。

這張圖表顯示範例團隊的管道流程

使用企業政策管理頻道

Chrome 不僅提供指南,還提供企業和管理工具,讓您主動管理每個使用者最終使用的管道,而不只是讓使用者自行決定。這項功能非常實用,因為測試範圍會立即從少數使用者擴大到一組確定的使用者,有助於盡早找出中斷情形,並以可追蹤的方式解決問題。

如要使用該層級的控制項,建議採用下列設定:

  • 員工 (應用程式使用者):為盡量降低中斷風險,大部分員工應使用穩定版,這個版本已通過 Chrome 測試團隊的全面測試。此外,一小部分使用者 (5% 至 10%) 可以使用 Beta 版。這個管道會搶先 4 到 6 週推出穩定版,有助於管理員找出版本可能存在的問題,並在為所有使用者推出版本前,有更多時間解決問題。
  • IT 部門:IT 部門成員 (包括系統管理員) 可以使用 Beta 版開發人員版,提前 4 到 6 週或 9 到 12 週試用 Chrome 穩定版即將推出的功能。

圖表:其他員工與 IT 部門之間的管道分配情形

長期發布版本

產品開發可能無法如期完成,且 Chrome 每月發布一次的頻率可能太高。針對這個用途,Chrome 提供擴充穩定版,讓使用者收到功能更新的頻率較低,但仍會收到安全性修正。這個版本每 8 週更新一次。

下圖顯示不同里程碑在 Chrome 不同發布管道的進展:

流程圖:顯示穩定版和延長穩定版重疊的部分

  • 穩定版和擴充穩定版在前四週會發布相同版本,之後兩者就會分道揚鑣。
  • 沒有擴充 Beta 版,而是使用標準的四週 Beta 版週期,穩定穩定版和擴充穩定版。如果企業選擇加入延長八週的穩定版,應繼續執行 Beta 版管道,以便主動找出可能影響環境的問題。

開發人員版和 Beta 版對擴充穩定版使用者仍十分重要

穩定版將加快發布週期,改為每兩週發布一次,而貴機構採用每八週發布一次的擴充穩定版,可爭取更多測試時間,但仍必須使用開發版和測試版。沒有「擴充開發版或 Beta 版」通道;標準開發版和 Beta 版通道用於穩定穩定版和擴充穩定版。

企業只要繼續執行開發和 Beta 版管道,就能主動找出可能影響環境的問題。開發人員版和 Beta 版可讓您提前四週試用即將推出的穩定版。對於長期穩定版使用者而言,這個預先發布期至關重要,因為他們可以提前發現並解決潛在的重大問題,以免在八週後的功能更新中發生問題。

開發和 Beta 版管道基本上是主要預警系統,可預先通知您八週延長穩定環境的任何變更,確保企業應用程式保持相容性。系統管理員可以繼續為開發人員和 Beta 版管道指派一小群確定性使用者 (例如 5% 到 10% 的應用程式使用者),盡量發揮這項優勢。

結論

測試是軟體開發公司確保產品品質的重要環節,也是系統管理員的重要步驟,可讓機構員工存取高品質軟體,避免業務流程中斷。

如要在機構內導入測試工作流程並獲得成功,請務必讓所有人都抱持共同的心態,也就是品質和測試都是一項功能。

本文介紹了在貴機構導入測試最佳做法的各種方式,如要深入瞭解現有的測試工具,請參閱「Tools from Chrome for frictionless, automated testing」(Chrome 工具,可進行自動化測試,輕鬆無負擔)。

如需從頭到尾的測試實作指南,請參閱我們最近在 web.dev 上推出的「瞭解測試」課程測試自動化最佳做法