Complete Automotive Tests in a Box (CATBox), otomotiv testlerini minimum yapılandırmayla kolaylaştırmak ve yürütmek için gereken çerçeveleri ve araçları sağlayan açık kaynak bir pakettir. CATBox ölçeklenebilirdir ve Android Automotive OS (AAOS) uygulamalarınızı test etmek ve doğrulamak için kullandığınız araçlar, altyapı ve testlerle uyumludur. Sonuç olarak, pazar yerine yüksek kaliteli ürünler sunabilirsiniz.
CATBox tasarımı ve uygulaması
CATBox test paketi, otomotiv hedef cihazda ve tamamlayıcı cihaz kullanılırken işlevsel ve performans testleri yürütmek için gereken araçları, çerçeveleri ve testleri sağlar.
Aşağıdaki resimde, bir CATBox paketinin üst düzey tasarımı gösterilmektedir.
Şekil 1. CATBox paketi
Tradefed
Tradefed, Android cihazlarda test çalıştırmak için kullanılan açık kaynaklı bir sürekli test çerçevesidir. Ayrıntılar için Ticaret Federasyonu'na Genel Bakış başlıklı makaleyi inceleyin.
Otomotiv test çerçevesi
CATBox, otomotiv cihazlarındaki çeşitli uygulamaları test etmek için API'ler sağlayan Spectatio adlı bir otomotiv test çerçevesine dayanır. Kullanıcı ve sistem uygulamalarıyla etkileşime giren kullanıcı arayüzü testleri oluşturmak için bir API grubu sağlayan açık kaynak bir test çerçevesi olan UI Automator'un üzerine inşa edilmiştir.
CATBox test paketi indirmeleri
Android 14
Android Automotive 14, U kod adlı geliştirme aşamasının sürümüdür. Android 14 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
Android 12
Android 12, S kod adlı geliştirme aşamasının sürümüdür. Android 12 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
Android 11
Android 11, R kod adlı geliştirme aşamasının sürümüdür. Android 11 için CATBox test paketlerini indirmek üzere aşağıdaki bağlantıları kullanın:
CATBox oluşturma
Android AOSP kodu yerel iş istasyonunda kullanılabilir hale geldiğinde catbox
derleme komutunu kullanın.
CATBox paketini yerel olarak derlemek için:
Cihaz mimarisine göre cihaz hedefini seçin ve aşağıdaki komutu çalıştırın:
lunch <target>
CATBox'u oluşturmak için aşağıdaki komutu çalıştırın:
make catbox
Bu komut,
/out/host/linux-x86/catbox
dizinindeandroid-catbox.zip
dosyasını oluşturur. Bu dosya daha sonra test çalıştırmak için kullanılabilir.
Ortamı ayarlama
CATBox testlerini yürütmek için gereken ortam kurulumu, CTS'yi ayarlama işlemine benzer. Ortamı ayarlamak için aşağıdaki görevlerin her birini tamamlayın:
ADB ve AAPT'yi yükleyin.
JDK'yi yükleyin. Ubuntu için Java Geliştirme Kiti başlıklı makaleyi inceleyin.
Bellek sınırını artırın. Depolama alanı gereksinimleri bölümüne bakın.
CATBox'u ayarlama ve çalıştırma
Testleri Android cihazlarda çalıştırmak için Tradefed test çerçevesini kullanın. CATBox'u oluşturmadan önce Ticaret Federasyonu'na Genel Bakış başlıklı makaleyi inceleyin.
CATBox'u ayarlamak ve çalıştırmak için aşağıdaki bölümlere bakın.
Cihazı kurma
Test planı çalıştırmadan önce cihazınızı kurmak için aşağıdaki adımları uygulayın:
Hem Android Hata Ayıklama Köprüsü (adb) hem de Android Öğe Paketleme Aracı'nın (AAPT) en son sürümlerini yüklediğinizden ve bu araçların konumunu makinenizin sistem yoluna eklediğinizden emin olun. Ayrıntılar için ADB ve AAPT başlıklı makaleyi inceleyin.
En az bir cihaz bağlayın ve test edilen cihazı (DUT) aşağıdaki gibi hazırlayın:
Otomotiv cihazını fabrika ayarlarına sıfırlamak için Ayarlar > Sistem > Sıfırlama Seçenekleri > Tüm verileri sil'e gidin.
Cihazın otomatik olarak yeniden başlatılmasını bekleyin.
adb'nin etkinleştirildiğinden emin olun. Cihazın kullanılabilir olduğunu onaylamak için aşağıdaki komutu çalıştırın:
adb devices
Root kullanıcısını etkinleştirmek için aşağıdaki komutu çalıştırın:
adb -s DEVICE_SERIAL root
DEVICE_SERIAL
kısmını otomotiv cihazının seri kimliğiyle değiştirin.Kablosuz ağa bağlanın.
CATBox paketini ayıklama
Cihazı ayarladıktan sonra CATBox paketini açın ve ayıklanan klasöre gidin:
unzip android-catbox.zip
cd android-catbox
CATBox'ta test çalıştırma
CATBox'u CATBox paketindeki test planlarıyla çalıştırmak için:
./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL
DEVICE_SERIAL
kısmını otomotiv cihazının seri kimliğiyle değiştirin. Ana makineye bağlı birden fazla cihazınız varsa bunları ayırt etmek için DEVICE_SERIAL
simgesini kullanın. TEST_PLAN_NAME
yerine, çalıştırmak istediğiniz test planının adını yazın.
Kullanılabilir planların en eksiksiz listesini almak için komut satırını kullanın:
./tools/catbox-tradefed list plans | grep -i catbox
Test planı türleri
Aşağıdaki tabloda mevcut işlevsel test planları gösterilmektedir.
İşlevsel test planları | Açıklama |
---|---|
catbox-functional |
İşlevsel testler. |
catbox-functional-app-info-setting |
Uygulama bilgileri ayarı işlevsel testleri. |
catbox-functional-admin-user-grant-permissions |
Yönetici kullanıcı izinleri işlevsel testleri. |
catbox-functional-app-info-setting-ui-elements |
Uygulama bilgisi ayarı işlevsel testleri. |
catbox-functional-appgrid |
Uygulama ızgara işlevsel testleri. |
catbox-functional-base |
İşlevsel testlerin listesi. |
catbox-functional-bluetooth-audio |
Bluetooth ses işlevsel testleri. |
catbox-functional-bluetooth-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-bluetooth-tests |
Mobly'yi kullanan Bluetooth testleri. |
catbox-functional-brightness-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-btmoped |
Bluetooth Moped tabanlı işlevsel testler. |
catbox-functional-date-time-setting |
Tarih ve saat ayarı işlevsel testleri. |
catbox-functional-dial |
İşlevsel testleri çevirin. |
catbox-functional-display-setting |
Ekran ayarı işlevsel testleri. |
catbox-functional-driving-optimized-apps |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
catbox-functional-enable-developers-option |
Geliştirici seçenekleri işlevsel testlerini etkinleştirin. |
catbox-functional-home |
Ev işlevsel testleri. |
catbox-functional-lock-screen |
Kilit ekranı işlevsel testleri. |
catbox-functional-mediacenter |
Media Center işlevsel testleri. |
catbox-functional-microphone-recent-apps |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-microphone-setting |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-multiuser |
Çok kullanıcılı işlevsel testler. |
catbox-functional-multiuser-system-user |
Çok kullanıcılı işlevsel testler. |
catbox-functional-navigation-bar |
Gezinme çubuğu işlevsel testleri. |
catbox-functional-network-palette |
Durum çubuğu işlevsel testleri. |
catbox-functional-network-setting |
Ağ ayarı işlevsel testleri. |
catbox-functional-notification |
Bildirim işlevsel testleri. |
catbox-functional-privacy-permission-manager |
Gizlilik Uygulama İzni ayarı işlevsel testleri. |
catbox-functional-privacy-setting |
Mikrofon ayarı işlevsel testleri. |
catbox-functional-privacy-setting-ui-elements |
Gizlilik ayarı işlevsel testleri. |
catbox-functional-profile-icon |
Profil simgesi çubuğu işlevsel testleri. |
catbox-functional-profiles-icon-list |
Profil simgesi listesi testleri. |
catbox-functional-security-setting |
Güvenlik ayarı işlevsel testleri. |
catbox-functional-setting |
İşlevsel testleri ayarlama. |
catbox-functional-settings-location |
Konum ayarlarını test etme. |
catbox-functional-sound-setting |
Ses ayarı işlevsel testleri. |
catbox-functional-status-bar |
Durum çubuğu işlevsel testleri. |
catbox-functional-storage-setting |
Depolama ayarı işlevsel testleri. |
catbox-functional-system-setting |
Sistem ayarı işlevsel testleri. |
catbox-functional-systemui |
Sistem kullanıcı arayüzü testleri. |
catbox-functional-ux-restriction |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
catbox-functional-ux-restriction-facet-bar |
Kullanıcı deneyimi kısıtlaması işlevsel testleri. |
Aşağıdaki tabloda CATBox performans test planları listelenmiştir.
Performans testi planları | Açıklama |
---|---|
catbox-performance-cold-app-start-up-dialer |
Telefon uygulaması ve Telefon için soğuk uygulama başlatma performans testi. |
catbox-performance-cold-app-start-up-mediacenter |
Media Center için uygulamayı sıfırdan başlatma performans testi. |
catbox-performance-cold-app-start-up-settings |
Ayarlar için uygulamanın ilk başlatılma performansı testi. |
catbox-performance-create-and-switch-to-new-guest |
Yeni bir konuğa geçmek için gecikmeyi ölçün. |
catbox-performance-create-and-switch-to-new-user |
Yönetici olmayan yeni bir kullanıcıya geçmek için gecikmeyi ölçün. |
catbox-performance-hot-app-start-up-dialer |
Telefon uygulaması ve Telefon için sıcak uygulama başlatma performans testi. |
catbox-performance-hot-app-start-up-mediacenter |
Media Center için uygulamayı sıcak başlatma performans testi. |
catbox-performance-hot-app-start-up-settings |
Ayarlar için sıcak uygulama başlatma performans testi. |
catbox-performance-jank-appgrid |
Appgrid için performans testi. |
catbox-performance-jank-contact-list |
Kişiler için performans testi. |
catbox-performance-jank-media |
Medya için performans testleri. |
catbox-performance-jank-media-switch-playback |
Medya anahtarı oynatma için performans testi. |
catbox-performance-jank-notifications |
Bildirimler için performans testi. |
catbox-performance-jank-settings |
Ayarlar için performans testi. |
catbox-performance-switch-to-existing-user |
Mevcut bir kullanıcıya geçme gecikmesini ölçün. |
Çok cihazlı ana makine tarafı testini çalıştırma
Birden fazla cihazda ana makine tarafı testlerin yürütülmesi, testi tek bir oturumda çalıştırmak için CATBox'u kullanır. Örneğin, 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, apk
dosyasını yükler ve ardından test doğru Python yürütme ortamında çalıştırılır.
CATBox test sonuçlarını inceleme
İşlevsellik ve performans testi çalıştırmalarının sonuçları android-catbox/results/latest
'e kaydedilir.
Sonuç türü | Konum |
---|---|
Test sonuçları | test_result.xml |
Başarısızlık testlerinin ayrıntıları | test_result_failures_suite.html |
Performans metriği sonuçları | /report-log-files/CatboxPerformanceTests.reportlog.json |
İşlevsel ve performans testi çalıştırmaları | /android-catbox/logs/latest |