CTS 常見問題

Android 相容性計畫是維持 Android 生態系統正面回饋的重要推力。康乃狄克州 是確保規模內相容性品質的關鍵工具 Android 團隊持續改善 CTS 工具和測試涵蓋範圍。定期新增測試案例,可大幅改善相容裝置的品質。

一般問題

本節提供一般 CTS 常見問題。

CTS 測試的內容有哪些?

CTS 會測試所有支援的 Android 強型別 API 是否存在且運作正常。CTS 也會測試其他非 API 系統行為,例如應用程式生命週期和效能。

CTS 如何取得授權?

CTS 的授權條款與 Android 大部分使用的 Apache 軟體授權 2.0 版相同。

是否已透過 CTS 驗證轉碼器?

可以。CTS 會驗證所有必要的編解碼。

測試相關問題

本節提供常見問題,協助您更有效率地執行 CTS 測試。

CTS 資料分割和 TF 資料分割有何不同?

CTS 區塊和 TF 區塊是完全不同的測試計畫,由不同的測試基礎架構程式碼集提供支援。雖然執行指令是 相同的資料分割結果會以不同方式運作。 CTS 資料分割會以靜態方式將測試案例指派給受測試的裝置 (DUT) 如下所示:

TF 資料分割會動態指派測試案例給可用的 DUT,如下所示:

支援多個 ABI 的裝置應具備哪些功能?

裝置必須針對每個 ABI 模式通過所有 CTS 和 CTS Verifier 測試 證明自己應該提供支援。因此,您需要針對 而非特定 ABI多個 ABI 的規範如下:

  • 對於 CTS 和 CTS Verifier ARM 和 x86 版本: 每個架構的影響範圍每個版本都能支援 32 位元或 64 位元模式。
  • 針對 CTS 測試,如果裝置同時支援 ARM 和 x86,則必須分別執行並通過 ARM 和 x86 CTS 測試。

請參閱 CDD 3.3.1。應用程式二進位檔介面 瞭解有關 ABI 的 CDD 需求。

僅針對主要 ABI (例如 64 位元) 執行測試是否足以縮短測試執行時間?

否。Android 應用程式會在其專屬的 32 位元或 64 位元執行階段中執行。實際的機器程式碼、程式碼路徑和狀態 介於 32 到 64 之間如果您略過其中一個模式,就只涵蓋 50% 的裝置 ABI。

為什麼報告的測試案例很多為「未執行」?

請檢查「Module Done」數字,而非「Not Executed」數字。

在舊版中,CTS 模組也會回報為模組完成 在完成前積極探索因此,「Modules Done」的數字。 表示回報時並未完成所有測試案例 發生問題新的測試套件會採取較保守的做法,在發生問題時回報的「未執行」測試數量會較多。

模組執行至完成時,在下列情況下,報表會在最近一次叫用 (done="false") 中回報「Module Not Done」

  • 模組的測試執行作業因裝置連線問題中斷。
  • 並未執行模組的所有預期測試。
  • 重試 (使用選項 -r/--retry) 搭配其他篩選選項, 例如:

    • --include-filter
    • --exclude-filter
    • -t/--test (重試時目前不支援選項)
    • --retry-type 失敗
    • --subplan

如要取得這些模組的模組完成 (done="true) 狀態, 重試下列指令,並最近一次叫用:

run retry --retry <session_id> for Android 9 and later versions
run cts --retry <session_id> for Android 8.1 and previous versions

執行模組時並未發生上述任何問題 (即使 但剩下 0 項測試) 都會在新報表中標示「模組完成」

例外狀況

  • 由於 args 的 Linux/OS 限制,CtsNNAPITestCases 有已知問題。 您可以直接透過 run cts -m CtsNNAPITestCases 重新執行模組。

如何避免測試準備作業在公司防火牆之後失敗?

所有自動化測試套件都會嘗試下載 CTS 媒體檔案,或是 和商業邏輯檔案在許多企業環境中,防火牆和 Proxy 通常會導致測試準備作業失敗。執行 ,或將其新增至 .profile (在 Ubuntu 上)。

export JAVA_TOOL_OPTIONS='-Djava.net.useSystemProxies=true'

我需要有 SIM 卡才能使用安全元件嗎?

測試時是否需要 SIM 卡,取決於瞭解程度 前提是測試裝置支援此功能。

  • 如果裝置需要支援 Android 應用程式存取安全性元素 (無論是透過行動網路業者分發的 UICC (例如 SIM 卡),或是嵌入裝置),您可以設定 HIDL 資訊清單,不納入 android.hardware.secure_element HAL 元素。在此情況下, android.se.omapi.SEService.getReaders() API 會自動回報空白清單,並自動進行 CTS 測試 傳送及回報 CTS 的票證
  • 如果裝置需要支援 Android 應用程式存取安全元素 (可在行動網路業者 (電信業者) 發行的 UICC (例如 SIM 卡) 中,或在裝置中嵌入),您就需要正確實作安全元素,並在內部測試。適用於安全元件的 CTS 測試 概述如何準備執行 CTS 測試 android.se.omapi Android 9 中新增的 API 套件可正常運作。其他建議資訊 您在 CTS 測試涵蓋範圍內,自行進行額外測試 最小化

哪裡可以取得安全元件 CTS 的 SIM 卡?

你可以洽詢你偏好的 SIM 卡供應商。

為什麼在執行 CTS 進行權杖資料分割時,螢幕鎖定畫面上的橘色 SIM 卡會?

測試案例未啟動,因為測試 SIM 卡已鎖定。 請在 **SIM 卡鎖定設定中停用「鎖定 SIM 卡」, 執行 CTS 測試。