Firebase Test Lab 可讓您在各種裝置和設定下進行應用程式品質測試。本指南將概略介紹 Test Lab 的重要概念、iOS 產品,以及如何開始測試的指示。
如要進一步瞭解 Test Lab 配額和定價方案,請參閱用量、配額和定價一文。
重要概念和術語
針對您選取的裝置和設定執行測試或一組測試案例時,Test Lab 會批次對應用程式執行測試,然後以測試矩陣顯示結果。
裝置 × 測試執行次數 = 測試矩陣
- 裝置
- 您用來執行測試的實體或虛擬裝置 (僅限 Android),例如手機、平板電腦或穿戴式裝置。測試矩陣中的裝置會依裝置型號、OS 版本、螢幕方向和語言代碼 (也稱為地理位置和語言設定) 識別。
- 測試、測試執行
- 要在裝置上執行的測試 (或一組測試案例)。您可以對每部裝置執行一項測試,或選擇對測試進行資料分割,並在不同的裝置上執行測試案例。
- 測試矩陣
- 包含測試執行的狀態和測試結果。如果矩陣中的任何測試執行作業失敗,整個矩陣都會失敗。
步驟 1:準備要上傳至 Test Lab 的測試
您可以使用 Test Lab 執行下列測試。請注意,所有測試類型在實體裝置上最多可執行 45 分鐘,且任何未偵測到的例外狀況都會導致測試失敗。
XCTest (包括 XCUITests):您使用 XCTest 架構編寫的單元測試。如要瞭解如何修改 XCTest 以搭配 Test Lab 執行,請參閱「建立 XCTest」一文。
遊戲迴圈測試:使用「示範模式」模擬玩家在遊戲應用程式中動作的測試。以快速且可擴充的方式驗證遊戲對使用者而言執行效能良好。選擇執行遊戲迴圈測試時,您可以:
編寫遊戲引擎原生測試。
避免為不同的 UI 或測試架構編寫相同的程式碼。
您可以選擇建立多個迴圈,在單一測試執行作業中執行。您也可以使用標籤整理迴圈,以便持續追蹤及重新執行特定迴圈。
請參閱「執行遊戲迴圈測試」一文,瞭解如何在 Test Lab 中執行測試。
步驟 2:選擇測試工具
您可以選擇下列工具執行測試:
您可以透過 Firebase 控制台上傳應用程式,並隨時隨地啟動測試。如需這項工具的使用說明,請參閱使用 Firebase 控制台進行測試。
gcloud 指令列介面 (CLI) 可讓您透過互動式指令列執行測試,也非常適合用於自動化建構和測試程序的指令碼。如需這項工具的使用說明,請參閱「使用 gcloud CLI 進行測試」。
在實際裝置上進行測試前,請先在本機模擬器上執行測試,確認測試結果是否符合預期。如需操作說明,請參閱「在本機測試」。
步驟 3:指定測試裝置
有了 Test Lab,您就可以在 Google 資料中心託管的各種 iOS 裝置和型號上,針對應用程式執行測試。詳情請參閱「可用的裝置」。
步驟 4:查看測試結果
無論您如何啟動測試,所有測試結果都會由 Test Lab 管理,且可在線上查看。
系統會自動儲存測試結果摘要,您可以在 Firebase 主控台中查看。內含測試作業最相關的資料,包括測試案例的影片、螢幕截圖、通過的測試數量、失敗或結果不穩定的等。
原始測試結果包含測試記錄和應用程式失敗的詳細資料,並會自動儲存在 Google Cloud 值區中。如果您指定值區,就必須負擔儲存空間費用。如果您未指定值區,Test Lab 會免費為您建立一個。
詳情請參閱「分析 Firebase Test Lab 結果」。
裝置清理
Google 十分重視應用程式資料的安全性。我們會遵循業界標準的最佳做法,在每次測試結束後移除實體裝置的應用程式資料,並重設系統設定,確保裝置可執行新的測試。針對能以自訂復原映像檔刷新的裝置,我們會在測試執行期間刷新這些裝置。
針對 Test Lab 使用的虛擬裝置,系統會在使用裝置執行個體後刪除執行個體,讓每次測試執行時都使用新的虛擬裝置執行個體。
允許 Test Lab 裝置存取私人後端伺服器
部分行動應用程式需要與私人後端服務通訊,才能在測試期間正常運作。如果您的後端伺服器受防火牆規則保護,您可以使用下列 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 (新增 02-2022) 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 月移除) |