1. 程式人生 > >Mahone的CTS研究筆記(一):什麼是CTS

Mahone的CTS研究筆記(一):什麼是CTS

CTS的全稱是Compatibility Test Suite, 相容性測試集合,是Google為了保證Android系統的相容性而release出來的測試集合
  1. 為什麼要保證android的相容
    1. 使用者想要定製化的裝置,個性化的裝置,手機廠商也一樣。Android是一個很強大的系統,支援對系統進行各種改變,各種定製。當然,這也引來了Android最大的問題,系統碎片化
    2. App開發者數量眾多,遠遠超過裝置廠商 的開發人員。沒有任何一個廠商,希望所有的app都由自己來開發。所以,第三方App開發人員變得非常重要,Android需要為這些開發人員提供統一的介面,使開發人員不用擔心自己的程式受到裝置不同所影響
    3. 所有人都需要一個通用的 生態系統。有這樣的生態系統,相容性越好,開發者就越多,開發者越多,裝置廠商和使用者就越受益。
  2. 研究CTS有哪些作用
    1. 對於終端以及晶片廠商來說,手機是需要過Google的CTS測試的,這是Google強制要求。瞭解CTS的機制以及測試內容,有利於解決這些失敗的問題以及測試執行中遇到的問題
    2. 對於自動化測試方法以及框架的研究者來說,CTS的Framework是一個非常好的學習物件,裡邊很多思想和方法都可以借用
    3. 對於研究Android的人來說,android的case集合基本上包含了大部分重要的android feature, 非常適合用來學習和了解
  3. CTS有哪些主要的版本
    1. From Android 1.6, 
      Latest is Android 5.1 R2
    2. 11 android version
    3. 48 CTS version
  4. CTS有哪些主要的資源(需要翻牆才能下載得到)
    1. Link:https://code.google.com/p/android/issues/detail?id=42894
      1. CTS的issue Tracker,在上面可以找到好多各個廠商對於CTS的問題套路,比如
        1. 大家都遇到了什麼問題,表現是什麼樣子的,log是怎麼樣的
        2. 一些通用的問題該如何解決
        3. 一些問題是Google的known issue或者google已經有了相關的patch可以解決
  5. CTS有哪些主要的組成部分
    1. Repository
      1. Plans: 放著各種CTS測試plan的配置檔案
      2. Test Cases:放著每個測試包的配置檔案以及相應的apk
      3. Logs:存放著測試的log,主要有兩種,一種是logcat的log,一種是cts自己的執行log
      4. Results:存放著cts測試的結果
    2. Tools
      1. cts-tradefed: CTS執行的入口檔案
      2. hosttestlib.jar:不知道幹嘛的
    3. Resource:沒用
    4. Doc:沒用