Firebase Test Lab 可讓您透過各種裝置和設定測試應用程式。這份入門指南提供您可以遵循的實作路徑,以及 Test Lab 的 Android 產品簡介。
如要瞭解 Test Lab 配額和定價方案,請參閱「用量、配額與定價」。
基本概念
當您針對您選取的裝置和設定執行測試或一組測試案例時,Test Lab 會針對應用程式批次執行測試,然後將結果顯示為測試矩陣。
裝置 × 測試執行 = 測試矩陣
- 裝置
- 執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置是透過裝置型號、OS 版本、螢幕方向和語言代碼 (又稱為地理位置和語言設定) 識別。
- 測試、測試執行
- 要在裝置上執行的測試 (或一組測試案例)。您可以為每部裝置執行一項測試,也可以選擇分割測試,並在不同裝置上執行測試案例。
- 測試矩陣
- 包含測試執行作業的狀態和測試結果。如果矩陣中的任何測試執行失敗,整個矩陣都會失敗。
步驟 1:準備上傳至 Test Lab 的測試
可用的測試類型
您可以使用 Test Lab 執行以下測試。請注意,所有測試類型在實體裝置上執行 45 分鐘,在虛擬裝置上執行 60 分鐘。任何未偵測到的例外狀況都會導致測試失敗。
檢測設備測試或檢測設備單元測試:您使用 Espresso 或 UI Automator 架構編寫的測試。透過這項測試,您可以對應用程式狀態做出明確的斷言,並使用 AndroidJUnitRunnerAPIs 驗證功能是否正確。
請參閱「執行檢測設備測試」一文,瞭解如何準備在 Test Lab 中執行測試。
如要瞭解如何建構檢測設備測試,請參閱 Android 開發人員說明文件。
Robo 測試:這項自動化測試可分析應用程式 UI,然後模擬使用者活動,有條不紊地探索,而不需要您編寫任何程式碼。詳情請參閱「關於 Robo 測試」一文。
遊戲迴圈測試:使用「示範模式」模擬遊戲應用程式中的玩家動作。這個快速又可擴充的方法可讓您確認遊戲的使用者體驗是否良好。選擇執行遊戲迴圈測試時,您可以執行下列操作:
編寫遊戲引擎原生的測試
避免為不同的 UI 或測試架構編寫相同的程式碼
您可以選擇建立多個迴圈,並在單一測試執行作業中執行 (詳情請參閱「關於遊戲迴圈測試」)。您也可以使用標籤整理迴圈,以便追蹤這些迴圈並重新執行特定迴圈。
如要瞭解如何使用 Test Lab 執行這項測試,請參閱「執行遊戲迴圈測試」。
執行測試的工具
您可以選擇下列工具來執行測試:
建議首次使用的使用者:Firebase 控制台可讓您上傳應用程式,並透過網路瀏覽器啟動測試。如要瞭解如何使用這項工具執行測試,請參閱使用 Firebase 控制台進行測試。
Android Studio 整合可讓您在無須離開開發環境的情況下測試應用程式。如要瞭解如何使用這項工具執行測試,請參閱「使用 Android Studio 進行測試」。
gcloud 指令列介面可讓您以互動方式透過指令列執行測試,而且非常適合做為自動化建構與測試程序的一部分進行指令碼。如要瞭解如何使用這項工具執行測試,請參閱使用 gcloud CLI 進行測試。
您也可以使用 Alpha 版或 Beta 版頻道,上傳應用程式的 APK 檔案並發布至 Play 商店時,使用 Test Lab 免費測試應用程式。詳情請參閱「透過正式發布前測試報告找出問題」和「Robo 測試」。
步驟 2:選擇測試裝置
Test Lab 支援在 Google 資料中心內安裝並執行的 Android 裝置品牌和型號進行測試。在 Test Lab 的裝置上進行測試,有助於偵測使用 Android Studio 的模擬器測試應用程式時可能不會發生的問題。詳情請參閱可用的裝置相關說明。
步驟 3:查看測試結果
無論測試的執行方式為何,所有測試結果都會由 Test Lab 管理,可供線上查看。
測試結果摘要會自動儲存,您可以在 Firebase 控制台中查看。其中包含與測試最相關的資料,包括測試案例特定影片、螢幕截圖、通過的測試、失敗、失敗,或結果不穩定等。
「原始測試結果」包含測試記錄與應用程式失敗的詳細資料,並自動儲存於 Google Cloud 值區。如果您指定值區,則須支付該儲存空間的費用。如未指定值區,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 (新增 02-2022 年) 108.177.29.64/27 (展開 2022 年 2 月) 108.177.31.160/27 (新增 02-2022 年) 199.36.156.8/29 (新增 02-2022) 199.36.156.16/28 (新增 02-2022) 209.85.131.0/27 (新增時間:02-2022) 2001:4860:1008::/48 (新增 02-2022) 2001:4860:1018::/48 (新增 02-2022) 2001:4860:1019::/48 (新增 02-2022) 2001:4860:1020::/48 (新增 02-2022) 2001:4860:1022::/48 (新增 02-2022) 70.32.128.48/28 (新增 04-2024 年) |
Android 虛擬裝置 (非作業系統) |
34.68.194.64/29 (新增 11-2019 年) 34.69.234.64/29 (新增 11-2019 年) 34.73.34.72/29 (新增於 11-2019 年) 34.73.178.72/29 (新增 11-2019 年) 34.74.10.72/29 (新增時間:02-2022) 34.136.2.136/29 (2022 年新增) 34.136.50.136/29 (2022 年新增) 34.145.234.144/29 (新增 02-2022 年) 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 (新增 7-2019 年) 35.245.243.240/29 (新增 02-2022 年) 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 月) |