Firebase Test Lab 可讓您在各種裝置和設定上測試應用程式。本入門指南提供導入路徑,並介紹 Test Lab 的 Android 產品。
如要瞭解 Test Lab 配額和定價方案,請參閱「用量、配額和定價」。
基本概念
當您針對所選裝置和設定執行測試或一組測試案例時,Test Lab 會批次對應用程式執行測試,然後以測試矩陣的形式顯示結果。
裝置 × 測試執行 = 測試矩陣
- 裝置
- 執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置會依裝置型號、OS 版本、螢幕方向和語言代碼 (也稱為地理位置和語言設定) 識別。
- 測試、測試執行
- 在裝置上執行的測試 (或一組測試案例)。您可以在每部裝置上執行一項測試,也可以選擇將測試分區,並在不同裝置上執行測試案例。
- 測試矩陣
- 包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,整個矩陣都會失敗。
步驟 1:準備要上傳至 Test Lab 的測試
可用的測試類型
您可以使用 Test Lab 執行下列測試。請注意,所有測試類型在實體裝置上的執行時間上限為 45 分鐘,在虛擬裝置上則為 60 分鐘。任何未捕捉的例外狀況都會導致測試失敗。
檢測設備測試或檢測設備單元測試:使用 Espresso 或 UI Automator 架構編寫的測試。這項測試可讓您明確斷言應用程式的狀態,並使用 AndroidJUnitRunner API 驗證功能是否正確。
請參閱「執行檢測設備測試」,瞭解如何準備在 Test Lab 中執行的測試。
如要瞭解如何建構檢測設備測試,請參閱 Android 開發人員說明文件。
Robo 測試:這項自動化測試會分析應用程式的使用者介面,然後模擬使用者活動,有條不紊地探索應用程式,您不必編寫任何程式碼。詳情請參閱「關於 Robo 測試」。
遊戲迴圈測試:使用「展示模式」模擬遊戲應用程式中玩家動作的測試。這種方法快速且可擴充,能驗證遊戲是否能為使用者提供良好體驗。選擇執行遊戲迴圈測試時,您可以:
編寫遊戲引擎的原生測試
避免為不同的 UI 或測試架構編寫相同的程式碼
您也可以建立多個迴圈,在單一測試執行作業中執行 (詳情請參閱「關於遊戲迴圈測試」)。您也可以使用標籤整理迴圈,以便追蹤及重新執行特定迴圈。
如要瞭解如何使用 Test Lab 執行這項測試,請參閱「執行遊戲迴圈測試」。
執行測試的工具
您可以選擇下列工具來執行測試:
建議初次使用者採用:Firebase 控制台可讓您上傳應用程式,並透過網路瀏覽器啟動測試。如需使用這項工具執行測試的操作說明,請參閱「使用 Firebase 控制台進行測試」。
Android Studio 整合可讓您在不離開開發環境的情況下測試應用程式。如要瞭解如何使用這項工具執行測試,請參閱「使用 Android Studio 進行測試」。
gcloud 指令列介面可讓您透過指令列以互動方式執行測試,也適合用於編寫指令碼,做為自動化建構和測試程序的一部分。如需使用這項工具執行測試的操作說明,請參閱「使用 gcloud CLI 進行測試」。
您也可以使用 Test Lab 免費測試應用程式,只要透過 Alpha 版或 Beta 版管道,將應用程式的 APK 檔案上傳並發布到 Play 商店即可。詳情請參閱「透過正式發布前測試報告找出問題」和「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 月新增) 2001:4860:101d::/48 (2025 年 10 月新增) 2001:4860:101e::/48 (2025 年 10 月新增) 2001:4860:1031::/48 (2025 年 10 月新增) 70.32.128.48/28 (2024 年 4 月新增) 70.32.150.192/27 (2025 年 9 月新增) 108.177.6.0/27 (2025 年 9 月新增) 108.177.24.160/27 (2025 年 9 月新增) 108.177.29.0/27 (2025 年 9 月新增) 108.177.25.128/27 (2026 年 5 月新增) 108.177.26.128/26 (2026 年 5 月新增) 108.177.29.192/26 (2026 年 5 月新增) 172.217.120.64/26 (2026 年 5 月新增) 172.217.120.128/26 (2026 年 5 月新增) 2001:4860:1037::/48 (2026 年 5 月新增) 2001:4860:1038::/48 (2026 年 5 月新增) 2001:4860:103a::/48 (2026 年 5 月新增) |
| 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 月移除) |