CTS

「CTS」の編集履歴(バックアップ)一覧はこちら

CTS」(2014/01/14 (火) 05:11:32) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

[[How to 1>http://d.hatena.ne.jp/bs-android/20110823/1314103313]] [[How to 2>http://i-miss-erin.blogspot.jp/2010/04/android-cts-compatibility-test-suite.html]] [[How to 3>http://d.hatena.ne.jp/kinneko/20100511/p12]] CTS概要、環境、基本操作 +.はじめに  昨今、注目を浴びているAndroidですが、CTSというのは、みなさんご存知でしょうか?  名前は聞いたことあっても、実際、使ったこと無い人がほとんどだと思います。  なぜなら、アプリベンダーにはあまり関係ないことですから。しかし、Androidを利用して、世に  何らかのハードを出そうという人たち(メーカ、個人含む)、またはframeworkを改変(Bug対応など)し、  Android Open Source Projectsにsubmitしようとする人にとっては、実は避けては通れない道です。  本記事は、そんな人たちのために捧げます。  株式会社ブリリアントサービス      技術部 藤井洋祐(twitterID:@i_m_yosuke)   (校正)   技術部 藤田竜史(twitterID:@ryuuuji)   ※藤田くん、チェックありがとう。   1.CTS概要  1.1 CTSの目的   CTS(正式にはCompatibility Test Suite。以下、CTS)は、Google社が   Android Platform採用端末に実施を義務付けているTest群です。Google社は、   今までOEM、もしくはキャリア依存であったPlatformをAndroidで汎用化しました。   CTSは、Android Marketで配布されるアプリケーションが、   どのOEMのAndroid端末でもスムーズに利用可能なよう(OEMによって、特化されすぎないよう)に、   主要な公開APIを実行し、チェックします。   世の中にAndroidPlatform採用端末を配布する場合、これらTest群を全てpassすることが   互換性を保つという証になり、そういうプロセスを経て初めて「Android端末」を   名乗ることが出来るのではないでしょうか。   蛇足ですが、Android 2.3 Compatibility Definition Document(CDD)という、   Android Platform使用するためのRequirementがあります。   こちらもあわせて、目を通されることをお勧めします。   参照: http://source.android.com/compatibility/2.3/android-2.3.3-cdd.pdf   注.本内容は、2011年8月22日現在、Google社が提供する環境を元に作成しております。  1.2 CTSの動作   CTSは、自動化されたハーネスです。以下の二つを含みます。   ・テスト実行の管理   ・ターゲットデバイス上で実行されるテストケースのAPKファイル http://d.hatena.ne.jp/bs-android/files/1-2.png?d=.png   大まかな手順としては、以下のようになります。   1.CTSをDownload   2.ターゲットデバイスの接続   3.アクセスビリティテスト実行準備    a)android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk をインストール    b)以下の手順でインストールしたアクセスビリティサービスを有効にします。      Settings > Accessibility > Accessibility > Delegating Accessibility Service   4.アドミニストレータテスト実行準備    a)android-cts/repository/testcases/CtsDeviceAdmin.apk をインストール    b)Settings > Location & security 以下にあるandroid.deviceadmin.cts .* を全て有効にします。   5.CTSを起動します。   6.CTSレポートが作成されます。   参照: http://source.android.com/compatibility/cts-intro.html  1.3 CTSのテスト範囲   テスト範囲は以下の通りです。(現在、大きく分けて7つになります) f:id:bs-android:20110823201340p:image:w640   参照:http://source.android.com/compatibility/cts-intro.html  2. CTSの環境作り  2.1 必要なもの   (ハード)   ・PC - DownloadしたCTSを実施します。   ・ターゲットデバイス - Android Platformを採用したデバイスです。   (ソフト)   PCに必要なもの   ・Android Developersから、SDKをDownloadしてください。(PC OSに適合したもの)    ※Build環境が整っているということが前提となります。    参照: http://developer.android.com/sdk/index.html f:id:bs-android:20110823201251p:image:w640   Note.   CTS実施環境について、PC側のOSは、こちら側で確認取れているのは、Linux(Ubuntu)、MacOSです。   Windowsに関しましては、CTS側環境がWindowsに適合していない部分があり、実行Errorとなります。   CTS側環境を改変+Cygwinで、動作は確認しています。機会があれば別途紹介いたします。   ・Android Open source project から、ターゲットデバイスのFirmware versionにあわせたCTSを    PCの任意の場所にDownloadしてください。    参照: http://source.android.com/compatibility/downloads.html f:id:bs-android:20110823201017p:image:w640  Note.   CTSは、ターゲットデバイスで採用されているFirmware versionにあわせて、選択する必要があります。   Android2.3(Gingerbread)採用の場合、CTS2.3R5が実施すべきCTS versionとなります。(図2.1-2参照)  2.2 実施準備   2.1.1  CTS実施フォルダ作成    2.1章でDownloadしたCTS 2.3R5(android-cts-2.3_r5-x86.zip)を任意の場所で解凍します。 f:id:bs-android:20110823201715p:image:w360  解凍後、図2.2-2のようなフォルダが作成されます。 f:id:bs-android:20110823201716p:image:w360   2.2.2 環境変数の設定    CTSは、/android-cts/tools/startctsを実行することで起動します。startctsは、    スクリプトで書かれており、CTS2.3R5では、そのスクリプト中で環境変数を    2つ使用しています。   環境変数その1 CTS_ROOT if [ -z "${CTS_ROOT}" ]; then # CONFIGURATION # Set this variable to the root of unzipped CTS directory # This only needs to be changed if this script has been moved CTS_ROOT="$(dirname $0)/.." fi;   通常使用の場合、特に意識、変更、設定する必要は、ありません。   環境変数その2 SDK_ROOT # Add SDK_ROOT to the PATH for backwards compatibility with prior startcts # commands that required SDK_ROOT to find adb. if [ -n "${SDK_ROOT}" ]; then PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH} fi   ~/.bashrcに、exportを追加します。 export SDK_ROOT=~/android-sdk-linux_x86 Note. .bashrcを変更せずに、下記のようにSDK_ROOTの初期値を直接与えても構いません。 # Add SDK_ROOT to the PATH for backwards compatibility with prior startcts # commands that required SDK_ROOT to find adb. SDK_ROOT=”~/android-sdk-linux_x86” if [ -n "${SDK_ROOT}" ]; then PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH} fi  2.2.3 CTS実行    CTS実行するには、前述のようにstartctsを実行します。 f:id:bs-android:20110823204831p:image:w640 上記のようにcts_hostプロンプトが表示されれば正常に起動されています。 3. CTSの操作(基本編)  3.1 プランCTSの確認   CTSのプランは、”ls –plan”で確認することが出来ます。   現在は、計8種類提供されています。プランCTSは、そのうちのひとつです。 f:id:bs-android:20110823205146p:image:w640   Note.   Google社へは、プランCTS(図3.1-1の赤丸)実施、作成されたレポートを提出します。   本記事では、プランCTS以外の説明は割愛いたしますが、プランCTSで実施される各種テストが   目的別に小分けされたようなものだと考えてください。  プランCTSが提供する項目を”ls --plan CTS”で確認することが可能です。  現在は、計42項目のテストパッケージが提供されております。 f:id:bs-android:20110823205450p:image:w640  3.2 プランCTSの実施   3.2.1 プランCTS実施方法その1    プランCTSは、“start –plan CTS”で実行されます。    書式:start --plan test_plan_name f:id:bs-android:20110823205451p:image:w640 Note.   自動で、端末Rebootを繰り返しながら、プランCTSの項目を順に実施していきます。   3.2.2 プランCTS実施方法その2    プランCTSを図3.1-2で表示したテストパッケージ単位で実施することが可能です。    ”-p”オプションにて、テストパッケージ名を指定します。    書式:start --plan test_plan_name -p java_package_name    下記の例では、”android.apidemos.cts”を実施させています。 f:id:bs-android:20110823205452p:image:w640   Note.   指定されたテストパッケージに含まれるテストシナリオが全部実行された後、   cts_hostプロンプトが表示されコマンド入力待ちとなります。   3.2.3 プランCTS結果確認    CTS実施結果は、android-cts/repository/results 直下に、CTS開始日付フォルダが作成され、そこに格納されます。 f:id:bs-android:20110823210136p:image:w640   Note.   resultsフォルダの下に、zipファイルが作成されます。   これは、前述のCTS実施結果が格納されるCTS開始日付フォルダをcompressしたものです。   Google社へは、このzipファイルを提出します。  CTS実施結果フォルダには、図3.2.3-2で示すようなファイル群が存在します。 f:id:bs-android:20110823210348p:image:w640   testResult.xmlに実行毎に結果が反映されていきます。その結果は、ブラウザで確認可能です。   testResult.xmlをブラウザでOpenすると下記、図3.2.3-3のように表示されます。 f:id:bs-android:20110823210349p:image:w640   他の情報もブラウザスクロールによって表示されます。 f:id:bs-android:20110823210350p:image:w640   CTSがエラーを検知した場合、下記のように、Result列が赤くなり、エラー詳細が表示されます。 f:id:bs-android:20110823210351p:image:w640   Note.   Failure Detailsに表示されるエラー内容では、   どのようなAPIを使用した結果エラーとなったのかが判別しにくい場合があります。   その場合、CTSソースコード(AOSPから取得可能)を解析し、エラー要因、   APIを特定する必要があります。 以上です。
[[How to 1>http://d.hatena.ne.jp/bs-android/20110823/1314103313]] [[How to 2>http://i-miss-erin.blogspot.jp/2010/04/android-cts-compatibility-test-suite.html]] [[How to 3>http://d.hatena.ne.jp/kinneko/20100511/p12]] [[make PC for CTS]] CTS概要、環境、基本操作 +.はじめに  昨今、注目を浴びているAndroidですが、CTSというのは、みなさんご存知でしょうか?  名前は聞いたことあっても、実際、使ったこと無い人がほとんどだと思います。  なぜなら、アプリベンダーにはあまり関係ないことですから。しかし、Androidを利用して、世に  何らかのハードを出そうという人たち(メーカ、個人含む)、またはframeworkを改変(Bug対応など)し、  Android Open Source Projectsにsubmitしようとする人にとっては、実は避けては通れない道です。  本記事は、そんな人たちのために捧げます。  株式会社ブリリアントサービス      技術部 藤井洋祐(twitterID:@i_m_yosuke)   (校正)   技術部 藤田竜史(twitterID:@ryuuuji)   ※藤田くん、チェックありがとう。   1.CTS概要  1.1 CTSの目的   CTS(正式にはCompatibility Test Suite。以下、CTS)は、Google社が   Android Platform採用端末に実施を義務付けているTest群です。Google社は、   今までOEM、もしくはキャリア依存であったPlatformをAndroidで汎用化しました。   CTSは、Android Marketで配布されるアプリケーションが、   どのOEMのAndroid端末でもスムーズに利用可能なよう(OEMによって、特化されすぎないよう)に、   主要な公開APIを実行し、チェックします。   世の中にAndroidPlatform採用端末を配布する場合、これらTest群を全てpassすることが   互換性を保つという証になり、そういうプロセスを経て初めて「Android端末」を   名乗ることが出来るのではないでしょうか。   蛇足ですが、Android 2.3 Compatibility Definition Document(CDD)という、   Android Platform使用するためのRequirementがあります。   こちらもあわせて、目を通されることをお勧めします。   参照: http://source.android.com/compatibility/2.3/android-2.3.3-cdd.pdf   注.本内容は、2011年8月22日現在、Google社が提供する環境を元に作成しております。  1.2 CTSの動作   CTSは、自動化されたハーネスです。以下の二つを含みます。   ・テスト実行の管理   ・ターゲットデバイス上で実行されるテストケースのAPKファイル http://d.hatena.ne.jp/bs-android/files/1-2.png?d=.png   大まかな手順としては、以下のようになります。   1.CTSをDownload   2.ターゲットデバイスの接続   3.アクセスビリティテスト実行準備    a)android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk をインストール    b)以下の手順でインストールしたアクセスビリティサービスを有効にします。      Settings > Accessibility > Accessibility > Delegating Accessibility Service   4.アドミニストレータテスト実行準備    a)android-cts/repository/testcases/CtsDeviceAdmin.apk をインストール    b)Settings > Location & security 以下にあるandroid.deviceadmin.cts .* を全て有効にします。   5.CTSを起動します。   6.CTSレポートが作成されます。   参照: http://source.android.com/compatibility/cts-intro.html  1.3 CTSのテスト範囲   テスト範囲は以下の通りです。(現在、大きく分けて7つになります) f:id:bs-android:20110823201340p:image:w640   参照:http://source.android.com/compatibility/cts-intro.html  2. CTSの環境作り  2.1 必要なもの   (ハード)   ・PC - DownloadしたCTSを実施します。   ・ターゲットデバイス - Android Platformを採用したデバイスです。   (ソフト)   PCに必要なもの   ・Android Developersから、SDKをDownloadしてください。(PC OSに適合したもの)    ※Build環境が整っているということが前提となります。    参照: http://developer.android.com/sdk/index.html f:id:bs-android:20110823201251p:image:w640   Note.   CTS実施環境について、PC側のOSは、こちら側で確認取れているのは、Linux(Ubuntu)、MacOSです。   Windowsに関しましては、CTS側環境がWindowsに適合していない部分があり、実行Errorとなります。   CTS側環境を改変+Cygwinで、動作は確認しています。機会があれば別途紹介いたします。   ・Android Open source project から、ターゲットデバイスのFirmware versionにあわせたCTSを    PCの任意の場所にDownloadしてください。    参照: http://source.android.com/compatibility/downloads.html f:id:bs-android:20110823201017p:image:w640  Note.   CTSは、ターゲットデバイスで採用されているFirmware versionにあわせて、選択する必要があります。   Android2.3(Gingerbread)採用の場合、CTS2.3R5が実施すべきCTS versionとなります。(図2.1-2参照)  2.2 実施準備   2.1.1  CTS実施フォルダ作成    2.1章でDownloadしたCTS 2.3R5(android-cts-2.3_r5-x86.zip)を任意の場所で解凍します。 f:id:bs-android:20110823201715p:image:w360  解凍後、図2.2-2のようなフォルダが作成されます。 f:id:bs-android:20110823201716p:image:w360   2.2.2 環境変数の設定    CTSは、/android-cts/tools/startctsを実行することで起動します。startctsは、    スクリプトで書かれており、CTS2.3R5では、そのスクリプト中で環境変数を    2つ使用しています。   環境変数その1 CTS_ROOT if [ -z "${CTS_ROOT}" ]; then # CONFIGURATION # Set this variable to the root of unzipped CTS directory # This only needs to be changed if this script has been moved CTS_ROOT="$(dirname $0)/.." fi;   通常使用の場合、特に意識、変更、設定する必要は、ありません。   環境変数その2 SDK_ROOT # Add SDK_ROOT to the PATH for backwards compatibility with prior startcts # commands that required SDK_ROOT to find adb. if [ -n "${SDK_ROOT}" ]; then PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH} fi   ~/.bashrcに、exportを追加します。 export SDK_ROOT=~/android-sdk-linux_x86 Note. .bashrcを変更せずに、下記のようにSDK_ROOTの初期値を直接与えても構いません。 # Add SDK_ROOT to the PATH for backwards compatibility with prior startcts # commands that required SDK_ROOT to find adb. SDK_ROOT=”~/android-sdk-linux_x86” if [ -n "${SDK_ROOT}" ]; then PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH} fi  2.2.3 CTS実行    CTS実行するには、前述のようにstartctsを実行します。 f:id:bs-android:20110823204831p:image:w640 上記のようにcts_hostプロンプトが表示されれば正常に起動されています。 3. CTSの操作(基本編)  3.1 プランCTSの確認   CTSのプランは、”ls –plan”で確認することが出来ます。   現在は、計8種類提供されています。プランCTSは、そのうちのひとつです。 f:id:bs-android:20110823205146p:image:w640   Note.   Google社へは、プランCTS(図3.1-1の赤丸)実施、作成されたレポートを提出します。   本記事では、プランCTS以外の説明は割愛いたしますが、プランCTSで実施される各種テストが   目的別に小分けされたようなものだと考えてください。  プランCTSが提供する項目を”ls --plan CTS”で確認することが可能です。  現在は、計42項目のテストパッケージが提供されております。 f:id:bs-android:20110823205450p:image:w640  3.2 プランCTSの実施   3.2.1 プランCTS実施方法その1    プランCTSは、“start –plan CTS”で実行されます。    書式:start --plan test_plan_name f:id:bs-android:20110823205451p:image:w640 Note.   自動で、端末Rebootを繰り返しながら、プランCTSの項目を順に実施していきます。   3.2.2 プランCTS実施方法その2    プランCTSを図3.1-2で表示したテストパッケージ単位で実施することが可能です。    ”-p”オプションにて、テストパッケージ名を指定します。    書式:start --plan test_plan_name -p java_package_name    下記の例では、”android.apidemos.cts”を実施させています。 f:id:bs-android:20110823205452p:image:w640   Note.   指定されたテストパッケージに含まれるテストシナリオが全部実行された後、   cts_hostプロンプトが表示されコマンド入力待ちとなります。   3.2.3 プランCTS結果確認    CTS実施結果は、android-cts/repository/results 直下に、CTS開始日付フォルダが作成され、そこに格納されます。 f:id:bs-android:20110823210136p:image:w640   Note.   resultsフォルダの下に、zipファイルが作成されます。   これは、前述のCTS実施結果が格納されるCTS開始日付フォルダをcompressしたものです。   Google社へは、このzipファイルを提出します。  CTS実施結果フォルダには、図3.2.3-2で示すようなファイル群が存在します。 f:id:bs-android:20110823210348p:image:w640   testResult.xmlに実行毎に結果が反映されていきます。その結果は、ブラウザで確認可能です。   testResult.xmlをブラウザでOpenすると下記、図3.2.3-3のように表示されます。 f:id:bs-android:20110823210349p:image:w640   他の情報もブラウザスクロールによって表示されます。 f:id:bs-android:20110823210350p:image:w640   CTSがエラーを検知した場合、下記のように、Result列が赤くなり、エラー詳細が表示されます。 f:id:bs-android:20110823210351p:image:w640   Note.   Failure Detailsに表示されるエラー内容では、   どのようなAPIを使用した結果エラーとなったのかが判別しにくい場合があります。   その場合、CTSソースコード(AOSPから取得可能)を解析し、エラー要因、   APIを特定する必要があります。 以上です。

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。