開始透過 Firebase Test Lab 進行 Android 測試

Firebase Test Lab 可讓您在各種裝置和設定上測試應用程式。這份入門指南提供導入路徑,供您參考,並介紹 Test Lab 的 Android 產品。

如要瞭解 Test Lab 配額和價格方案,請參閱「用量、配額和價格」。

基本概念

針對所選裝置和設定執行測試或一組測試案例時,Test Lab 會對應用程式執行批次測試,然後以測試矩陣的形式顯示結果。

裝置 × 測試執行次數 = 測試矩陣

裝置
您用來執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置會依據裝置型號、作業系統版本、螢幕方向和語言代碼 (也稱為地理位置和語言設定) 識別。
測試、測試執行
要在裝置上執行的測試 (或一組測試案例)。您可以在每個裝置上執行一項測試,也可以選擇將測試分片,並在不同裝置上執行測試案例。
測試矩陣
包含測試執行作業的狀態和測試結果。如果矩陣中的任何測試執行作業失敗,整個矩陣就會失敗。

步驟 1:準備要上傳至 Test Lab 的測試

可用的測試類型

您可以使用 Test Lab 執行下列測試。請注意,所有測試類型在實體裝置上最多只能執行 45 分鐘,在虛擬裝置上則為 60 分鐘。任何未擷取的例外狀況都會導致測試失敗。

  • 檢測設備測試檢測設備單元測試:使用 EspressoUI Automator 架構編寫的測試。透過這項測試,您可以對應用程式的狀態做出明確的判斷,並使用 AndroidJUnitRunner API 驗證功能是否正確。

  • Robo 測試:這項自動化測試會分析應用程式的 UI,然後模擬使用者活動,有條不紊地探索 UI,過程中完全不必編寫任何程式碼。詳情請參閱「關於 Robo 測試」。

  • 遊戲迴圈測試:這項測試會使用「試玩模式」模擬遊戲應用程式中的玩家動作。這是快速且可擴充的方式,可驗證遊戲是否能為使用者帶來良好體驗。選擇執行遊戲迴圈測試時,您可以:

    • 編寫遊戲引擎的原生測試

    • 避免為不同的 UI 或測試架構編寫相同的程式碼

    • 您可以視需要建立多個迴圈,在單一測試執行中執行 (如要瞭解詳情,請參閱「關於遊戲迴圈測試」)。你也可以使用標籤整理迴圈,以便追蹤及重新執行特定迴圈。

    如要瞭解如何使用 Test Lab 執行這項測試,請參閱「執行遊戲迴圈測試」。

執行測試的工具

您可以選擇下列工具來執行測試:

將應用程式的 APK 檔案上傳並發布到 Play 商店時,您也可以透過 Alpha 版或 Beta 版管道,使用 Test Lab 免付費測試應用程式。詳情請參閱「透過正式發布前測試報告找出問題」和「Robo 測試」。

步驟 2:選擇測試裝置

Test Lab 支援在 Google 資料中心安裝及執行的多種 Android 裝置品牌和型號上進行測試。在 Test Lab 裝置上進行測試,有助於偵測出使用 Android Studio 模擬器測試應用程式時可能不會發生的問題。詳情請參閱「適用裝置」。

步驟 3:查看測試結果

無論您如何啟動測試,所有測試結果都會由 Test Lab 管理,並可線上查看。

測試結果摘要會自動儲存,並顯示在 Firebase 控制台中。其中包含測試最相關的資料,包括測試案例專屬影片、螢幕截圖、通過、失敗或結果不穩定的測試數量等。

原始測試結果包含測試記錄和應用程式故障詳細資料,並會自動儲存在 Google Cloud bucket 中。如果您指定 bucket,則須負責支付儲存空間費用。如果未指定值區,Test Lab 會為您建立一個,無須付費。

詳情請參閱「分析 Firebase Test Lab 結果」。

Android Studio 啟動測試時,您也可以在開發環境中查看測試結果。

清除裝置資料

Google 非常重視應用程式資料的安全性。每次測試執行完畢後,我們都會遵循業界標準最佳做法,移除實體裝置上的應用程式資料並重設系統設定,確保裝置已準備好執行新測試。對於可使用自訂復原映像檔刷機的裝置,我們會進一步在測試執行期間刷機。

Test Lab 使用的虛擬裝置會在用完後刪除裝置執行個體,因此每次執行測試時都會使用新的虛擬裝置執行個體。


Test Lab 和 Google Play 服務

Test Lab 裝置通常會執行最新版 Google Play 服務 SDK,但部分裝置可能需要幾天時間,才能在 SDK 新版本發布後完成更新。請注意,部分裝置可能會發生相容性問題。

允許測試裝置存取私人後端伺服器

部分行動應用程式需要與私有後端服務通訊,才能在測試期間正常運作。如果後端伺服器受到防火牆規則保護,您可以使用下列 IP 位址區塊,透過防火牆開啟路徑,允許 Test Lab 的實體和虛擬裝置存取。

行動廣告

Test Lab 提供可擴充的基礎架構,可自動執行應用程式測試,但很遺憾的是,惡意應用程式可能會濫用這項功能,以產生不當廣告收益。

如要解決這個問題,請採取下列行動:

  • 如果您使用或與第三方數位廣告供應商 (例如廣告聯播網或需求端平台) 合作,建議在應用程式開發和測試期間使用測試廣告,而非實際廣告。

  • 如果測試時必須使用真實廣告,請通知合作的數位廣告供應商,使用下方 IP 位址區塊,篩除 Test Lab 產生的收益和所有相應流量。您不需要通知 Google 擁有的廣告供應商,Test Lab 會為您處理這項作業。

Test Lab 裝置使用的 IP 位址

Test Lab 裝置產生的所有網路流量,都來自下列IP 位址區塊。您也可以在 gcloud CLI 中使用 gcloud beta firebase test ip-blocks list 指令 存取這份清單。這份清單平均每年更新一次。

平台和裝置類型 CIDR IP 位址區塊
Android 和 iOS 實體裝置、Arm 虛擬裝置

70.32.128.0/19 (2022 年 2 月新增)

108.177.6.0/23

108.177.18.192/26 (2022 年 2 月新增)

108.177.29.64/27 (2022 年 2 月擴展)

108.177.31.160/27 (2022 年 2 月新增)

199.36.156.8/29 (2022 年 2 月新增)

199.36.156.16/28 (2022 年 2 月新增)

209.85.131.0/27 (2022 年 2 月新增)

2001:4860:1008::/48 (2022 年 2 月新增)

2001:4860:1018::/48 (2022 年 2 月新增)

2001:4860:1019::/48 (2022 年 2 月新增)

2001:4860:1020::/48 (2022 年 2 月新增)

2001:4860:1022::/48 (2022 年 2 月新增)

70.32.128.48/28 (2024 年 4 月新增)

Android 虛擬裝置 (非 Arm)

34.68.194.64/29 (2019 年 11 月新增)

34.69.234.64/29 (2019 年 11 月新增)

34.73.34.72/29 (2019 年 11 月新增)

34.73.178.72/29 (2019 年 11 月新增)

34.74.10.72/29 (2022 年 2 月新增)

34.136.2.136/29 (2022 年 2 月新增)

34.136.50.136/29 (2022 年 2 月新增)

34.145.234.144/29 (2022 年 2 月新增)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (2019 年 7 月新增)

35.245.243.240/29 (2022 年 2 月新增)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

不再使用的裝置 IP 封鎖

74.125.122.32/29 (已於 2022 年 2 月移除)

216.239.44.24/29 (已於 2022 年 2 月移除)