為什麼要做GMS的認證測試,先按我自己的了解,google提供了谷歌GMS套件,我們叫GMS package,一般我們出海外的訂單,以迎合市場的需求,需要內置google的套件和一些必要的google的app,內置了這些套件想要在市場上售賣,那就得通過Google的認證.
一方面Google的這些測試可以防止廠商對Rom進行不計量後果的隨意修改,另外也能讓Google自己獲取到設備占有量等等信息,當然還涉及到更多的利害關係.
測試套件
按照android P上的要求介紹下目前要完整的過一遍GMS認證我們需要涉及到的測試
CTS測試
CTS是Compatibility Test Suite的縮寫,即兼容測試,是Google為Android設備製造商免費提供的兼容性測試套件。CTS定義了眾多Android設備必須滿足的技術指標,以確保每台通過CTS認證的設備,都可以順利運行Google Play中出售的軟體。(並不是每個軟體都可以在所有Android設備上運行,Google Play僅顯示可以運行在該Android設備上的應用,並且還受到當地法律法規的限制。)
用於測試App和framework的兼容性,有關CTS的文檔和測試套件可以在這裡獲得:http://source.android.com/compatibility/downloads.html。
GTS測試(Google Mobile Services Test Suite)
Google Mobile Services Test Suite (GMS套件測試)是用於GMS應用的測試的自動化的測試套件,包含Google Play Video支持的解析度和比特率的視頻的測試內容,GTS測試需要Android 4.0以上的系統的.其主要內容是widevine(數字版權相關)功能的測試.
CTS-on-GSI測試
GSI是指已針對 Android 設備調整配置的系統映像。用於運行 VTS 和 CTS-on-GSI 測試
VTS測試(Vendor Test Suite)
向上用於測試與framework相容,向下測試與OS kernel的相容性。
STS測試(Security Test Suite)
主要用於測試Android Security Pacth是否有生效。
CTS Verifier
手動測試軟體,google提供的一系列軟體測試來檢測系統的穩定性.CTSVerifier算是CTS的一部分,需要手動進行,主要用於測試那些自動測試系統無法測試的功能,比如相機拍照質量、傳感器的感知結果等。CTSVerifier會測試許多硬體,測試項會因設備支持的硬體種類多少而不同。它會自動檢測設備支持哪些硬體,從而生成測試項。如某設備硬體支持NFC,將會有NFC相關的測試項,否則,就沒有這些測試項。所以設備必須全部通過CTSVerifier中的各項測試。
目前CTSVerifier在公司可放在最後一個階段,就是所有的CTS自動測試全部pass之後,再進行CTSVerifier測試。
BTS測試(Build Test Suite)
提供軟體給Google,會掃描軟體中是否有預裝惡意軟體或潛在有害的應用程式(PHA),通常是提交3PL後才啟動該測試,開發前期可以先放在後面.
性能測試
低端機型,貌似是1G運行內存是還需要性能測試,這一塊因為沒做過,所以只有耳聞,沒具體操作過.
Part2.測試環境搭建
Ubuntu14.04 當然ubuntu版本可以用其他版本
jdk1.8
配置好aapt和adb
adb保證版本在1.0.39以上
上面的配置搞定即可保證CTS可以正常測試
GTS需要導入3PL的API_APE_KEY
VTS測試需要安裝依賴
1) 安裝 python 開發包
$ sudo apt-get install python-dev
2) 安裝 Protocol Buffer 工具
$ sudo apt-get install python-protobuf
$ sudo apt-get install protobuf-compiler
3) 安裝 Python 虛擬環境相關工具
$ sudo apt-get install python-virtualenv
$ sudo apt-get install python-pip
相關的測試指令集,以andriod P上的為參考
CTS注意,media包提前拷貝到測試PC上,可防止測試媒體相關測試項時,因為下載媒體包而浪費時間,下載media包後保持下面的目錄結構
/tmp/android-cts-media/android-cts-media-1.4
每次重啟主機後,記得都需要拷貝一次,因為重啟後tmp目錄下的文件就會清空.