Android CTS 總結

來源:互聯網
上載者:User

CTS是什嗎?

資料:CDD、CTS官網、android-cts-manual-r4;

CTS是什麼我就不多費話了,看上面官方的說法就行了。不過有一點需要明確,你的裝置只有滿足CDD的規定並且通過CTS,才有可能獲得Android的商標和享受Android Market的許可權。這裡有可能指的是需要你自己去向google申請的,不是說相容了,這些東西就自然而然有了。

 

怎麼用:

資料: android-cts-manual-r4、宋立新_Android CTS測試研究;

安裝與配置:

下載或自己編譯;修改startcts中SDK_ROOT;在板子或emulator上裝一個apk;設定setting;

各種命令的用法:

注意:start --plan –p以及start --plan –t的用法,-t要指定一個具體的測試方法

方法1:一般使用的方法
$ ./startcts           注意如果用手機裝置調試,用root許可權執行
cts_host > ls --plan                列出所有plan
out/host/linux-x86/cts/android-cts/repository/plans中有plan的具體內容
cts_host > start --plan VM    運行某個plan
測試結果在out/host/linux-x86/cts/android-cts/repository/results目錄下,用瀏覽器看時間目錄下的xml檔案即可
注意在改動cts後,還要make cts重新編譯,若只在cts目錄中編譯不能生效
cts_host > ls -p   看當前可用的用例包
cts_host > start --plan Android -p android.app        只運行某個用例包,節約時間
cts_host > start --plan Android -p android.app -t android.app.cts.AlertDialogTest#testAlertDialog
只運行某個用例包中的某個用例

方法2:遇到問題時方便調試的方法
$ adb install out/target/product/xxxx/data/app/SginatureTest.apk 安裝某個用例包
$ adb shell pm list instrumentation          pm用於管理package,看當前機器安裝了什麼用例
$ adb shell am instrument -w android.tests.sigtest/.InstrumentationRunner             am用於管理activity   運行某一用例
$ adb shell am instrument -e class android.app.cts.AlertDialogTest#testAlertDialog -w com.android.cts.app/android.test/InstrumentationCtsTestRunner          單獨運行一個小case
如果在一個時間很長的plan(如Android)中,某處錯了,而錯誤資訊又不全,需要單獨跑一個小case,用-e指明class明就可以節約很多時間

 

用完後結果的分析:

結果在repository/results中,放在一個檔案夾裡,名字是你測試開始的時間。

分析的方法有兩種:

1、可以直接從Failure Details找原因;(個人感覺應該難度較大)

2、結合原始碼以及Failure Details的資訊找原因

第二種方法牽扯到找測試原始碼的問題,這就要對CTS源碼目錄以及相應產生物的命名有一定的瞭解。

 

 

瞭解CTS這個工程:

資料:宋立新同學的Android CTS測試研究二、android build system、CTS源碼、makefile以及shell基本知識

瞭解Linux工程最好的入手點,就是從它的編譯系統入手。

這個涉及到Linux的makefile以及android的編譯系統的基本知識,具體內容還是挺多的,不過看懂了android編譯系統,以後看其他Android工程應該都會得心應手。

 

 

在android CTS上增加自己的test package

資料:CTS命令的用法、Erin Yueh的兩篇文章

有兩種方法:

1、完美利用內建命令(已驗證)

2、用Erin Yueh的方法

用這個方法的前提也是要徹底弄懂CTS的內部結構,不然也只能照貓畫虎

 

如何寫test case

資料:JUnit、SDK/docs下面的五篇文章、android open source官網/porting/Instrumentation
Testing

這又是另外一門學問了

這個test case 可以涉及各個層次,Android 平台相關的測試的寫法可以參考官方的那五篇文章,如何運行可參考上面資料三,其他的可能會涉及到JUnit以及其他一些知識,目前還沒實地考察。

 

接下來要弄明白的

1、android的編譯系統(學習下makefile以及shell基本知識)

2、CTS這個工程(看看測試包XML產生器的假設成不成立,能不能提取出來)

3、眾多層次test case 的寫法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.