兼容性測試套件 (CTS) 是一個免費的商業級測試套件,可作為二進製文件或作為Android 開源項目 (AOSP)中的源代碼下載。 CTS 代表了兼容性的“機制”。
CTS 在台式機上運行,並直接在連接的設備或模擬器上執行測試用例。 CTS 是一組單元測試,旨在集成到構建設備的工程師的日常工作流程中(例如通過連續構建系統)。其目的是儘早發現不兼容性,並確保軟件在整個開發過程中保持兼容。
CTS 是一個自動化測試套件,它使用兩個主要的軟件組件:
- CTS Trade Federation測試工具在您的台式機上運行並管理測試執行。它提供跨多個被測設備 (DUT) 分片測試的能力。您還可以使用套件重試功能僅重試失敗而不是整個套件,從而大大減少重新運行時間。
- 單獨的測試用例在 DUT 上執行。測試用例是用 Java 編寫的 JUnit 測試和打包的 Android .apk 文件以在實際設備目標上運行。
Compatibility Test Suite Verifier (CTS Verifier) 是對可供下載的 CTS 的補充。 CTS Verifier 為沒有手動輸入(例如音頻質量、加速度計等)無法在固定設備上測試的 API 和功能提供測試。
CTS Verifier 是一種手動測試工具,包括以下軟件組件:
在 DUT 上執行並收集結果的 CTS 驗證程序應用程序。
在桌面計算機上執行的可執行文件或腳本,用於為 CTS Verifier 應用程序中的某些測試用例提供數據或額外控制。
工作流程
此圖總結了 CTS 工作流程。有關詳細說明,請參閱本節以設置開頭的子頁面。
測試用例的類型
CTS 包括以下類型的測試用例:
- 單元測試測試 Android 平台內的原子代碼單元;例如一個單一的類,如java.util.HashMap。
功能測試在更高級別的用例中測試 API 的組合。
- 穩健性測試測試系統在壓力下的耐久性。
- 性能測試根據定義的基準測試系統的性能,例如每秒渲染幀數。
涵蓋的領域
單元測試用例涵蓋以下領域以確保兼容性:
區域 | 描述 |
---|---|
簽名測試 | 對於每個 Android 版本,都有 XML 文件描述該版本中包含的所有公共 API 的簽名。 CTS 包含一個實用程序,用於根據設備上可用的 API 檢查這些 API 簽名。簽名檢查的結果記錄在測試結果 XML 文件中。 |
平台 API 測試 | 測試 SDK類索引中記錄的平台(核心庫和 Android 應用程序框架)API 以確保 API 正確性,包括正確的類、屬性和方法簽名、正確的方法行為和負面測試,以確保錯誤參數處理的預期行為。 |
達爾維克測試 | 測試的重點是測試 Dalvik 可執行格式。 |
平台數據模型 | CTS 測試通過內容提供程序向應用程序開發人員公開的核心平台數據模型,如 SDK android.provider包中所述:聯繫人、瀏覽器、設置等。 |
平台意圖 | CTS 測試核心平台意圖,如 SDK可用意圖中所述。 |
平台權限 | CTS 測試核心平台權限,如 SDK可用權限中所述。 |
平台資源 | CTS 測試是否正確處理核心平台資源類型,如 SDK可用資源類型中所述。這包括測試:簡單值、可繪製對象、九個補丁、動畫、佈局、樣式和主題,以及加載替代資源。 |