CTS、CTS Verify、GTS測試以及GMS認證介紹

目錄

一、一些概念

CTS測試

        以自動化測試爲基礎,測試Android系統的兼容性;

CTS Verify

        一個手工測試的apk,完成自動化測試無法完成的操作(鎖屏、藍牙、攝像頭等);

CTS Verify下載圖標

GTS

        手機出口到國外,並且通過運營商出售,就i必須通過GTS測試;

GMS認證週期

        手機通過CTS測試、CTS Verify以及GTS測試之後,就可以拿到GMS認證。但是GMS認證週期較長,一般需要3個月至半年。

MADA協議

        全稱Mobile Application Distribution Agreement(移動應用軟件分發協議)。是谷歌和Android廠商之間簽署的一個協議,根據該協議,手機廠商在推出採用Android設備前,必須預裝所有Google應用,並且,要把Google Search、Google Play放在手機首屏,並以Google Search作爲默認的搜索引擎。

二、GMS認證

2.1 認證背景

        手機沒有GMS認證,那麼對於手機出口商而言,就沒有了生產的產品走不了運營商通道,所以在歐美等由運營商主導的手機市場,GMS認證是十分必要的。但是沒有GMS認證,Google也不會做限制,只是進不了運營商市場,第三世界市場,出於成本考慮(GMS認證需要收費),也就沒裝GMS認證。

2.2 GMS認證目的

  1. 提高產品android系統的兼容性和穩定性
  2. 授權Google的手機APP和服務
  3. 授權使用Android LOGO
  4. 產品可以進入歐美市場

2.3 GMS認證要求

  1. 必須申請與Google簽署MADA協議(網站操作)
  2. 產品必須使用7.0以上的安卓版本
  3. 產品必須依次通過CTS測試、CTS Verify測試以及GTS測試
  4. 產品還可以通過CE、FCC、BT以及WIFI等硬件認證(這一部分不是GMS認證的硬性指標)

2.4 GMS認證流程

  1. 申請谷歌MADA協議
  2. 產品做硬件測試
  3. 提交測試報告給谷歌審覈
  4. 獲得谷歌認證授權

2.5 MADA協議申請流程

st=>start: 開始:https://www.android.com/certified/partners/
op1=>operation: 填寫公司基本信息
op2=>operation: 向谷歌發起MADA請求
cond=>condition: 谷歌評估審覈
e=>end: 結束
st->op1->op2->cond
cond(yes)->e
cond(no)->op1

三、CTS測試

3.1 CTS測試介紹

        CTS測試全稱爲系列兼容測試(Compatibility Test suite),CTS是爲了測試手機是否符合google定義的兼容性規範(Compatibility Definition)。從而基於Android的應用程序能在基於同一個api版本的設備上面運行。通過CTS測試的設備可以獲得Android的商標,並且享受Android Market的權限。
        CTS測試是一個基於uiautomator安卓原生自動化框架運行的自動化測試。通過CTS測試,保證系統的安全性和穩定性。

3.2 CTS測試的目的

        由於Google系統的開源性,很多手機廠商基於安卓系統做出了深度優化,從而造成了安卓移動終端的碎片化,導致android終端的兼容性差的問題,嚴重影響用戶體驗。手機通過CTS測試,是市場得到了一個通過的規範:

  1. 讓App提供更好的用戶體驗,用戶可以選擇更多的適合自己設備的app
  2. 讓開發者設計更高質量的app
  3. 通過CTS的設備可以運行Android market
  4. CTS是免費的,很簡單

    3.3 CTS測試運行原理

            在pc端安裝CTS測試套件,安裝完成後,就可以通過連接到pc端的數據線將測試用戶發送至手機上,完成測試用例的執行,並且把執行結果返回給PC端。CTS測試套件下載連接如下:https://source.android.com/compatibility/cts/downloads

CTS測試原理

        需要下載文件有:對應手機系統、架構的的測試套件以及CTS VerifyAndroid Compatibility Defination Document(CDD)Compatibility Test Suite(CTS) User ManualCTS Media1.1(音視頻資料)

下載文件展示

3.4 CTS測試套件目錄文檔結構

CTS目錄結構
    -- docs
        -- logs 運行cs產生的log文件
        -- plans 運行計劃
        -- results 測試結果
        -- testcases 測試用例配置
    -- respository
    -- resource 資源文件
    -- tools 運行工具

3.5 CTS測試環境準備

3.5.1 測試環境

① windows

windows環境,需要自己重寫腳本

  1. 電腦端配置JDK/SDK的環境
  2. 將解壓後的測試套件(文件名android-cts)拷貝至adt目錄下的sdk目錄

② Linux(推薦64位UBUNTU 10.04)

一般來說,linux上運行較爲穩定,所以手機廠商都是在linux端跑cts測試

  1. 電腦端配置JDK/SDK的環境
  2. 將測試套件解壓至pc端/data目錄下

3.5.2 測試準備工作

  1. 下載需要進行測試的軟件版本(ROM)
  2. 插入可用的SIM卡(雙開手機,需確保卡1有sim卡)
  3. 寫入合法的IMEI號(手機的身份證,每一個手機都會有唯一的一個IMEI號)
  4. 連接一個可翻牆的WIFI網絡(可以使用香港專線,網絡比較穩定)

3.5.3 手機端配置

  1. 手機恢復出廠設置
  2. 手機語言設置爲英語
  3. 手機需常亮並取消鎖屏
  4. 開啓GPS
  5. 開啓USB調試後勾選stay awake和allow mock location
  6. 安裝CtsDeviceAdmin.apk(位於android-cts/repository/testcases),進入setting->security->device administrators的前兩項
  7. 確保手機SD卡有>1G的存儲空間
  8. 確保手機沒有谷歌賬號或其他賬號存在
  9. 確保手機時間和日期設置正確(連接數據後,會自動更新時間,時區選擇默認時區)
    ...(其餘在CDD文檔中有定義)

3.5 CTS測試流程

  1. 手機和PC連接,打開USB調試模式,用adb devices檢查是否連接好手機
  2. 在/data進入android-cts/tools/目錄,執行cts-tradefed腳本進入測試環境
  3. 在測試環境中輸入以下命令進行整體測試
run cts --plan CTS
或
run cts -c android.app.cts.SystemFeaturesTest

注意: CTS測試會持續10+個小時

補充: CTS測試環境基本命令介紹






































































分類 命令 說明
Host help 基本命令幫助說明
help all 基本命令幫助說明
exit 退出控制檯
Run run cts --plan test_plan_name 運行指定計劃
run cts --package/-p 運行指定包
run cts --class/-c [--method/-m] 運行指定方法
run cts --continue-session session_ID 繼續運行指定會話session_id
run cts [options] --serial/-s device_ID 運行指定設備
run cts [options] --shards number_of_shards 運行多個設備
run cts --help/--help-all 運行幫助
List l/list d/devices 列出連接的設備
l/list packages 列出所有測試包
l/list p/plans 列出所有測試計劃
l/list r/results 列出已經保存的測試結果

3.6 查看測試結果

3.6.1 測試結果存放路徑

android-cts/repository/results/testResult.xml

3.6.2 測試日誌存放路徑

android-cts/repository/logs/

日誌文件展示

四、GTS測試

4.1 GTS測試介紹

        谷歌移動服務測試套件(Google Mobile Services Test Suite),谷歌移動服務提供了Search、 Search by Voice、Gmail、Contact Sync、 Calendar Sync、Talk、 Maps、 Steet View、 YouTube、 Android Market (Play store)等服務,當用戶使用谷歌時,谷歌可以把各種廣告嵌入到谷歌的服務中。

4.2 GTS授權級別

        根據GMS,谷歌對android手機給與不同程度的授權,把搭載android系統的手機廠商分爲3個級別:

  1. 免費使用Android系統,但不內嵌GMS
  2. 內嵌部分GMS,但手機不能打上谷歌的商標
  3. 內嵌所有GMS服務,也可以使用谷歌商標。如果在android手機中內置有谷歌GMS服務的話,是等同被谷歌官方認證的產品

    4.3 GTS測試流程

            GTS的環境安裝、執行、報告分析這一系列操作和CTS類似,只是GTS必須連接VPN。

    4.3.1 手機環境準備

  4. 刷好GMS版本的ROM包
  5. 恢復手機出廠設置
  6. 設置手機、連接外網
  7. 插入SIM卡,打開移動數據
  8. 打開藍牙
  9. 顯示中睡眠時間顯示最大
  10. 豎屏
  11. 語言選擇英語
  12. 鍵盤選擇谷歌鍵盤
  13. 打開定位、高精度
  14. 安全中鎖屏選擇None
  15. 時間將自動獲取時間和日期關閉,選擇太平洋時區、24小時制
  16. 在開發者模式中打開stay awake和USB debugging

    4.3.2 執行GTS測試

  17. 開始全部GTS測試
run gts --plan GTS
  1. 單跑某一模塊的GTS測試
run gts -plan 'Module Name' -t 'class name'
  1. 接着某一次中斷的gts測試跑
run gts --retry session_id
其中session_id可由lr查看

4.4 GTS測試結果展示

GTS測試結果展示

五、獲取GMS認證

        通過GMS認證後,就可以申請到一個GMS的APK的包,可以將這些谷歌應用集成到手機系統裏面。通過GMS認證的手機,可以在Googie play中看到如下內容:

GMS認證結果展示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章