Selesaikan Tes Otomotif dalam Satu Kotak

Tes Otomotif Lengkap dalam Kotak (CATBox) adalah paket sumber terbuka yang menyediakan kerangka kerja dan alat yang diperlukan untuk menyederhanakan dan melaksanakan tes 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). 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 dan saat menggunakan perangkat pendamping.

Gambar berikut mengilustrasikan desain tingkat tinggi dari paket CATBox.

CATBox

Gambar 1. Paket CATBox

Diperdagangkan

Tradefed adalah kerangka pengujian berkelanjutan sumber terbuka yang digunakan untuk menjalankan pengujian pada perangkat Android. Untuk detailnya, lihat Ikhtisar 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 pengujian sumber terbuka, yang menyediakan serangkaian API untuk membangun pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.

Unduhan rangkaian pengujian CATBox

Android 14

Android Automotive 14 adalah rilis tonggak pengembangan dengan nama kode U. Gunakan tautan berikut untuk mengunduh rangkaian pengujian CATBox untuk Android 14:

Android 12

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

Android 11

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

Bangun CATBox

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

Untuk membangun paket CATBox secara lokal:

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

    lunch <target>
    
  2. Untuk membangun 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.

Siapkan lingkungan

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

Siapkan dan jalankan CATBox

Gunakan kerangka pengujian Tradefed untuk menjalankan pengujian pada perangkat Android. Sebelum Anda menyiapkan CATBox, lihat Ikhtisar Federasi Dagang .

Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah.

Siapkan perangkat

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

  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 mesin Anda. Untuk detailnya, lihat ADB dan AAPT .

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

    1. Untuk mengembalikan perangkat otomotif ke setelan pabrik, buka Pengaturan > Sistem > Opsi Reset > 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:

      adb -s DEVICE_SERIAL root
      

      Ganti DEVICE_SERIAL dengan Serial ID untuk perangkat otomotif.

    5. Hubungkan ke Wi-Fi.

Ekstrak paket CATBox

Setelah menyiapkan perangkat, unzip paket CATBox dan buka folder yang diekstraksi:

unzip android-catbox.zip
cd android-catbox

Jalankan tes 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 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 terlengkap dari paket yang tersedia, gunakan baris perintah:

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

Jenis rencana pengujian

Tabel berikut menampilkan rencana pengujian fungsional yang tersedia.

Rencana pengujian fungsional Keterangan
catbox-functional Tes fungsional.
catbox-functional-app-info-setting Tes fungsional pengaturan info aplikasi.
catbox-functional-admin-user-grant-permissions Pengguna admin memberikan izin tes fungsional.
catbox-functional-app-info-setting-ui-elements Tes fungsional pengaturan info aplikasi.
catbox-functional-appgrid Tes fungsional jaringan aplikasi.
catbox-functional-base Daftar tes fungsional.
catbox-functional-bluetooth-audio Tes fungsional audio Bluetooth.
catbox-functional-bluetooth-palette Tes fungsional bilah status.
catbox-functional-bluetooth-tests Tes Bluetooth menggunakan Mobly.
catbox-functional-brightness-palette Tes fungsional bilah status.
catbox-functional-btmoped Tes fungsional berbasis Bluetooth Moped.
catbox-functional-date-time-setting Tes fungsional pengaturan tanggal dan waktu.
catbox-functional-dial Panggil tes fungsional.
catbox-functional-display-setting Tes fungsional pengaturan tampilan.
catbox-functional-driving-optimized-apps Tes fungsional pembatasan UX.
catbox-functional-enable-developers-option Aktifkan tes fungsional opsi pengembang.
catbox-functional-home Tes fungsional rumah.
catbox-functional-lock-screen Tes fungsional layar kunci.
catbox-functional-mediacenter Tes fungsional Pusat Media.
catbox-functional-microphone-recent-apps Tes fungsional pengaturan mikrofon.
catbox-functional-microphone-setting Tes fungsional pengaturan mikrofon.
catbox-functional-multiuser Tes fungsional multipengguna.
catbox-functional-multiuser-system-user Tes fungsional multipengguna.
catbox-functional-navigation-bar Tes fungsional bilah navigasi.
catbox-functional-network-palette Tes fungsional bilah status.
catbox-functional-network-setting Tes fungsional pengaturan jaringan.
catbox-functional-notification Tes fungsional notifikasi.
catbox-functional-privacy-permission-manager Izin Aplikasi Privasi mengatur tes fungsional.
catbox-functional-privacy-setting Tes fungsional pengaturan mikrofon.
catbox-functional-privacy-setting-ui-elements Tes fungsional pengaturan privasi.
catbox-functional-profile-icon Tes fungsional Bilah Ikon Profil.
catbox-functional-profiles-icon-list Tes daftar ikon profil.
catbox-functional-security-setting Tes fungsional pengaturan keamanan.
catbox-functional-setting Menetapkan tes fungsional.
catbox-functional-settings-location Mengatur lokasi Tes.
catbox-functional-sound-setting Tes fungsional pengaturan suara.
catbox-functional-status-bar Tes fungsional bilah status.
catbox-functional-storage-setting Tes fungsional pengaturan penyimpanan.
catbox-functional-system-setting Tes fungsional pengaturan sistem.
catbox-functional-systemui Tes UI sistem.
catbox-functional-ux-restriction Tes fungsional pembatasan UX.
catbox-functional-ux-restriction-facet-bar Tes fungsional pembatasan UX.

Tabel berikut mencantumkan rencana pengujian kinerja CATBox.

Rencana pengujian kinerja Keterangan
catbox-performance-cold-app-start-up-dialer Uji kinerja permulaan aplikasi dingin untuk Dialer dan Telepon.
catbox-performance-cold-app-start-up-mediacenter Uji kinerja permulaan aplikasi dingin untuk Media Center.
catbox-performance-cold-app-start-up-settings Uji kinerja permulaan aplikasi dingin untuk pengaturan.
catbox-performance-create-and-switch-to-new-guest Ukur 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 Uji kinerja permulaan aplikasi panas untuk Dialer dan Telepon.
catbox-performance-hot-app-start-up-mediacenter Tes kinerja permulaan aplikasi panas untuk Media Center.
catbox-performance-hot-app-start-up-settings Tes kinerja permulaan aplikasi panas untuk Pengaturan.
catbox-performance-jank-appgrid Tes kinerja untuk Appgrid.
catbox-performance-jank-contact-list Tes kinerja untuk Kontak.
catbox-performance-jank-media Tes kinerja untuk Media.
catbox-performance-jank-media-switch-playback Uji kinerja untuk pemutaran peralihan media.
catbox-performance-jank-notifications Tes kinerja untuk Notifikasi.
catbox-performance-jank-settings Tes kinerja untuk Pengaturan.
catbox-performance-switch-to-existing-user Ukur latensi untuk beralih ke pengguna yang sudah ada.

Jalankan 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 dan kemudian pengujian dijalankan di lingkungan eksekusi Python yang benar.

Tinjau hasil tes CATBox

Hasil uji fungsi dan kinerja disimpan di android-catbox/results/latest .

Jenis hasil Lokasi
Hasil tes test_result.xml
Detail tes kegagalan test_result_failures_suite.html
Hasil metrik kinerja /report-log-files/CatboxPerformanceTests.reportlog.json
Uji fungsional dan kinerja berjalan /android-catbox/logs/latest