CTS是如何運作的?
兼容性測試時一個免費的、商業測試套件,下載地址下載地址,CTS可以體現出被測程序的兼容性。
CTS在PC上運行,並在PC所連接的設備或模擬器運行測試用例,CTS本質上是一套可以集成到每日構建的工作中(比如持續集成測試)單元測試,
該CTS是一套設計集成到日常工作流程的單元測試工程師構建設備(如通過持續構建系統)。它的目的是在構建的過程中儘早發現的程序的不兼容性。
CTS是一個自動化測試工具,它主要包括兩個組件:
- CTS測試工具在PC上運行並管理測試的執行。
- 個別測試用例被測在設備上執行(DUT)。測試用例是用Java編寫的JUnit測試,並打包成Android的.apk文件的文件到實際的目標設備上運行。
兼容性測試套件驗證(CTS驗證)是一個CTS的支持,下載地址。 CTS驗證提供了API測試和功能測試,但這兩項測試無法在固定的設備上運行如果沒有手動輸入的話(例如音頻質量,加速度計等)
CTS驗證是一種手工測試的工具,包括以下兩個組件:
- 運行在DUT上的CTS驗證工具app負責收集測試結果
- 在PC上可執行的文件或者腳本文件,針對一些特定的用例提供相關數據或則額外的控制
工作流程
下圖概括了CTS的工作流程,請參閱本節Setup(目前尚未翻譯,爲官網鏈接)的詳細說明的子頁面。
測試用例的類型
CTS包括以下積累測試用例:
- 單位測試用於測試的Android平臺中的代碼單位,例如一個單獨的類,如java.util.HashMap中。
- 功能測試用於測試API和上層之間的關聯
- 健壯性測試用於測試系統的耐久性。
- 性能測試用於測試基準定義的系統性能,例如渲染率。
覆蓋領域
單元測試需要使用到以下幾方面個來確保其兼容性:
項目 | 描述 |
---|---|
簽名測試 | 對於每一個Android的版本,都會有描述此發行版中的所有公共API的簽名XML文件。其中CTS有一個特定的工具專門用來檢查對API的設備上可用的API簽名。簽名檢驗結果將會被記錄在測試結果的XML文件 |
API平臺測試 | 根據SDK中的文檔Class Index測試API平臺(核心庫和Android應用框架),用於以確保API的正確性,包括正確的類,屬性和方法簽名,正確的方法的行爲,反向測試,以確保不正確的參數預期處理。 |
Dalvik測試 | 重點測試在Dalvik可執行格式。 |
平臺數據模型 | CTS測試核心平臺數據模型暴露於通過content provider,參閱文檔SDK中的android.provider包,如聯繫人,瀏覽器設置等。 |
平臺Intents | CTS測試核心平臺的Intents,參閱SDK中提供的Available Intents。 |
平臺的權限 | CTS測試核心平臺的權限,參閱SDK中提供的Available Permissions。 |
平臺資源 | CTS測試核心平臺資源類型的正確處理,參閱SDK中提供的Available Resource Types。這包括測試:簡單的值,圖形,九宮,動畫,佈局,風格和主題,並裝載備用資源。 |