Contrôles automobiles dans une boîte

Complete Automotive Tests in a Box (CATBox) est un package Open Source qui fournit les frameworks et les outils nécessaires pour simplifier et exécuter des tests automobiles avec une configuration minimale. CATBox est évolutif et compatible avec les outils, l'infrastructure et les tests que vous utilisez pour tester et valider vos implémentations Android Automotive OS (AAOS). Vous pouvez ainsi proposer des produits de haute qualité sur la place de marché.

Conception et implémentation de CATBox

La suite de tests CATBox fournit les outils, les frameworks et les tests nécessaires pour exécuter des tests fonctionnels et de performances sur un appareil cible automobile et lors de l'utilisation d'un appareil associé.

L'image suivante illustre la conception générale d'un package CATBox.

CATBox

Figure 1 : Package CATBox

Tradefed

Tradefed est un framework de test continu Open Source utilisé pour exécuter des tests sur des appareils Android. Pour en savoir plus, consultez Présentation de Trade Federation.

Framework de test automobile

CATBox est basé sur un framework de test automobile appelé Spectatio, qui fournit des API pour tester diverses applications sur des appareils automobiles. Il est basé sur UI Automator, un framework de test Open Source qui fournit un ensemble d'API permettant de créer des tests d'UI qui interagissent avec les applications utilisateur et système.

Téléchargements de la suite de tests CATBox

Android 14

Android Automotive 14 est la version du jalon de développement dont le nom de code est U. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 14 :

Android 12

Android 12 est la version du jalon de développement dont le nom de code est S. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 12 :

Android 11

Android 11 est la version du jalon de développement dont le nom de code est R. Utilisez les liens suivants pour télécharger les suites de tests CATBox pour Android 11 :

Compiler CATBox

Utilisez la commande de compilation catbox une fois que le code Android AOSP est disponible sur le poste de travail local.

Pour créer le package CATBox en local :

  1. Sélectionnez la cible de l'appareil en fonction de l'architecture de l'appareil et exécutez la commande suivante :

    lunch <target>
  2. Pour compiler CATBox, exécutez la commande suivante :

    make catbox

    Cette commande crée le fichier android-catbox.zip dans le répertoire /out/host/linux-x86/catbox, qui peut ensuite être utilisé pour exécuter des tests.

Configurer l'environnement

La configuration de l'environnement requise pour exécuter les tests CATBox est semblable à la configuration de CTS. Pour configurer l'environnement, effectuez chacune des tâches suivantes :

Configurer et exécuter CATBox

Utilisez le framework de test Tradefed pour exécuter les tests sur les appareils Android. Avant de configurer CATBox, consultez la présentation de Trade Federation.

Pour configurer et exécuter CATBox, consultez les sections ci-dessous.

Configurer l'appareil

Avant d'exécuter un plan de test, procédez comme suit pour configurer votre appareil :

  1. Assurez-vous d'avoir installé les dernières versions d'Android Debug Bridge (adb) et d'Android Asset Packaging Tool (AAPT), et d'avoir ajouté l'emplacement de ces outils au chemin système de votre ordinateur. Pour en savoir plus, consultez ADB et AAPT.

  2. Connectez au moins un appareil et préparez l'appareil testé comme suit :

    1. Pour rétablir la configuration d'usine de l'appareil automobile, accédez à Paramètres > Système > Options de réinitialisation > Effacer toutes les données.

    2. Attendez que l'appareil redémarre automatiquement.

    3. Assurez-vous qu'adb est activé. Pour vérifier que l'appareil est disponible, exécutez la commande suivante :

      adb devices
    4. Pour activer le root, exécutez la commande suivante :

      adb -s DEVICE_SERIAL root

      Remplacez DEVICE_SERIAL par l'ID de série de l'appareil automobile.

    5. Connectez-vous à un réseau Wi-Fi.

Extraire le package CATBox

Après avoir configuré l'appareil, décompressez le package CATBox et accédez au dossier extrait :

unzip android-catbox.zip
cd android-catbox

Exécuter des tests dans CATBox

Pour exécuter CATBox avec les plans de test du package CATBox :

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

Remplacez DEVICE_SERIAL par l'ID de série de l'appareil automobile. Si plusieurs appareils sont connectés à la machine hôte, utilisez DEVICE_SERIAL pour les distinguer. Remplacez TEST_PLAN_NAME par le nom du plan de test que vous souhaitez exécuter.

Pour obtenir la liste la plus complète des forfaits disponibles, utilisez la ligne de commande :

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

Types de plans de test

Le tableau suivant affiche les plans de test fonctionnels disponibles.

Plans de tests fonctionnels Description
catbox-functional Tests fonctionnels
catbox-functional-app-info-setting Tests fonctionnels du paramètre "Infos sur l'appli".
catbox-functional-admin-user-grant-permissions Tests fonctionnels pour accorder des autorisations aux utilisateurs administrateurs.
catbox-functional-app-info-setting-ui-elements Tests fonctionnels du paramètre "Infos sur l'appli".
catbox-functional-appgrid Tests fonctionnels de la grille d'applications.
catbox-functional-base Liste des tests fonctionnels.
catbox-functional-bluetooth-audio Tests fonctionnels de l'audio Bluetooth.
catbox-functional-bluetooth-palette Tests fonctionnels de la barre d'état.
catbox-functional-bluetooth-tests Tests Bluetooth avec Mobly.
catbox-functional-brightness-palette Tests fonctionnels de la barre d'état.
catbox-functional-btmoped Tests fonctionnels basés sur le cyclomoteur Bluetooth.
catbox-functional-date-time-setting Tests fonctionnels des paramètres de date et d'heure.
catbox-functional-dial Tests fonctionnels du sélecteur.
catbox-functional-display-setting Tests fonctionnels des paramètres d'affichage.
catbox-functional-driving-optimized-apps Tests fonctionnels des restrictions UX.
catbox-functional-enable-developers-option Activez les tests fonctionnels des options pour les développeurs.
catbox-functional-home Tests fonctionnels pour la maison.
catbox-functional-lock-screen Tests fonctionnels de l'écran de verrouillage.
catbox-functional-mediacenter Tests fonctionnels du centre multimédia.
catbox-functional-microphone-recent-apps Tests fonctionnels des paramètres du micro.
catbox-functional-microphone-setting Tests fonctionnels des paramètres du micro.
catbox-functional-multiuser Tests fonctionnels multi-utilisateurs.
catbox-functional-multiuser-system-user Tests fonctionnels multi-utilisateurs.
catbox-functional-navigation-bar Tests fonctionnels de la barre de navigation.
catbox-functional-network-palette Tests fonctionnels de la barre d'état.
catbox-functional-network-setting Tests fonctionnels des paramètres réseau.
catbox-functional-notification Tests fonctionnels des notifications.
catbox-functional-privacy-permission-manager Tests fonctionnels du paramètre d'autorisation de l'application concernant la confidentialité.
catbox-functional-privacy-setting Tests fonctionnels des paramètres du micro.
catbox-functional-privacy-setting-ui-elements Tests fonctionnels des paramètres de confidentialité.
catbox-functional-profile-icon Tests fonctionnels de la barre d'icônes de profil.
catbox-functional-profiles-icon-list Tests de la liste des icônes de profil.
catbox-functional-security-setting Tests fonctionnels des paramètres de sécurité.
catbox-functional-setting Configurer des tests fonctionnels
catbox-functional-settings-location Définir des tests de localisation.
catbox-functional-sound-setting Tests fonctionnels des paramètres audio.
catbox-functional-status-bar Tests fonctionnels de la barre d'état.
catbox-functional-storage-setting Tests fonctionnels des paramètres de stockage.
catbox-functional-system-setting Tests fonctionnels des paramètres système.
catbox-functional-systemui Tests de l'interface utilisateur du système.
catbox-functional-ux-restriction Tests fonctionnels des restrictions UX.
catbox-functional-ux-restriction-facet-bar Tests fonctionnels des restrictions UX.

Le tableau suivant répertorie les plans de test des performances CATBox.

Plans de tests de performances Description
catbox-performance-cold-app-start-up-dialer Test de performances de démarrage à froid de l'appli Téléphone.
catbox-performance-cold-app-start-up-mediacenter Test de performances de démarrage à froid de l'application pour le Centre multimédia.
catbox-performance-cold-app-start-up-settings Test de performances de démarrage à froid de l'application pour les paramètres.
catbox-performance-create-and-switch-to-new-guest Mesurez la latence pour passer à un nouvel invité.
catbox-performance-create-and-switch-to-new-user Mesurez la latence pour passer à un nouvel utilisateur non administrateur.
catbox-performance-hot-app-start-up-dialer Test de performances de démarrage à chaud de l'appli Téléphone et du clavier de numérotation.
catbox-performance-hot-app-start-up-mediacenter Test de performances de démarrage à chaud de l'application pour le Centre multimédia.
catbox-performance-hot-app-start-up-settings Test de performances de démarrage à chaud de l'application Paramètres.
catbox-performance-jank-appgrid Test de performances pour Appgrid.
catbox-performance-jank-contact-list Test de performances pour Contacts.
catbox-performance-jank-media Tests de performances pour Media.
catbox-performance-jank-media-switch-playback Test de performances pour la lecture du changement de support multimédia.
catbox-performance-jank-notifications Test de performances pour les notifications.
catbox-performance-jank-settings Test de performances pour les paramètres.
catbox-performance-switch-to-existing-user Mesurez la latence pour passer à un utilisateur existant.

Exécuter le test côté hôte multi-appareil

L'exécution de tests côté hôte multidétecteur utilise CATBox pour exécuter le test en une seule session. Par exemple, 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 installe apk, puis le test est exécuté dans l'environnement d'exécution Python approprié.

Examiner les résultats des tests CATBox

Les résultats des tests fonctionnels et de performances sont enregistrés dans android-catbox/results/latest.

Type de résultat Position
Résultats du test test_result.xml
Détails des tests d'échec test_result_failures_suite.html
Résultats des métriques de performances /report-log-files/CatboxPerformanceTests.reportlog.json
Exécutions de tests fonctionnels et de performances /android-catbox/logs/latest