Selesaikan Pengujian Otomotif dalam Kotak

{i>Complete Automotive Tests in a Box<i} (CATBox) adalah paket {i>open source<i} yang menyediakan kerangka kerja dan alat yang diperlukan untuk merampingkan dan melaksanakan proyek pengujian dengan konfigurasi minimal. CATBox bersifat skalabel dan kompatibel dengan alat, infrastruktur, dan pengujian yang Anda gunakan untuk menguji dan memvalidasi Android Anda Implementasi Automotive OS (AAOS). Hasilnya, Anda dapat memberikan produk ke pasar.

Desain dan penerapan CATBox

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

Gambar berikut mengilustrasikan desain tingkat tinggi dari paket CATBox.

Kotak Kucing

Gambar 1. Paket CATBox

Bertukar

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

Framework pengujian otomotif

CATBox didasarkan pada framework pengujian Automotive yang disebut Spectatio, yang menyediakan API untuk pengujian berbagai aplikasi pada perangkat otomotif. AI generatif dibuat di atas pengguna UI Automator, kerangka kerja pengujian {i>open source<i}, yang menyediakan seperangkat API untuk membangun pengujian UI yang berinteraksi dengan aplikasi pengguna dan sistem.

Download paket pengujian CATBox

Android 14

Android Automotive 14 adalah rilis {i>milestone<i} (tonggak pencapaian) pengembangan bernama kode U. Gunakan tautan berikut untuk mengunduh Suite pengujian CATBox untuk Android 14:

Android 12

Android 12 adalah rilis tonggak pencapaian pengembangan dengan nama kode S. Gunakan tautan berikut untuk mengunduh rangkaian tes 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:

Membuat CATBox

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

Untuk membangun paket CATBox secara lokal:

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

    lunch <target>
    
  2. Untuk membuat CATBox, jalankan perintah berikut:

    make catbox
    

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

Menyiapkan lingkungan

Pengaturan 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 Anda menyiapkan CATBox, lihat Ringkasan Federasi Perdagangan.

Untuk menyiapkan dan menjalankan CATBox, lihat bagian di bawah ini.

Menyiapkan perangkat

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

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

  2. Hubungkan setidaknya satu perangkat dan siapkan Perangkat Dalam Pengujian (DUT) saat berikut ini:

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

    2. Tunggu hingga perangkat dimulai ulang secara otomatis.

    3. Pastikan adb diaktifkan. Untuk memastikan 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 komputer {i>host<i}, gunakan DEVICE_SERIAL untuk membedakannya. Ganti TEST_PLAN_NAME dengan nama rencana pengujian yang Anda inginkan untuk dijalankan.

Untuk mendapatkan daftar lengkap paket yang tersedia, gunakan command line:

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

Jenis rencana pengujian

Tabel berikut menampilkan rencana pengujian fungsional yang tersedia.

Paket pengujian fungsional Deskripsi
catbox-functional Pengujian fungsional.
catbox-functional-app-info-setting Pengujian fungsional setelan info aplikasi.
catbox-functional-admin-user-grant-permissions Uji fungsi pemberian izin pengguna admin.
catbox-functional-app-info-setting-ui-elements Pengujian fungsional setelan info aplikasi.
catbox-functional-appgrid Pengujian fungsi petak aplikasi.
catbox-functional-base Daftar uji fungsional.
catbox-functional-bluetooth-audio Pengujian fungsional audio Bluetooth.
catbox-functional-bluetooth-palette Uji fungsi status bar.
catbox-functional-bluetooth-tests Pengujian Bluetooth menggunakan Mobly.
catbox-functional-brightness-palette Uji fungsi status bar.
catbox-functional-btmoped Uji fungsional berbasis Bluetooth Moped.
catbox-functional-date-time-setting Tanggal dan waktu menyetel uji fungsional.
catbox-functional-dial Memanggil uji fungsional.
catbox-functional-display-setting Menampilkan pengujian fungsional setelan.
catbox-functional-driving-optimized-apps Tes fungsional batasan UX.
catbox-functional-enable-developers-option Aktifkan pengujian fungsional opsi developer.
catbox-functional-home Tes fungsi rumah.
catbox-functional-lock-screen Pengujian fungsional layar kunci.
catbox-functional-mediacenter Pengujian fungsional Pusat Media.
catbox-functional-microphone-recent-apps Uji fungsional setelan mikrofon.
catbox-functional-microphone-setting Uji fungsional setelan mikrofon.
catbox-functional-multiuser Pengujian fungsional multipengguna.
catbox-functional-multiuser-system-user Pengujian fungsional multipengguna.
catbox-functional-navigation-bar Pengujian fungsional menu navigasi.
catbox-functional-network-palette Uji fungsi status bar.
catbox-functional-network-setting Uji fungsi setelan jaringan.
catbox-functional-notification Pengujian fungsional notifikasi.
catbox-functional-privacy-permission-manager Uji fungsional setelan Izin Aplikasi Privasi.
catbox-functional-privacy-setting Uji 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 Menyetel Pengujian lokasi.
catbox-functional-sound-setting Uji fungsi setelan suara.
catbox-functional-status-bar Uji fungsi status bar.
catbox-functional-storage-setting Pengujian fungsional setelan penyimpanan.
catbox-functional-system-setting Uji fungsi setelan sistem.
catbox-functional-systemui Pengujian UI sistem.
catbox-functional-ux-restriction Tes fungsional batasan UX.
catbox-functional-ux-restriction-facet-bar Tes fungsional batasan UX.

Tabel berikut mencantumkan rencana pengujian performa CATBox.

Rencana pengujian performa Deskripsi
catbox-performance-cold-app-start-up-dialer Pengujian performa cold start-up aplikasi untuk Telepon dan Ponsel.
catbox-performance-cold-app-start-up-mediacenter Pengujian performa cold start-up aplikasi untuk Media Center.
catbox-performance-cold-app-start-up-settings Pengujian performa cold start-up aplikasi untuk setelan.
catbox-performance-create-and-switch-to-new-guest Ukur latensi untuk beralih ke tamu baru.
catbox-performance-create-and-switch-to-new-user Mengukur latensi untuk beralih ke pengguna non-admin baru.
catbox-performance-hot-app-start-up-dialer Pengujian performa startup aplikasi hot untuk Telepon dan Telepon.
catbox-performance-hot-app-start-up-mediacenter Pengujian performa startup aplikasi hot untuk Media Center.
catbox-performance-hot-app-start-up-settings Pengujian performa startup aplikasi hot 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 Notifications.
catbox-performance-jank-settings Pengujian performa untuk Setelan.
catbox-performance-switch-to-existing-user Ukur latensi untuk beralih ke pengguna lama.

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 dengan Python yang benar dalam lingkungan eksekusi.

Meninjau hasil pengujian CATBox

Hasil dari pengujian fungsional dan performa 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
Menjalankan pengujian fungsional dan performa /android-catbox/logs/latest