Selesaikan Pengujian Otomotif dalam Kotak

Complete Automotive Tests in a Box (CATBox) adalah paket open source yang menyediakan framework dan alat yang diperlukan untuk menyederhanakan dan menjalankan pengujian otomotif dengan konfigurasi minimal. CATBox bersifat skalabel dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi penerapan Android Automotive OS (AAOS). Dengan demikian, Anda dapat menyediakan produk berkualitas tinggi ke marketplace.

Desain dan penerapan CATBox

Rangkaian pengujian CATBox menyediakan alat, framework, dan pengujian yang diperlukan untuk menjalankan pengujian fungsional dan performa pada perangkat target otomotif dan saat menggunakan perangkat pendamping.

Gambar berikut mengilustrasikan desain tingkat tinggi paket CATBox.

CATBox

Gambar 1. Paket CATBox

Tradefed

Tradefed adalah framework pengujian berkelanjutan open source yang digunakan untuk menjalankan pengujian di perangkat Android. Untuk mengetahui detailnya, lihat Ringkasan Federasi Perdagangan.

Framework pengujian otomotif

CATBox didasarkan pada framework pengujian Otomotif yang disebut Spectatio, yang menyediakan API untuk menguji berbagai aplikasi di perangkat otomotif. Pengujian ini dibuat berdasarkan UI Automator, framework pengujian open source, yang menyediakan serangkaian API untuk membuat pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.

Download rangkaian pengujian CATBox

Android 14

Android Automotive 14 adalah rilis milestone pengembangan dengan nama kode U. Gunakan link berikut untuk mendownload paket pengujian CATBox untuk Android 14:

Android 12

Android 12 adalah rilis tonggak pencapaian pengembangan dengan nama kode S. Gunakan link berikut untuk mendownload rangkaian pengujian CATBox untuk Android 12:

Android 11

Android 11 adalah rilis tonggak pencapaian pengembangan dengan nama kode R. Gunakan link berikut untuk mendownload rangkaian pengujian CATBox untuk Android 11:

Mem-build CATBox

Gunakan perintah build catbox setelah kode AOSP Android tersedia di workstation lokal.

Untuk mem-build paket CATBox secara lokal:

  1. Pilih Target Perangkat berdasarkan arsitektur perangkat dan jalankan perintah berikut:

    lunch <target>
    
  2. Untuk mem-build CATBox, jalankan perintah berikut:

    make catbox
    

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

Menyiapkan lingkungan

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

Menyiapkan dan menjalankan CATBox

Gunakan framework pengujian Tradefed untuk menjalankan pengujian di perangkat Android. Sebelum menyiapkan CATBox, lihat Ringkasan Federasi Perdagangan.

Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.

Menyiapkan perangkat

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

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

  2. Hubungkan minimal satu perangkat dan siapkan Perangkat yang Sedang Diuji (DUT) sebagai berikut:

    1. Untuk mereset perangkat otomotif ke setelan pabrik, buka Setelan > Sistem > Opsi Reset > Hapus semua data.

    2. Tunggu hingga perangkat dimulai ulang secara otomatis.

    3. Pastikan adb diaktifkan. Untuk mengonfirmasi bahwa perangkat tersedia, jalankan perintah berikut:

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

      adb -s DEVICE_SERIAL root
      

      Ganti DEVICE_SERIAL dengan ID Seri untuk perangkat otomotif.

    5. Hubungkan ke Wi-Fi.

Mengekstrak paket CATBox

Setelah menyiapkan perangkat, ekstrak paket CATBox dan buka folder yang diekstrak:

unzip android-catbox.zip
cd android-catbox

Menjalankan pengujian di CATBox

Untuk menjalankan CATBox dengan rencana pengujian dalam paket CATBox:

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

Ganti DEVICE_SERIAL dengan ID Seri 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 rencana yang paling lengkap, gunakan command line:

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

Jenis rencana pengujian

Tabel berikut menampilkan rencana pengujian fungsional yang tersedia.

Rencana pengujian fungsional Deskripsi
catbox-functional Pengujian fungsional.
catbox-functional-app-info-setting Pengujian fungsional setelan info aplikasi.
catbox-functional-admin-user-grant-permissions Pengujian fungsional izin pemberian pengguna admin.
catbox-functional-app-info-setting-ui-elements Pengujian fungsional setelan info aplikasi.
catbox-functional-appgrid Pengujian fungsional petak aplikasi.
catbox-functional-base Daftar pengujian fungsional.
catbox-functional-bluetooth-audio Pengujian fungsional audio Bluetooth.
catbox-functional-bluetooth-palette Pengujian fungsional status bar.
catbox-functional-bluetooth-tests Pengujian Bluetooth menggunakan Mobly.
catbox-functional-brightness-palette Pengujian fungsional status bar.
catbox-functional-btmoped Pengujian fungsional berbasis Moped Bluetooth.
catbox-functional-date-time-setting Pengujian fungsional setelan tanggal dan waktu.
catbox-functional-dial Pengujian fungsional panggilan.
catbox-functional-display-setting Pengujian fungsional setelan tampilan.
catbox-functional-driving-optimized-apps Pengujian fungsional pembatasan UX.
catbox-functional-enable-developers-option Mengaktifkan pengujian fungsional opsi developer.
catbox-functional-home Pengujian fungsional rumah.
catbox-functional-lock-screen Pengujian fungsional layar kunci.
catbox-functional-mediacenter Pengujian fungsional Media Center.
catbox-functional-microphone-recent-apps Pengujian fungsional setelan mikrofon.
catbox-functional-microphone-setting Pengujian fungsional setelan mikrofon.
catbox-functional-multiuser Pengujian fungsional multi-pengguna.
catbox-functional-multiuser-system-user Pengujian fungsional multi-pengguna.
catbox-functional-navigation-bar Pengujian fungsional menu navigasi.
catbox-functional-network-palette Pengujian fungsional status bar.
catbox-functional-network-setting Pengujian fungsional setelan jaringan.
catbox-functional-notification Pengujian fungsional notifikasi.
catbox-functional-privacy-permission-manager Pengujian fungsional setelan Izin Aplikasi Privasi.
catbox-functional-privacy-setting Pengujian fungsional setelan mikrofon.
catbox-functional-privacy-setting-ui-elements Pengujian fungsional setelan privasi.
catbox-functional-profile-icon Pengujian fungsional Panel Ikon Profil.
catbox-functional-profiles-icon-list Pengujian daftar ikon profil.
catbox-functional-security-setting Pengujian fungsional setelan keamanan.
catbox-functional-setting Menetapkan pengujian fungsional.
catbox-functional-settings-location Menetapkan Pengujian lokasi.
catbox-functional-sound-setting Pengujian fungsional setelan suara.
catbox-functional-status-bar Pengujian fungsional status bar.
catbox-functional-storage-setting Pengujian fungsional setelan penyimpanan.
catbox-functional-system-setting Pengujian fungsional setelan sistem.
catbox-functional-systemui Pengujian UI sistem.
catbox-functional-ux-restriction Pengujian fungsional pembatasan UX.
catbox-functional-ux-restriction-facet-bar Pengujian fungsional pembatasan UX.

Tabel berikut mencantumkan rencana pengujian performa CATBox.

Rencana pengujian performa Deskripsi
catbox-performance-cold-app-start-up-dialer Pengujian performa cold start aplikasi untuk Telepon dan Telepon.
catbox-performance-cold-app-start-up-mediacenter Pengujian performa cold start aplikasi untuk Media Center.
catbox-performance-cold-app-start-up-settings Pengujian performa cold start aplikasi untuk setelan.
catbox-performance-create-and-switch-to-new-guest Mengukur latensi untuk beralih ke tamu baru.
catbox-performance-create-and-switch-to-new-user Ukur latensi untuk beralih ke pengguna non-admin baru.
catbox-performance-hot-app-start-up-dialer Pengujian performa startup aplikasi panas untuk Telepon dan Telepon.
catbox-performance-hot-app-start-up-mediacenter Pengujian performa startup aplikasi panas untuk Media Center.
catbox-performance-hot-app-start-up-settings Pengujian performa startup aplikasi panas untuk Setelan.
catbox-performance-jank-appgrid Pengujian performa untuk Appgrid.
catbox-performance-jank-contact-list Pengujian performa untuk Kontak.
catbox-performance-jank-media Pengujian performa untuk Media.
catbox-performance-jank-media-switch-playback Pengujian performa untuk pemutaran tombol media.
catbox-performance-jank-notifications Pengujian performa untuk Notifikasi.
catbox-performance-jank-settings Pengujian performa untuk Setelan.
catbox-performance-switch-to-existing-user Mengukur latensi untuk beralih ke pengguna yang ada.

Menjalankan pengujian sisi host multiperangkat

Eksekusi pengujian sisi host multiperangkat menggunakan CATBox untuk menjalankan pengujian dalam satu sesi. Misalnya, BTDiscoveryTest:

make catbox
./tools/catbox-tradefed run commandAndExit catbox-functional-bluetooth-tests --{phone}serial <serial> --{auto}serial <serial> --mobly-host:mobly-par-file-name BTDiscoveryTest

CATBox menginstal apk, lalu pengujian dijalankan di lingkungan eksekusi Python yang benar.

Meninjau hasil pengujian CATBox

Hasil pengujian fungsional dan performa yang dijalankan disimpan di android-catbox/results/latest.

Jenis hasil Lokasi
Hasil uji test_result.xml
Detail pengujian kegagalan test_result_failures_suite.html
Hasil metrik performa /report-log-files/CatboxPerformanceTests.reportlog.json
Pengujian fungsional dan performa berjalan /android-catbox/logs/latest