本文說明 Test Lab 的 AVD,包括優點和已知限制。我們也會提供建議,說明如何在整個開發生命週期中測試應用程式。Test Lab AVD 與 Android Studio 適用的 AVD 類似,但針對雲端測試進行最佳化,因此兩者之間有些差異。
附帶 .arm 或 (Arm) 字尾的 Test Lab 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 模擬器或已連結的實體裝置,檢查每個版本的初始驗證。如果您有檢測設備測試,也可以在 Test Lab 提供的實體或虛擬裝置上,透過 Android Studio 執行這些測試。
在處理共用專案時,針對每個程式碼變更使用持續整合系統
如果您參與大型專案,或是透過 GitHub 或類似網站分享的專案做出貢獻,建議您使用持續整合 (CI) 系統。每次執行 CI 系統或每次提取要求前,請在虛擬裝置上測試應用程式。如要進一步瞭解如何在 CI 系統中使用 Test Lab,請參閱「使用 Android 版 Test Lab 與持續整合系統」。
在發布重大應用程式更新前,請先使用 Test Lab 在實體裝置上測試應用程式
在發布 UI 和功能有重大變更的應用程式更新前,建議您使用 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。新款裝置與 OpenGL/Vulkan API 並非 100% 相容,因此您可能會發現圖形有輕微差異。 |
Google Play 商店應用程式 | Arm 虛擬裝置不支援 Google Play 商店應用程式。 |
擴增實境 (AR) 功能 | 虛擬裝置不支援測試擴增實境 (AR) 功能。 |
較舊的 API 級別 | Test Lab Arm 虛擬裝置不支援 API 級別 26 以下。 |