Optimiser le CTS

La suite de tests de compatibilité Android (CTS) fournit des millions de tests individuels. Bien qu'il soit nécessaire d'exécuter fréquemment CTS pendant la phase de développement logiciel, il est possible de réduire le temps nécessaire à l'exécution de ces tests.

Cette page décrit les méthodes que vous pouvez utiliser pour réduire la durée d'exécution des tests et comment pour optimiser les ressources matérielles dans le processus.

Partitionnement des appareils

Pour réduire le temps de cycle, envisagez d'exécuter le CTS sur plusieurs appareils (fractionnement). Pour savoir comment utiliser la segmentation, consultez Effectuez des tests CTS.

Android Test Station

Utilisez la station de test Android (ATS) pour exécuter des suites de test Android standards à l'aide d'une interface utilisateur. Cet outil sert d'interface Web pour la Trade Federation (TF), ce qui vous permet d'exécuter la CTS avec une configuration minimale sur un ensemble d'appareils de test, ainsi que d'établir un calendrier pour exécuter des tests en continu.

La station de test Android est compatible avec le mode multi-hôte, qui permet d'utiliser un seul hôte de contrôleur ATS pour gérer les appareils et les tests sur plusieurs hôtes de travail ATS.

Exécution continue de l'émulateur

Pour exécuter CTS en continu pendant la phase de développement, Appareils virtuels Android (AVD) peut être utilisé à la place du matériel. Les régressions des échecs de test peuvent être identifiées rapidement, ce qui permet de gagner beaucoup de temps nécessaire pour trier et analyser les causes profondes. Plusieurs instances de l'émulateur peuvent être utilisées pour la segmentation et est programmée pour fonctionner en continu avec la station d'essai Android.

Programme qualité drawElements (dEQP)

La Programme de qualité drawElements (dEQP) est inclus dans Android CTS. Ce programme, intitulé CtsDepqTestCases, est axé sur la couverture de test des éléments graphiques Android. Ce module représente près de 80 % dans les scénarios de test dans Android CTS et représentent 6% du temps d'exécution total.

Étant donné que les pilotes graphiques Android font partie du micrologiciel Android (BSP) et ne changent beaucoup au cours du développement, vous pouvez exécuter ce module stratégiquement. Par exemple, si vous exécutez CTS toutes les deux semaines (ou moins) pendant le développement logiciel, en fonction du calendrier de mise à jour du micrologiciel, vous pouvez exclure ce module pendant plusieurs cycles.

Une option consiste à exécuter CtsDeqpTestCases séparément sur un ensemble d'appareils, puis à envoyer les rapports CTS. Par exemple, sur deux hôtes différents.

Hôte 1:

cts-tf > run cts --max-log-size 100 --shard-count 6 -o -m CtsDeqpTestCases

Hôte 2 :

cts-tf > run cts --max-log-size 100 --shard-count 6 -o --exclude-filter CtsDeqpTestCases

Scénarios de test des contenus multimédias

Les scénarios de test multimédias vérifient les services multimédias tels que l'audio, la vidéo et les pilotes multimédias. Ces modules de test multimédias contribuent le plus au temps d'exécution du CTS. Des retards peuvent survenir dans les cas suivants:

  • Téléchargement de fichiers multimédias ou lecture répétée de fichiers multimédias pendant les tests
  • Nouvelle tentative ayant échoué pour les scénarios de test.

Android CTS contient les modules de test suivants:

  • CtsMediaStressTestCases
  • CtsMediaPlayerTestCases
  • CtsMediaAudioTestCases
  • CtsVideoTestCases
  • CtsMediaDecoderTestCases
  • CtsMediaCodecTestCases
  • CtsMediaV2TestCases

Envisagez d'exécuter des tests multimédias localement ou sur un serveur local. Pour en savoir plus, consultez la section Exécuter des tests multimédias CTS localement.

Le framework multimédia et ses pilotes (décodeurs et encodeurs) font partie du micrologiciel Android (BSP). Vous pouvez exécuter ce module de manière stratégique et exclure ces modules pendant plusieurs cycles, en fonction du calendrier de mise à jour du micrologiciel.