標籤:
一、為什麼須要相容性測試(下面稱CTS)?
1.1、讓APP提供更好的使用者體驗。使用者能夠選擇很多其它的適合自己裝置的APP。讓APP更穩定。
1.2、讓開發人員設計更高品質的APP。
1.3、通過CTS的裝置能夠執行Android market。
另外,CTS是免費的,並且非常easy。
二.CTS是開源的測試架構,使用它來測試你的裝置是否具備相容性。CTS主要包括兩個組件:
執行在PC上的測試架構組件。主要用來管理測試用例(test case)的執行。
執行在裝置或模擬器上的測試用例。這些用例用JAVA寫成的APK檔案。
三、工作流程
1、能夠從原始碼編譯CTS,也能夠從網站下載編譯好的CTS
2、安裝配置CTS。
3、把裝置串連到PC上。
4、執行CTS。CTS會把對應的測試用例(也就是一個APK檔案)傳送到裝置上並通過instrumentation執行,然後記錄執行結果,最後刪除測試用例。
全部的測試用例執行完成後,能夠參照測試結果又一次調整或最佳化系統。然後繼續執行CTS測試。
5、測試通過以後,你能夠把CTS產生的結果(就是result以下那個以測試時間命名的.zip檔案)提交給[email protected]。
四、眼下的測試覆蓋面
眼下,為了確保相容,測試用例覆蓋了以下的這些範圍
1、Signature
對每一個Android產品,都有一些XML檔案來描寫敘述全部的公開API。CTS包括了一個工具來檢測這些API簽名中包括的API是否都在系統中被支援。
2、Platform
測試SDK文檔中描寫敘述的平台API,比方core libraries,Android Application Framework等。要求這些API能夠提供:
正確的類、屬性、方法簽名、方法行為、錯誤參數處理方式
3、Dalvik VM
專門針對Dalvik Vm的測試。
4、Platform Data Model
平台通過ContentProvider提供給開發人員使用的資料,比方:Contacts,Browser,Settings等。
5、Platform Intents
平台提供的用於核心功能的Intent。
6、Platform permission
平台提供的一些重要APP許可權
7、Platform Resources
simple values,drawables,nine-patch,animations,layouts,styles and themes,loading alternate resources等
五、CTS搭建(Unbutu/Linux平台)
1. 下載CTS包http://source.android.com/compatibility/downloads.html
2. 在手機或者模擬器上安裝CtsDelegatingAccessibilityService.apk非必需
(1)$sudo ./adb install -r /home/tester/cts/android-cts/repository/testcases
/CtsDelegatingAccessibil
ityService.apk
(2)手機或模擬器設定Settings > Accessibility > Accessibility > Delegating Accessibility Service
3. 進入android/out/host/linux-x86/cts /android-cts/repository/tools檔案夾下,改動startcts指令檔。將指令碼中的SDK_ROOT該成自己的android SDK路徑.
$cd home/tester /cts/android-cts/repository/tools $vim startcts改動指令碼中出現的第一個SDK_ROOT,如"SDK_ROOT=/home/tester/cts/android-sdk-linux_86"。
4. 運行startcts指令碼。在運行CTS測試計劃時(運行一段時間後,大於5分鐘)會出現沒有足夠許可權啟動devices,使用$sudo ./startcts可解決該問題。
(Windows下配置好sdk和android開發環境後,能夠直接通過java命令來運行cts測試:java -Xmx512M -cp D:\android-cts\tools\cts.jar;D:\android-cts\tools\hosttestlib.jar;D:\android-cts\tools\junit.jar;C:\Android\android-sdk\tools\lib\ddmlib.jar com.android.cts.TestHost D:\android-cts\repository\host_config.xml
假設使用的是android-cts-2.2_r4-x86.zip,-cp選項中須要多一個D:\android-cts\tools\lib\CtsTestAnnotationsHostLib.jar,可參考startcts指令碼。)
5. 出現例如以下提示符表示啟動cts並串連裝置成功。(紅色部分未deviceID,視裝置號而定)
Android CTS version 2.3_r4
Device(emulator-5544) connected
cts_host > cts_host >
6. 在“cts_host >”提示符下輸入命令,下面為幾個經常使用的命令
help查看全部
exit退出
ls -p列出全部的測試包
ls --plan列出全部的測試方案
start --plan plan_name執行一個測試方案,如:start --plan CTS
start --plan plan_name --package package_name執行一個特定的測試包,如:start --plan CTS --package android.bluetooth
六、查看測試報告
執行測試時,在CTS執行介面能看到測試報告與執行狀況。測試完畢後可在android-cts/repository/results/下產生具體的測試報告和一些附加資訊,當中用日期和時間命名的目錄下為全部的測試結果,同一時候目錄也會被打成一個相應的.zip包方便提交。用瀏覽器開啟.xml檔案(預設就是,直接雙擊)就能夠查看所用的測試報告了。
七:網址
http://hi.baidu.com/jugege/blog/item/dcb6edf3f88e8d43352accb0.html
Android自己主動化測試——CTS測試