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 (
@hide
、protected
或package private
)
- (類型 2) 直接使用原始繫結器或 IPC 代理項目,叫用 Android 系統服務。
- (類型 3) 使用低階 API 或 IPC 介面直接與 HAL 互動。
第 1 和第 2 類測試通常是檢測設備測試,第 3 類測試則通常是 GTest。
後續步驟
如需更多詳細資訊,請參閱下列文件:
如果您還沒研究過 Android 架構,請參閱「架構總覽」。
如要建立與 Android 相容的裝置,請參閱 Android 相容性計畫總覽。
如要將檢測設備、功能、指標和 JAR 主機測試整合至平台持續測試服務,請參閱「測試開發工作流程」。
如要偵測裝置是否有安全漏洞並加以強化,請參閱「安全性測試」。
如要瞭解如何測試 HAL 和核心實作項目,請參閱「供應商測試套件 (VTS) 和基礎架構」。
如要測試應用程式,請參閱「Android 應用程式測試基礎知識」,並使用提供的範例,完成「Android Kotlin 進階功能 05.1:測試基礎知識」。
瞭解透過存放區掛鉤提供的基本預先提交測試。 這些掛鉤可用於執行 Linter、檢查格式,以及在繼續作業 (例如上傳提交) 前觸發單元測試。這些掛鉤預設為停用。詳情請參閱「AOSP Preupload Hooks」。
如要進一步瞭解記錄功能,請參閱「瞭解記錄功能」。
如要瞭解如何偵錯 Android 程式碼,請參閱「偵錯 Android 平台原生程式碼」。