Selesaikan Tes Otomotif dalam Satu Kotak

Complete Automotive Tests in a Box (CATBox) adalah paket open source yang menyediakan kerangka kerja dan alat yang diperlukan untuk merampingkan dan menjalankan pengujian otomotif dengan konfigurasi minimal. CATBox dapat diskalakan dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi implementasi Android Automotive OS (AAOS) Anda. Hasilnya, Anda dapat menyediakan produk berkualitas tinggi ke pasar.

Desain dan implementasi CATBox

Rangkaian pengujian CATBox menyediakan alat, kerangka kerja, dan pengujian yang diperlukan untuk menjalankan pengujian fungsional dan kinerja pada perangkat target otomotif.

Gambar berikut mengilustrasikan desain tingkat tinggi dari paket CATBox.

CATBox

Gambar 1. Paket CATBox

Tradefed

Tradefed adalah kerangka kerja pengujian berkelanjutan open source yang digunakan untuk menjalankan pengujian pada perangkat Android. Untuk detailnya, lihat Tinjauan Federasi Perdagangan .

Kerangka uji otomotif

CATBox didasarkan pada kerangka pengujian Otomotif yang disebut Spectatio, yang menyediakan API untuk menguji berbagai aplikasi pada perangkat otomotif. Itu dibangun di atas UI Automator , kerangka kerja pengujian sumber terbuka, yang menyediakan satu set API untuk membangun pengujian UI yang berinteraksi dengan pengguna dan aplikasi sistem.

Unduhan rangkaian pengujian CATBox

Android 12

Android 12 adalah rilis tonggak pengembangan dengan nama kode S. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 12:

Android 11

Android 11 adalah rilis tonggak pengembangan dengan nama kode R. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 11:

Bangun CATBox

Gunakan perintah catbox build setelah kode AOSP Android tersedia di workstation lokal. Untuk membangun paket CATBox secara lokal:

  1. Pilih Target Perangkat dan jalankan perintah berikut:

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. Untuk membangun CATBox, jalankan perintah berikut:

    # Build CATBox
    $ make catbox
    

    Perintah ini membuat file android-catbox.zip di direktori /out/host/linux-x86/catbox , yang kemudian dapat digunakan untuk menjalankan pengujian.

Pengaturan lingkungan

Pengaturan lingkungan yang diperlukan untuk menjalankan tes CATBox mirip dengan Menyiapkan CTS . Untuk menyiapkan lingkungan, selesaikan setiap tugas berikut:

Penyiapan dan eksekusi CATBox

Gunakan kerangka kerja pengujian Tradefed untuk menjalankan pengujian pada perangkat Android. Sebelum penyiapan CATBox, biasakan diri Anda dengan Tinjauan Federasi Perdagangan .

Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.

Pengaturan perangkat

Sebelum menjalankan rencana pengujian, selesaikan langkah-langkah berikut untuk menyiapkan perangkat Anda:

  1. Pastikan Anda telah menginstal Android Debug Bridge (adb) dan Android Asset Packaging Tool (AAPT) versi terbaru, serta menambahkan lokasi alat ini ke jalur sistem mesin Anda. Untuk detailnya, lihat ADB dan AAPT .

  2. Hubungkan setidaknya satu perangkat dan siapkan Device Under Test (DUT) sebagai berikut:

    1. Untuk menyetel ulang perangkat otomotif ke setelan pabrik, klik Setelan > Sistem > Opsi Setel Ulang > Hapus semua data .
    2. Tunggu hingga perangkat memulai ulang secara otomatis.
    3. Pastikan adb diaktifkan. Untuk mengonfirmasi perangkat tersedia, jalankan perintah berikut:

      $ adb devices
      
    4. Untuk mengaktifkan root, jalankan perintah berikut:

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      Ganti DEVICE_SERIAL dengan Serial ID untuk perangkat otomotif.

    5. Sambungkan ke Wi-Fi.

Ekstrak paket CATBox

Setelah menyelesaikan pengaturan perangkat, unzip paket CATBox dan buka folder yang diekstrak:

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

# Navigate to extracted CATBox Package
$ cd android-catbox

Jalankan tes di CATBox

Untuk menjalankan CATBox dengan rencana pengujian dalam paket CATBox, jalankan perintah berikut:

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

Ganti DEVICE_SERIAL dengan Serial ID untuk perangkat otomotif. Jika Anda memiliki beberapa perangkat yang terhubung ke mesin host, gunakan DEVICE_SERIAL untuk membedakannya. Ganti TEST_PLAN_NAME dengan nama rencana pengujian yang ingin Anda jalankan.

Untuk mendapatkan daftar lengkap paket pengujian yang tersedia, jalankan yang berikut ini:

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

Tabel berikut menampilkan rencana pengujian yang tersedia menurut jenisnya:

Jenis tes Nama
Rencana uji fungsional 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
Rencana uji kinerja 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

Hasil tes CATBox

Hasil pengujian disimpan di folder android-catbox/results/latest untuk eksekusi pengujian fungsional dan kinerja.

  • Untuk hasil tes, lihat test_result.xml .
  • Untuk detail pengujian kegagalan, lihat test_result_failures_suite.html .
  • Untuk hasil metrik kinerja, lihat CatboxPerformanceTests.reportlog.json di direktori report-log-files .

Log disimpan di jalur android-catbox/logs/latest untuk eksekusi uji fungsional dan kinerja.

Beberapa pengujian seperti Dial, Bluetooth Audio, dan Contacts list jank test memerlukan pengaturan perangkat tambahan.

Tes panggil

Tes Dial memerlukan pengaturan perangkat dan parameter runtime. Untuk menyiapkan perangkat:

  1. Hubungkan perangkat seluler ke unit kepala Otomotif melalui Bluetooth.
  2. Pastikan telepon percobaan berisi kartu SIM untuk menjalankan tes panggilan dan terhubung ke jaringan seluler.
  3. Tes panggilan menggunakan kontak default yang disimpan di telepon. Gunakan contact.vcf untuk memuat kontak di telepon.
  4. Ganti COMPANION_SERIAL dengan Serial ID untuk telepon dan jalankan perintah berikut:

    # 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.
    
Parameter waktu proses

Tes panggil menggunakan nomor telepon kecil dan besar untuk pelaksanaan tes. Tes panggilan juga menggunakan nama kontak dan nomor kontak untuk tes pencarian. Gunakan parameter berikut untuk memberikan informasi ini:

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 >

Tes audio Bluetooth

Untuk menyiapkan perangkat untuk pengujian audio Bluetooth:

  1. Pastikan aplikasi YouTube Music diinstal di ponsel dan Anda masuk ke akun. Jika tidak, instal aplikasi dan masuk ke akun.
  2. Pasangkan telepon secara manual ke perangkat otomotif melalui Bluetooth.
  3. Setelah telepon dipasangkan, putar lagu di telepon dan mulailah menjalankan tes.

Tes jank daftar kontak

Untuk menyiapkan perangkat untuk uji jank daftar Kontak:

  1. Pastikan ponsel memiliki beberapa kontak sehingga pengujian dapat menggulir daftar Kontak untuk mengumpulkan metrik jank.
  2. Pasangkan telepon secara manual ke perangkat otomotif melalui Bluetooth.
  3. Setelah telepon dipasangkan, kontak dapat diakses di perangkat.