開始使用 Android 虛擬裝置進行測試

本文說明 Test Lab 的 AVD,包括優點和已知限制。我們也會提供建議,說明如何在整個開發生命週期中測試應用程式。Test Lab AVD 與 Android Studio 的 AVD 類似,但已針對雲端測試效能進行最佳化,因此兩者之間有些差異。

Test Lab 具有 .arm 或 (Arm) 後置字元的 AVD 是進階模擬器,具備下列優點:

  • 縮短測試執行時間

  • 螢幕大小和密度與 Android Studio 的 AVD 一致,確保一致性

  • GPU 支援加速圖形

下表說明使用虛擬裝置的好處:

優點 說明 用途
高可用性 使用虛擬裝置測試時,您可以執行測試並更快取得測試結果。由於虛擬裝置是依需求建立,因此測試幾乎會立即啟動,可快速驗證應用程式。 測試應用程式的小幅更新,或進行迴歸測試。
測試時間較長 虛擬裝置支援的測試時間長度上限為 60 分鐘。在實體裝置上進行測試時,每部裝置的測試時間上限為 45 分鐘。 執行較長的測試
降低成本 虛擬裝置的計費方式為每小時 $1 美元,按用於測試應用程式的虛擬裝置數量計費。 使用持續整合系統或在簽入程式碼前,每天進行測試。詳情請參閱「Test Lab 的用量等級、配額和定價」。

使用虛擬裝置測試應用程式

您可以使用虛擬裝置測試應用程式,方法與使用實體裝置測試相同。設定測試矩陣時,您可以選取要用於測試的虛擬裝置。如要進一步瞭解如何使用 Test Lab 執行測試,請參閱「開始使用 Firebase Test Lab 測試 Android」。

查看支援的模型和 API

如要查看 Test Lab 支援的 AVD 模型和 API,請執行下列指令:

gcloud firebase test android models list --filter=virtual

測試應用程式的最佳做法

使用 Test Lab 測試應用程式時,虛擬裝置可增加您的選項範圍。建議您在整個應用程式開發生命週期中,採用下列最佳做法測試應用程式:

使用 Android Studio 模擬器或連接的實體裝置

開發應用程式時,請使用 Android Studio 模擬器或連接的實體裝置,檢查每個建構作業,進行初步驗證。如果您有檢測設備測試,也可以在 Android Studio 中,透過 Test Lab 提供的實體或虛擬裝置執行這些測試。

在共用專案中,每次變更程式碼時都使用 CI 系統

如果您正在處理大型專案,或為使用 GitHub 或類似網站共用的專案做出貢獻,建議您使用持續整合 (CI) 系統。每次 CI 系統執行時,或在每次提取要求前,在虛擬裝置上測試應用程式。如要進一步瞭解如何搭配 CI 系統使用 Test Lab,請參閱「搭配持續整合系統使用 Test Lab for Android」。

在發布重大應用程式更新前,先使用 Test Lab 在實體裝置上測試應用程式

在發布使用者介面和功能有重大變更的應用程式更新前,建議您使用 Test Lab 在實體裝置上測試應用程式。這有助於確保應用程式在各種熱門實體裝置上穩定運作,並發揮良好效能。在實體裝置上測試,也能確保測試涵蓋所有依賴實體裝置功能 (虛擬裝置無法模擬) 的應用程式功能。如要進一步瞭解這些功能,請參閱「已知限制」。

虛擬裝置更新

Android 團隊會定期新增虛擬裝置映像檔、淘汰舊映像檔,以及更新現有映像檔。我們會將這些更新套用至虛擬裝置映像檔,確保您測試的是最新 Android 版本,反映使用者的體驗。

在極少數情況下,這些更新可能會導致測試意外失敗。如果已知有潛在破壞性更新,Test Lab 會在版本資訊中提供相關資訊。建議您盡可能使用可因應這些變更的測試架構,例如 Espresso。如果無法做到,建議您指定 Arm 虛擬裝置,這類裝置的更新頻率較低。

已知限制

虛擬裝置目前無法模擬某些實體裝置功能,或模擬時會受到一些限制。下表列出目前無法在虛擬裝置上使用的功能,或有特定限制的功能:

功能 詳細資料
應用程式二進位檔介面 (ABI) 並非所有裝置都支援所有 ABI。如果您使用 Android NDK 進行開發,請務必為目標裝置支援的 ABI 產生程式碼 (請參閱 Test Lab 中的「可用裝置」)。如要進一步瞭解 ABI 管理,請參閱「Android ABI」。

注意:如果測試矩陣中的測試標示為「無效」,可能是因為應用程式依附於裝置 ABI 不支援的原生程式碼。

圖形效能 Nexus 和 Pixel 虛擬裝置會使用軟體圖形算繪。圖形密集型應用程式的效能可能會降低。如果應用程式需要大量圖形,建議改用 SmallPhone.arm、MediumPhone.arm 或實體裝置。
圖形 API API 級別低於 29 的裝置不支援 OpenGL ES 3.x。較新的裝置並非 100% 相容於 OpenGL/Vulkan API,因此您可能會發現圖形有些微差異。
Google Play 商店應用程式 Arm 虛擬裝置不支援 Google Play 商店應用程式。
擴增實境 (AR) 功能 虛擬裝置不支援測試擴增實境 (AR) 功能。
舊版 API 級別 Test Lab Arm 虛擬裝置不支援低於 26 的 API 級別。

後續步驟