兼容性測試套件

兼容性測試套件 (CTS) 是一個免費的商業級測試套件,可作為二進製文件或Android 開源項目 (AOSP) 中的源代碼下載。 CTS 代表兼容性的“機制”。

CTS 在台式機上運行,並直接在連接的設備或模擬器上執行測試用例。 CTS 是一組單元測試,旨在集成到構建設備的工程師的日常工作流程中(例如通過持續構建系統)。其目的是儘早發現不兼容性,並確保軟件在整個開發過程中保持兼容。

CTS 是一個自動化測試套件,它使用兩個主要的軟件組件:

  • CTS Trade Federation測試工具在您的台式機上運行並管理測試執行。它提供了跨多個被測設備 (DUT)進行分片測試的能力。您還可以使用套件重試功能僅重試失敗而不是完整套件,從而大大減少重新運行時間。
  • 在 DUT 上執行單獨的測試用例。測試用例是用 Java 編寫的 JUnit 測試和打包的 Android .apk 文件以在實際設備目標上運行。

兼容性測試套件驗證程序 (CTS 驗證程序) 是可下載的 CTS 的補充。 CTS Verifier 為在沒有手動輸入的情況下無法在固定設備上測試的 API 和功能(例如音頻質量、加速度計等)提供測試。

CTS Verifier 是一種用於手動測試的工具,包括以下軟件組件:

  • 在 DUT 上執行並收集結果的 CTS 驗證器應用程序。

  • 在台式機上執行的可執行文件或腳本,為 CTS 驗證程序應用程序中的某些測試用例提供數據或額外控制。

工作流程

CTS流程

圖 1.如何使用 CTS

此圖總結了 CTS 工作流程。有關詳細說明,請參閱本節從設置開始的子頁面。

測試用例類型

CTS 包括以下類型的測試用例:

  • 單元測試測試 Android 平台內的原子代碼單元;例如單個類,如 java.util.HashMap。
  • 功能測試在更高級別的用例中測試 API 的組合。

CTS 的未來版本將包括以下類型的測試用例:
  • 穩健性測試測試系統在壓力下的耐久性。
  • 性能測試根據定義的基準測試系統的性能,例如每秒渲染幀數。

覆蓋區域

單元測試用例涵蓋以下領域以確保兼容性:

區域描述
簽名測試對於每個 Android 版本,都有描述版本中包含的所有公共 API 簽名的 XML 文件。 CTS 包含一個實用程序,用於根據設備上可用的 API 檢查這些 API 簽名。簽名檢查的結果記錄在測試結果 XML 文件中。
平台 API 測試測試 SDK類索引中記錄的平台(核心庫和 Android 應用程序框架)API 以確保 API 正確性,包括正確的類、屬性和方法簽名、正確的方法行為和否定測試,以確保不正確參數處理的預期行為。
達爾維克測試這些測試側重於測試 Dalvik 可執行文件格式。
平台數據模型CTS 測試通過內容提供程序向應用程序開發人員公開的核心平台數據模型,如 SDKandroid.provider包中所述:聯繫人、瀏覽器、設置等。
平台意圖CTS 測試核心平台意圖,如 SDK可用意圖中所述
平台權限CTS 測試核心平台權限,如 SDK可用權限 中所述
平台資源CTS 測試核心平台資源類型的正確處理,如 SDK可用資源類型中所述。這包括測試:簡單值、可繪製對象、九個補丁、動畫、佈局、樣式和主題,以及加載替代資源。