開始使用 Firebase 測試實驗室測試 Android

Firebase 測試實驗室可讓您在一系列裝置和設定上測試您的應用程式。本入門指南提供了可供您遵循的實施路徑,以及對測試實驗室的 Android 產品的介紹。

有關測試實驗室配額和定價計劃的信息,請參閱使用情況、配額和定價

關鍵概念

當您針對所選的設備和配置執行測試或一組測試案例時,測試實驗室會針對您的應用程式批次執行測試,然後將結果顯示為測試矩陣

設備 × 測試執行 = 測試矩陣

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

第 1 步:準備測試以上傳到測試實驗室

可用的測試類型

您可以使用測試實驗室執行以下測試。請注意,所有測試類型僅限在實體設備上運行 45 分鐘,在虛擬設備上運行 60 分鐘。任何未捕獲的異常都會導致測試失敗。

  • 儀器測試儀器化單元測試:使用EspressoUI Automator框架編寫的測試。透過此測試,您可以對應用程式的狀態做出明確的斷言,以使用AndroidJUnitRunnerAPIs驗證功能是否正確。

  • Robo 測試:一種自動化測試,可分析應用程式的 UI,然後透過模擬使用者活動來系統地探索它,而不需要您編寫任何程式碼。請造訪關於 Robo 測試以了解更多資訊。

  • 遊戲循環測試:使用「演示模式」來模擬玩家在遊戲應用程式中的操作的測試。這是一種快速且可擴展的方法,可以驗證您的遊戲是否對使用者表現良好。當您選擇執行遊戲循環測試時,您可以:

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

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

    • (可選)創建多個循環以在單一測試執行中運行(訪問關於遊戲循環測試以了解更多資訊)。您也可以使用標籤來組織循環,以便追蹤它們並重新運行特定的循環。

    有關使用測試實驗室執行此測試的說明,請參閱執行遊戲循環測試

運行測試的工具

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

當您使用 Alpha 或 Beta 管道將應用程式的 APK 檔案上傳並發佈到 Play 商店時,您還可以使用測試實驗室免費測試您的應用程式。有關詳細信息,請參閱使用發布前報告來識別問題Robo 測試

第 2 步:選擇您的測試設備

測試實驗室支援對在 Google 資料中心安裝和運行的多種品牌和型號的 Android 裝置進行測試。在測試實驗室中的裝置上進行測試可協助您偵測在 Android Studio 中使用模擬器測試應用程式時可能不會發生的問題。要了解更多信息,請參閱可用設備。

第 3 步:查看測試結果

無論您如何啟動測試,您的所有測試結果都由測試實驗室管理,並且可以在線查看。

測試結果摘要會自動儲存並可以在 Firebase 控制台中查看。它包含與您的測試最相關的數據,包括特定於測試案例的影片、螢幕截圖、通過、失敗或獲得不穩定結果的測試數量等等。

原始測試結果包含測試日誌和應用故障詳細信息,並自動儲存在 Google Cloud 儲存桶中。如果您指定儲存桶,則您需要承擔儲存費用。如果您未指定儲存桶,測試實驗室會免費為您建立儲存桶。

有關更多詳細信息,請參閱分析 Firebase 測試實驗室結果。

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

設備清理

Google 非常重視您的應用程式資料的安全性。我們遵循行業標準的最佳實踐,在每次測試運行後刪除應用程式資料並重置實體設備的系統設置,以確保它們準備好運行新的測試。對於可以使用自訂恢復映像進行刷新的設備,我們更進一步,在測試運行之間刷新這些設備。

對於測試實驗室使用的虛擬設備,設備實例在使用後將被刪除,以便每次測試運行都使用新的虛擬設備實例。


測試實驗室和 Google Play 服務

測試實驗室設備通常運行在最新版本的 Google Play 服務 SDK 上,但有些設備可能需要在新版本 SDK 發布後幾天才能更新。請注意,您可能會遇到某些設備的相容性問題。

允許測試設備存取私有後端伺服器

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

行動廣告

測試實驗室提供了可自動執行應用程式測試的可擴展基礎架構,但不幸的是,此功能可能會被旨在產生欺詐性廣告收入的惡意應用程式濫用。

為了緩解這個問題:

  • 如果您使用或與第三方數位廣告提供者(例如廣告網路或需求方平台)合作,建議您在應用程式開發和測試期間使用測試廣告而不是真實廣告。

  • 如果您必須在測試中使用真實廣告,請通知與您合作的數位廣告供應商,使用下面的 IP 位址區塊過濾掉測試實驗室產生的收入和所有相應流量。您無需通知 Google 旗下的廣告提供者;測試實驗室會為您解決這個問題。

測試實驗室設備使用的 IP 位址

測試實驗室設備產生的所有網路流量均源自以下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 月新增)

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 月刪除)