相容性測試套件 (CTS)是一種免費的商業級測試套件,設備製造商使用它來幫助確保其設備相容,並報告測試結果以進行驗證。 CTS 旨在整合到建置設備的工程師的日常工作流程(例如透過持續建置系統)中。 CTS 的目的是儘早揭示不相容性,並確保軟體在整個開發過程中保持相容。
CTS 可以作為二進位檔案或作為Android 開源專案 (AOSP)中的原始程式碼下載。 CTS 在桌上型電腦上運行,並直接在連接的裝置或模擬器上執行測試案例。
CTS 包含兩個主要軟體元件:
- Trade Federation測試工具在您的桌上型電腦上執行並管理測試執行。 Trade Federation 提供跨多個被測設備 (DUT) 進行分片測試的能力。您還可以使用套件重試功能僅重試失敗的部分而不是整個套件,從而大大減少重新運行時間。
- 各個測試用例在 DUT 上執行。測試案例以 Java 形式編寫為 JUnit 測試並打包 Android .apk 檔案以在實際裝置目標上運行。
相容性測試套件驗證器(CTS 驗證器)
相容性測試套件驗證程式 (CTS Verifier)是可供下載的CTS 的補充。 CTS Verifier 提供 API 和功能的測試,這些 API 和功能無法在沒有手動輸入(例如音訊品質和加速度計)或手動定位的情況下在固定設備上進行測試。
CTS Verifier 是一種手動測試工具,包括以下軟體元件:
CTS Verifier 應用程式在 DUT(以及滿足距離測量要求的第二台設備)上執行並收集結果。
在桌面電腦上執行的可執行檔或腳本,為 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可用資源類型所述。這包括以下測試:簡單值、可繪製物件、九個補丁、動畫、佈局、樣式和主題以及載入備用資源。 |