Android 平台測試

Android 開放原始碼計畫 (AOSP) 提供多種工具和測試套件,可測試實作的各個部分。使用本節中的頁面之前,請先熟悉下列用語:

Android 相容裝置
可執行任何第三方應用程式的裝置,這些應用程式是由第三方開發人員使用 Android SDK 和 NDK 編寫而成。相容 Android 的裝置必須遵守相容性定義說明文件 (CDD) 的規定,並通過 Compatibility Test Suite (CTS)。Android 相容裝置有資格參與 Android 生態系統,包括 Google Play 的潛在授權、Google 行動服務 (GMS) 應用程式和 API 套件的潛在授權,以及使用 Android 商標。任何人都可以使用 Android 原始碼,但裝置必須與 Android 相容,才能視為 Android 生態系統的一環。
構件
與建構作業相關的記錄,可供在本機排解問題。
相容性定義文件 (CDD)
列出 Android 相容裝置軟硬體需求的說明文件。
Compatibility Test Suite (CTS)

這是一套免費的商用級測試套件,可下載為二進位檔,或以 AOSP 來源形式提供。CTS 是一組單元測試,可整合到日常工作流程中。CTS 的目的是找出不相容問題,並確保軟體在整個開發過程中保持相容性。

CTS 和平台測試並非互斥。以下列出幾項一般準則:

  • 如果測試是要驗證架構 API 函式或行為的正確性,且應在 OEM 合作夥伴之間強制執行,則應納入 CTS。
  • 如果測試的目的是在平台開發期間找出回歸問題,且可能需要特殊權限才能執行,也可能取決於實作詳細資料 (如 AOSP 中發布的內容),則應為平台測試。
Google 行動服務 (GMS)

可預先安裝在裝置上的 Google 應用程式和 API 集合。

GoogleTest (GTest)

C++ 測試和模擬架構。GTest 二進位檔通常會存取較低層級的抽象層,或對各種系統服務執行原始 IPC。GTest 的測試方法通常與要測試的服務緊密相關。CTS 包含 GTest 架構。

檢測設備測試

am instrument 指令啟動的特殊測試執行環境,其中目標應用程式程序會重新啟動並以基本應用程式內容初始化,且會在應用程式程序虛擬機器內啟動插樁執行緒。CTS 包含檢測設備測試。

Logcat

這項指令列工具會建立系統訊息記錄,包括裝置擲回錯誤時的堆疊追蹤,以及您使用 Log 類別在應用程式寫入的訊息。

記錄

使用記錄追蹤電腦系統事件,例如錯誤。Android 記錄檔使用的標準混雜,並會合併到 Logcat 工具中,因此 Android 記錄檔相當複雜。

postsubmit test

當新修補程式提交至通用核心分支時執行的 Android 測試。輸入 aosp_kernel 做為部分分支名稱,即可查看結果可用的核心分支清單。舉例來說,您可以在 https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid 找到 android-mainline 的結果。

預先提交測試

這項測試可防止失敗情況導入通用核心。

貿易聯邦

也稱為 Tradefed,是一種持續測試架構,專為在 Android 裝置上執行測試而設計。舉例來說,Tradefed 可用於執行 Compatibility Test Suite 和 Vendor Test Suite 測試。

供應商測試套件 (VTS)

提供一系列廣泛的 Android 測試功能,可促進測試導向的開發程序,並自動執行硬體抽象層 (HAL) 和 OS 核心測試。

平台測試類型

平台測試通常會與一或多個 Android 系統服務或 HAL 層互動、執行受測主體的各項功能,並確認測試結果是否正確。平台測試可能包括:

  • (類型 1) 使用 Android 架構練習架構 API。使用的特定 API 可能包括:
    • 供第三方應用程式使用的公開 API
    • 專供具備特殊權限的應用程式使用的隱藏版 API,也就是系統 API 或私有 API (@hideprotectedpackage private)
  • (類型 2) 直接使用原始繫結器或 IPC 代理項目,叫用 Android 系統服務。
  • (類型 3) 使用低階 API 或 IPC 介面直接與 HAL 互動。

第 1 和第 2 類測試通常是檢測設備測試,第 3 類測試則通常是 GTest。

後續步驟

如需更多詳細資訊,請參閱下列文件: