此內容面向 Android 平台開發人員。在了解 Android 平台上的測試如何進行之前,請先參考Android 平台架構進行概述。
然後深入研究本節中您可以使用的精確技術,例如供應商測試套件 (VTS)及其無數影片和程式碼實驗室教程。
另請注意可用於檢測和強化設備以防範漏洞的特定安全測試機制。
對於應用程式測試,請從測試基礎知識開始,並使用提供的範例進行Android 測試程式碼實驗室。
最後,請注意,您可以透過Repo Hooks進行基本的提交前測試,這些測試可以在繼續操作(例如上傳提交)之前執行 linter、檢查格式並觸發單元測試。請注意,這些掛鉤預設為停用。有關更多詳細信息,請參閱Repo Hooks介紹。
測試什麼以及如何測試
平台測試通常與一個或多個 Android 系統服務或硬體抽象層 (HAL) 層交互,執行測試對象的功能,並斷言測試結果的正確性。
因此,平台測試可以:
- 透過應用程式框架練習框架 API;正在執行的具體 API 可能包括:
- 供第三方應用程式使用的公共 API
- 用於特權應用程式的隱藏 API,即係統 API
- 私有 API(@hide,或受保護,包私有)
- 直接透過原始binder/IPC代理呼叫Android系統服務
- 透過低階 API 或 IPC 介面直接與 HAL 交互
類型 1 和 2 通常編寫為儀器測試,而類型 3 通常編寫為GTest 。
要了解更多信息,請參閱我們的端到端範例:
熟悉這些工具,因為它們是 Android 測試所固有的。
相容性測試套件 (CTS)
Android 相容性測試套件是一套各種類型的測試,用於確保 Android 框架實現跨 OEM 合作夥伴和跨平台版本的兼容性。該套件還包括儀器測試和 GTest 框架。
CTS 和平台測試並不互相排斥,以下是一些一般準則:
- 如果測試斷言框架 API 功能/行為的正確性,並且應在 OEM 合作夥伴之間強制執行,則應在 CTS 中
- 如果測試旨在捕獲平台開發週期中的回歸,並且可能需要特權權限才能執行,並且可能依賴實作細節(如 AOSP 中發布的),則它應該僅是平台測試
供應商測試套件 (VTS)
供應商測試套件(VTS) 可自動進行 HAL 和作業系統核心測試。若要使用VTS測試內建Android系統實現,請設定測試環境,然後使用VTS計畫測試修補程式。
貿易聯盟測試基礎設施
Trade Federation (簡稱 Tradefed 或 TF)是一個持續測試框架,專為在 Android 裝置上執行測試而設計。 TF 可以在您的辦公桌上、平台結帳內本地運行功能測試。在 TF 中執行測試需要兩個檔案:一個 java 測試來源和一個 XML 配置。有關範例,請參閱RebootTest.java和reboot.xml 。
偵錯
調試部分總結了在開發平台級功能時用於調試、追蹤和分析內建 Android 平台程式碼的有用工具和相關命令。