Firebase 測試實驗室可讓您在各種設備和配置上測試您的應用的質量。本指南概述了 Test Lab 的關鍵概念、iOS 產品以及如何開始測試的說明。
有關測試實驗室配額和定價計劃的信息,請參閱使用情況、配額和定價。
關鍵概念和術語
當您針對所選的設備和配置運行測試或一組測試用例時,測試實驗室會針對您的應用程序批量運行測試,然後將結果顯示為測試矩陣。
設備 × 測試執行 = 測試矩陣
- 設備
- 您運行測試的物理或虛擬設備(僅限 Android),例如手機、平板電腦或可穿戴設備。測試矩陣中的設備通過設備型號、操作系統版本、屏幕方向和區域設置(也稱為地理位置和語言設置)進行標識。
- 測試、測試執行
- 要在設備上運行的測試(或一組測試用例)。您可以為每台設備運行一個測試,也可以選擇對測試進行分片並在不同的設備上運行其測試用例。
- 測試矩陣
- 包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行失敗,則整個矩陣都會失敗。
第 1 步:準備測試以上傳到測試實驗室
您可以使用測試實驗室運行以下測試。請注意,所有測試類型在物理設備上最多可以運行 45 分鐘,任何未捕獲的異常都將導致測試失敗。
XCTest(包括 XCUITests) :您使用XCTest 框架編寫的單元測試。訪問創建 XCTest,了解有關修改 XCTest 以與測試實驗室一起運行的說明。
遊戲循環測試:使用“演示模式”來模擬玩家在遊戲應用程序中的操作的測試。這是一種快速且可擴展的方法,可以驗證您的遊戲是否對用戶表現良好。當您選擇運行遊戲循環測試時,您可以:
編寫適合您的遊戲引擎的原生測試。
避免為不同的 UI 或測試框架編寫相同的代碼。
(可選)創建多個循環以在單個測試執行中運行。您還可以使用標籤來組織循環,以便跟踪它們並重新運行特定的循環。
請訪問運行遊戲循環測試,了解如何在測試實驗室中運行測試的說明。
第 2 步:選擇一個工具來運行測試
您可以選擇以下工具來運行測試:
Firebase 控制台可讓您上傳應用並從任何地方啟動測試。有關使用此工具的說明,請參閱使用 Firebase 控制台進行測試。
gcloud 命令行界面 (CLI)使您能夠從命令行以交互方式運行測試,並且也非常適合在自動化構建和測試過程中編寫腳本。有關使用此工具的說明,請參閱使用 gcloud CLI 進行測試。
在真實設備上進行測試之前,請在模擬器上本地運行測試,以確保其行為符合預期。有關說明,請參閱本地測試。
步驟 3 :指定測試設備
借助測試實驗室,您可以在 Google 數據中心託管的各種 iOS 設備和型號上針對您的應用運行測試。要了解更多信息,請參閱可用設備。
第 4 步:查看測試結果
無論您如何啟動測試,您的所有測試結果都由測試實驗室管理,並且可以在線查看。
測試結果摘要會自動存儲並可以在 Firebase 控制台中查看。它包含與您的測試最相關的數據,包括特定於測試用例的視頻、屏幕截圖、通過、失敗或得到不穩定結果的測試數量等等。
原始測試結果包含測試日誌和應用故障詳細信息,並自動存儲在 Google Cloud 存儲桶中。如果您指定存儲桶,則您需要承擔存儲費用。如果您未指定存儲桶,測試實驗室會免費為您創建一個存儲桶。
有關更多詳細信息,請參閱分析 Firebase 測試實驗室結果。
設備清理
Google 非常重視您的應用數據的安全性。我們遵循行業標準的最佳實踐,在每次測試運行後刪除應用程序數據並重置物理設備的系統設置,以確保它們準備好運行新的測試。對於可以使用自定義恢復映像進行刷新的設備,我們更進一步,在測試運行之間刷新這些設備。
對於測試實驗室使用的虛擬設備,設備實例在使用後將被刪除,以便每次測試運行都使用新的虛擬設備實例。
允許測試實驗室設備訪問私有後端服務器
一些移動應用程序需要與私有後端服務通信才能在測試期間正常運行。如果您的後端服務器受防火牆規則保護,您可以使用下面的 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 月刪除) |