此內容面向 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 平台代碼的有用工具和相關命令。