兼容性測試套件

相容性測試套件 (CTS) 是一個免費的商業級測試套件,可以作為二進位檔案或作為Android 開源專案 (AOSP)中的原始程式碼下載。 CTS代表相容性的「機制」。

CTS 在桌上型電腦上運行,並直接在連接的裝置或模擬器上執行測試案例。 CTS 是一組單元測試,旨在整合到建置設備的工程師的日常工作流程(例如透過持續建置系統)中。其目的是儘早揭示不相容性,並確保軟體在整個開發過程中保持相容。

CTS 是一個自動化測試套件,使用兩個主要軟體元件:

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

相容性測試套件驗證程式 (CTS Verifier) 是可供下載的 CTS 的補充。 CTS Verifier 提供無法在沒有手動輸入(例如音訊品質和加速度計)或手動定位的情況下在固定設備上進行測試的 API 和功能的測試。

CTS Verifier 是一種手動測試工具,包括以下軟體元件:

  • CTS 驗證器應用程式在 DUT(以及符合距離測量要求的第二台裝置)上執行並收集結果。

  • 在桌面電腦上執行的可執行檔或腳本,為 CTS Verifier 應用程式中的某些測試案例提供資料或附加控制。

工作流程

CTS流量

圖1.如何使用CTS

此圖總結了 CTS 工作流程。請參閱本節從「設定」開始的子頁面以取得詳細說明。

測試用例的類型

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

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

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

覆蓋領域

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

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