安卓平台測試

此內容面向 Android 平台開發人員。了解測試如何在Android平台上完成之前,請參閱Android平台架構的概述。

然後深入到提供給您在本節,如精確的技術,供應商測試套件(VTS)和它無數的視頻和代碼實驗室教程

另外,請注意安全,具體的測試可用來檢測和防止漏洞強化您的設備機制。

對於應用測試,開始與測試的基礎,並進行Android的測試程式碼實驗室使用的樣品提供。

最後,需要注意的基本presubmit測試是提供給您通過回購鉤子,可以運行棉短絨,檢查格式化,並在繼續之前觸發單元測試,如上傳提交。請注意,默認情況下禁用這些掛鉤。見回購鉤引進更多的細節。

測試什麼以及如何測試

平台測試通常與一個或多個 Android 系統服務或硬件抽象層 (HAL) 層交互,執行被測對象的功能,並斷言測試結果的正確性。

因此,平台測試可以:

  1. 通過應用程序框架使用框架 API;正在使用的特定 API 可能包括:
    • 用於第三方應用程序的公共 API
    • 用於特權應用程序的隱藏 API,即係統 API
    • 私有 API(@hide 或受保護的包私有)
  2. 直接通過原始 binder/IPC 代理調用 Android 系統服務
  3. 通過低級 API 或 IPC 接口直接與 HAL 交互

1型和2典型地寫為儀表的測試,而類型3通常寫為本地測試使用GTEST框架。

要了解更多信息,請參閱我們的端到端示例:

熟悉這些工具,因為它們是在 Android 中進行測試所固有的。

兼容性測試套件 (CTS)

的Android兼容性測試套件是不同類型的測試,用來確保在OEM合作夥伴Android框架實現兼容的套件,跨平台的版本。該套件還包括儀器測試和本機測試(也使用 gtest 框架)。

CTS 和平台測試並不相互排斥,以下是一些通用準則:

  • 如果測試斷言框架 API 函數/行為的正確性,並且應該在 OEM 合作夥伴之間強制執行,則應該在 CTS 中
  • 如果測試旨在捕獲平台開發週期中的回歸,並且可能需要特權權限才能執行,並且可能依賴於實現細節(如 AOSP 中發布的),則它應該只是平台測試

供應商測試套件 (VTS)

供應商測試套件(VTS)可以自動HAL和OS內核測試。要使用 VTS 測試 Android 原生系統實現,請設置測試環境,然後使用 VTS 計劃測試補丁。

貿易聯盟測試基礎設施

貿易聯合會(tradefed或TF的簡稱)是一個連續的測試框架設計用於在Android設備運行測試。 TF 可以在本地、在您的辦公桌上、在您的平台結賬內運行功能測試。在 TF 中運行測試需要兩個文件,一個 java 測試源和一個 XML 配置。見RebootTest.javareboot.xml的例子。

調試

調試部分總結了有用的工具和調試,跟踪和開發平台級功能時剖析原生Android平台的代碼相關的命令。