標籤:
原文網址:http://blog.sina.com.cn/s/blog_416166e90102v6bi.html
相容性測試套件(CTS)架構使用者手冊
1、為什麼需要相容性測試(以下稱CTS)?
2、怎麼樣才能讓我的裝置變成相容的。
2.1、與Android Compatibility Definition文檔(以下簡稱ACD)匹配
2.2、通過CTS測試
2.3、提交報告
3、CTS的工作原理
3.1、工作流程
3.2、測試案例類型
3.3、目前的測試覆蓋面
4、設定和使用CTS
4.1、配置CTS
4.2、設定您的裝置
4.3、使用CTS
4.4、選擇CTS計劃
5、 解釋一下測試結果
6、版本資訊
6.1、一般
6.2、已知問題
7、附錄:CTS控制台命令參考
1、為什麼需要相容性測試(以下稱CTS)?
1、讓APP提供更好的使用者體驗。使用者可以選擇更多的適合自己裝置的APP。讓APP更穩定。
2、讓開發人員設計更高品質的APP。
3、通過CTS的裝置可以運行Android market。
另外,CTS是免費的,而且很簡單。
2、怎麼樣才能讓我的裝置變成相容的?
2.1、與Android Compatibility Definition文檔(以下簡稱ACD)匹配
先看一下與你的系統版本相匹配的ACD,文檔中描述了你需要具備的軟體和硬體參數。
2.2、通過CTS測試
CTS是開源的測試架構,使用它來測試你的裝置是否具備相容性。
2.3、提交報告
你可以把測試結果發送給[email protected]。當你提交了一個CTS報告時,你還可以要求訪問Android Market.我們正在準備專門用途測試和認證的網站和相應服務,好了之後會通知大家的。
3、CTS的工作原理
CTS主要包含兩個組件:
運行在PC上的測試架構組件。主要用來管理測試案例(test case)的執行。
運行在裝置或模擬器上的測試案例。這些用例用JAVA寫成的APK檔案。
3.1、工作流程
1、可以從源碼編譯CTS,也可以從網站下載編譯好的CTS
2、安裝配置CTS。
3、把裝置串連到PC上。
4、運行CTS。CTS會把相應的測試案例(也就是一個APK檔案)傳送到裝置上並通過instrumentation運行,然後記錄運行結果,最後刪除測試案例。
所有的測試案例執行完畢後,可以參照測試結果重新調整或最佳化系統。然後繼續運行CTS測試。
5、測試通過以後,你可以把CTS產生的結果(就是result下面那個以測試時間命名的.zip檔案)提交給[email protected]。
3.2、測試案例類型
CTS包含下面三種層級:
1、單元級。測試Android平台上的代碼單元。比如,一個java.util.HashMap這樣的類。
2、功能級。多個API組合而成的一個更進階的功能。
3、程式級。通過運行一個簡單的APP來執行一個API集合和Android運行時服務。
未來版本還會包含下面的類型:
1、強度測試。測試系統在高CPU運算之下的穩定性。
2、效率測試。比如每秒渲染的幀數。
3.3、目前的測試覆蓋面
目前,為了確保相容,測試案例覆蓋了下面的這些範圍
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等
4、設定和使用CTS
4.1、配置CTS
註:配置和運行CTS步驟在4.0版本中有更改。
要運行CTS,請確保你的機器上安裝有adb的最新副本。
要安裝ADB,下載並安裝Android SDK工具。然後添加SDK平台工具組件。
確保“adb”是在你的系統路徑。
例如:
export PATH=$ PATH:/ home/myuser/android-sdk-linux_x86/platform-tools
4.2、設定您的裝置
CTS只能在使用者裝置(consumer devices)上執行。
下面的這些說明很重要,配置不當的話可能導致測試逾時或測試失敗:
1、你要測試的裝置應運行一個user build(Android 4.0及更高版本)從source.android.com
2、請參閱http://developer.android.com/tools/device.html來設定您的裝置。
3、在你運行CTS前,請確保你的裝置已經燒入了一個user build (Android 4.0及更高版本)。
4、在運行CTS測試之前還需要通過Settings->Speech Synthesis->Install voice data來下載TTS(Text to Speech)檔案。如果沒有安裝Android Market的話,需要手動安裝。
5、確保裝置有一個SD卡插入且卡是空的。因為CTS可能修改/刪除SD卡上的資料。
6、在裝置上做一次恢復出廠預設值(Settings->SD Card & phone Storage->Factory data reset)。注意:這會刪除裝置上的所有使用者資料。
7、確保裝置沒有處在任何lock pattern之下(取消Settings->Security&location->Require Pattern這個選項)
8、確保“USB調試”選項被選中(Settings > Developer options > USB debugging)。
9、請確保” Stay Awake” 被選中(Settings > Developer options > Stay Awake )
10、確保Settings > Developer options > Allow mock locations被設定為true
11、確保裝置串連到一個正常運作的Wi-Fi網路(設定>WIFI網路)
12、。確保裝置在CTS開始的時候顯示主畫面(按HOME按鈕)。
13、 當一個裝置在進行測試,絕不能執行其它任務。
14、 CTS運行時,不要按任何鍵,在測試裝置上按鍵或觸控螢幕幕會干擾測試回合,並可導致測試失敗。
15、設定易訪問性測試:
1、Adb install android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
2、在裝置上,啟用Settings > Accessibility > Delegating Accessibility Service
16、設定裝置管理測試:
1、 Adb install android-cts/repository/testcases/CtsDeviceAdmin.apk
2、在裝置上,啟用Settings > Security > Device Administrators >
android.deviceadmin.cts.CtsDeviceAdmin* settings
17、根據下面的說明,使用ADB拷貝CTS媒體檔案到您的裝置中:
4.3、使用CTS
運行一個test plan需要:
1、確保你至少有一個裝置串連到PC上。啟動CTS控制台通過運行CTS tradefed指令碼,例如
$ ./ Android-cts/tools/ CTS-tradefed
2、你可以通過執行start –plan CTS來執行預設的test plan。這個test plan包含所有的測試案例。
鍵入list plans來查看repository的測試計劃(test plans)列表,鍵入list packages來查看repository的測試包(test packages)列表。
通過CTS命令參考或鍵入help來查看支援命令的完整列表。
3、或者,您可以在命令列中執行CTSplan使用用CTS tradefed run cts --plan
4、您應該檢驗控制台上報告的進展和成果。
4.4、選擇CTS計劃
當前CTS版本中,一共包含下面7個test plan。
1、CTS
包含所有的測試案例,大約會在裝置上執行17000個測試。不包含效能測試。
2、Signature
包含對所有公開API的簽名認證。
3、Android
包含對Android平台API的測試。
4、Java
包含對Java核心庫API的測試。
5、VM
包含對Dalvik Vm的測試。
6、RefApp
包含對相關應用程式的測試
7、Performance
包含對系統效能的測試。
這些可以通過之前提到的run CTS命令執行。
5、 解釋一下測試結果
測試結果被放在:$CTS_ROOT/repository/results/.zip
在這個ZIP檔案中,testResult.xml檔案包含了真正的測試結果,用瀏覽器開啟這個檔案可以看到下面這樣的效果。
其中,“device information”部分提供了裝置和韌體的細節(如make,model,firmware build,platform等)和裝置的硬體設定(螢幕參數、鍵盤、螢幕類型等)。
另外,“test summary”部分提供了test plan的執行細節描述,包含CTS plan name和執行的開始、結束時間。還有測試結果的統計,包含測試通過、失敗、逾時、不能執行的個數。
下面的這個表格統計了一個包中的測試案例有多少測試通過。
這個表格的後面還跟著對執行結果更具體的描述。
這個報告列出了test package,test suite,test case和執行的測試,還有測試執行的結果:通過、失敗、逾時、未執行。當測試失敗時,可以在XML檔案中找到stack trace,為了讓執行結果更簡潔,這些stack trace沒有被包含進來。用文字編輯器查看XML檔案,在裡面搜尋一下標籤和標籤就可以了。
6、版本資訊
6.1、一般
●注意:在Android4.0版本的CTS測試已經有很大的改變。
已加入了一些新的特點包括分割CTS測試使其運行在多個平行裝置上,以及更快的效能。
●本CTS版本包含約17,000測試。
●在你開始CTS測試,請確保按照4.2“Setting up your device”來設定。不遵守這些指示可能導致測試逾時或失敗。
6.2、已知問題
7、附錄:CTS控制台命令參考
【轉】相容性測試套件(CTS)架構使用者手冊