ボックス内の完全な自動車テスト

Complete Automotive Tests in a Box(CATBox)は、最小限の構成で自動車テストを合理化および実行するために必要なフレームワークとツールを提供するオープンソースパッケージです。 CATBoxはスケーラブルであり、Android Automotive OS(AAOS)の実装をテストおよび検証するために使用するツール、インフラストラクチャ、およびテストと互換性があります。その結果、高品質の製品を市場に提供することができます。

CATBoxの設計と実装

CATBoxテストスイートは、自動車のターゲットデバイスで機能テストとパフォーマンステストを実行するために必要なツール、フレームワーク、およびテストを提供します。

次の画像は、CATBoxパッケージの高レベルの設計を示しています。

CATBox

1.CATBoxパッケージ

Tradefed

Tradefedは、Androidデバイスでテストを実行するために使用されるオープンソースの継続的テストフレームワークです。詳細については、通商連合の概要を参照してください。

自動車テストフレームワーク

CATBoxは、Spectatioと呼ばれる自動車テストフレームワークに基づいています。これは、自動車デバイスでさまざまなアプリケーションをテストするためのAPIを提供します。これは、オープンソースのテストフレームワークであるUI Automatorの上に構築されており、ユーザーおよびシステムアプリケーションと対話するUIテストを構築するための一連のAPIを提供します。

CATBoxテストスイートのダウンロード

Android 12

Android 12は、コードネームSの開発マイルストーンのリリースです。Android12用のCATBoxテストスイートをダウンロードするには、次のリンクを使用してください。

Android 11

Android 11は、コードネームRの開発マイルストーンのリリースです。Android11用のCATBoxテストスイートをダウンロードするには、次のリンクを使用してください。

CATBoxを構築する

Android AOSPコードがローカルワークステーションで利用可能になったら、 catboxコマンドを使用します。 CATBoxパッケージをローカルでビルドするには:

  1. [デバイスターゲット]を選択して、次のコマンドを実行します。

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. CATBoxをビルドするには、次のコマンドを実行します。

    # Build CATBox
    $ make catbox
    

    このコマンドは、 android-catbox.zipファイルを/out/host/linux-x86/catboxディレクトリに作成します。このファイルを使用して、テストを実行できます。

環境設定

CATBoxテストの実行に必要な環境設定は、CTSの設定と同様です。環境をセットアップするには、次の各タスクを実行します。

CATBoxのセットアップと実行

Tradefedテストフレームワークを使用して、Androidデバイスでテストを実行します。 CATBoxを設定する前に、通商連合の概要をよく理解してください。

CATBoxを設定して実行するには、以下のセクションを参照してください。

デバイスのセットアップ

テストプランを実行する前に、次の手順を実行してデバイスをセットアップします。

  1. Android Debug Bridge(adb)Android Asset Packaging Tool(AAPT)の両方の最新バージョンをインストールし、これらのツールの場所をマシンのシステムパスに追加したことを確認してください。詳細については、 ADBおよびAAPTを参照してください。

  2. 少なくとも1つのデバイスを接続し、次のようにテスト対象デバイス(DUT)を準備します。

    1. 自動車用デバイスを工場出荷時にリセットするには、[設定]>[システム]>[リセットオプション]>[すべてのデータを消去]をクリックします。
    2. デバイスが自動的に再起動するのを待ちます。
    3. adbが有効になっていることを確認してください。デバイスが使用可能であることを確認するには、次のコマンドを実行します。

      $ adb devices
      
    4. ルートを有効にするには、次のコマンドを実行します。

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      DEVICE_SERIALを自動車用デバイスのシリアルIDに置き換えます。

    5. Wi-Fiに接続します。

CATBoxパッケージを抽出します

デバイスのセットアップが完了したら、CATBoxパッケージを解凍し、抽出したフォルダーに移動します。

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

CATBoxでテストを実行します

CATBoxパッケージのテストプランでCATBoxを実行するには、次を実行します。

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

DEVICE_SERIALを自動車用デバイスのシリアルIDに置き換えます。ホストマシンに複数のデバイスが接続されている場合は、 DEVICE_SERIALを使用してそれらを区別します。 TEST_PLAN_NAMEを、実行するテストプランの名前に置き換えます。

利用可能なテストプランの完全なリストを取得するには、次を実行します。

./tools/catbox-tradefed list plans | grep -i catbox

次の表に、使用可能なテストプランをタイプ別に示します。

テストタイプ名前
機能テスト計画catbox-functional-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
パフォーマンステスト計画catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

CATBoxテスト結果

テスト結果は、機能テストとパフォーマンステストの両方の実行のためにandroid-catbox/results/latestフォルダーに保存されます。

  • テスト結果については、 test_result.xmlを参照してください。
  • 失敗テストの詳細については、 test_result_failures_suite.htmlを参照してください。
  • パフォーマンスメトリクスの結果については、 report-log-filesディレクトリのCatboxPerformanceTests.reportlog.jsonを参照してください。

ログは、機能テストとパフォーマンステストの両方の実行のために、パスandroid-catbox/logs/latestに保存されます。

ダイヤル、Bluetoothオーディオ、連絡先リストのジャンクテストなどの一部のテストでは、追加のデバイス設定が必要です。

ダイヤルテスト

ダイヤルテストには、デバイスのセットアップとランタイムパラメータが必要です。デバイスをセットアップするには:

  1. Bluetoothを介してモバイルデバイスを自動車のヘッドユニットに接続します。
  2. テスト電話にダイヤルテストを実行するためのSIMカードが含まれており、モバイルネットワークに接続されていることを確認してください。
  3. ダイヤルテストでは、電話機に保存されているデフォルトの連絡先を使用します。連絡先を電話にロードするには、 contacts.vcfを使用します。
  4. COMPANION_SERIALを電話機のシリアルIDに置き換えて、次のコマンドを実行します。

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
ランタイムパラメータ

ダイヤルテストでは、テストの実行に小さい電話番号と大きい電話番号を使用します。ダイヤルテストでは、検索テストに連絡先名と連絡先番号も使用されます。この情報を提供するには、次のパラメーターを使用します。

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

Bluetoothオーディオテスト

Bluetoothオーディオテスト用のデバイスをセットアップするには:

  1. YouTube Musicアプリが携帯電話にインストールされており、アカウントにログインしていることを確認してください。そうでない場合は、アプリをインストールしてアカウントにサインインします。
  2. Bluetoothを介して電話を自動車のデバイスに手動でペアリングします。
  3. 電話がペアリングされたら、電話で曲を再生してから、テストの実行を開始します。

連絡先リストのジャンクテスト

連絡先リストのジャンクテスト用にデバイスを設定するには、次の手順に従います。

  1. テストで連絡先リストをスクロールしてジャンクメトリックを収集できるように、電話に複数の連絡先があることを確認してください。
  2. Bluetoothを介して電話を自動車のデバイスに手動でペアリングします。
  3. 電話がペアリングされると、デバイスで連絡先にアクセスできるようになります。