Tests de performances

Les performances d'exécution de l'application peuvent être divisées en tests locaux et tests sur le terrain. Gardez à l'esprit que ces deux domaines fournissent des résultats et des métriques différents. Tant que les résultats sont en eux-mêmes concluants, cette divergence est acceptable.

Test sur le terrain

Les tests sur le terrain vous aident à comprendre les performances d'une application avec des utilisateurs réels dans des conditions réelles. Il s'agit d'un domaine important qui permet de comprendre les performances d'une application sur le terrain. Vous pouvez utiliser des outils tels que Google Play Vitals et Firebase Performance Monitoring pour obtenir des métriques sur le terrain auprès des utilisateurs.

Vous pouvez utiliser la bibliothèque de traçage AndroidX pour ajouter des points de trace qui fournissent plus de contexte et d'informations sur les métriques de champ.

Vous pouvez également utiliser ApplicationStartInfo et ApplicationExitInfo pour obtenir des informations plus détaillées sur le démarrage et la fermeture de l'application par les utilisateurs.

La bibliothèque AndroidX JankStats permet d'agréger et de générer des rapports sur les frames lents et abandonnés pour une analyse plus approfondie.

Test local

Pour tester en local les performances d'exécution d'une application, nous fournissons la bibliothèque d'analyse comparative. Elle se divise en deux bibliothèques : la bibliothèque macrobenchmark, qui permet de tester les performances de l'ensemble des parcours utilisateur, et la bibliothèque microbenchmark, qui permet d'analyser les performances des boucles chaudes d'une application ou d'une bibliothèque.

Tous les tests de performances doivent être exécutés sur un appareil physique. C'est le seul moyen de vous assurer que les performances que vous mesurez correspondent aux performances réelles sur un appareil. Les tests de performances d'exécution produisent des résultats différents en fonction de l'appareil sur lequel ils s'exécutent et de son activité.

Les performances de l'application peuvent régresser. Pour éviter les régressions, il est important d'exécuter fréquemment des tests de performances. Dans un scénario idéal, une application est benchmarkée chaque fois qu'une nouvelle fonctionnalité est ajoutée ou qu'un code est fusionné dans la branche principale. Le minimum de surveillance des performances consiste à comparer les versions candidates et à vérifier que le temps de démarrage et le code temporel des frames ne régressent pas pour les principaux parcours utilisateur. Nous vous recommandons d'exécuter des analyses comparatives chaque fois que cela est possible, par exemple avant de fusionner une fonctionnalité dans la branche principale ou pour les builds quotidiens.

Utiliser les résultats

Les tests de performances sont un processus continu. Nous vous recommandons de stocker les résultats des tests de performances de manière à pouvoir les comparer au fil du temps.

Vous pouvez utiliser les résultats des tests de performances de plusieurs manières.

  • Amélioration des performances : utilisez les résultats des mesures pour prioriser l'amélioration des performances
  • Éviter les régressions : assurez-vous qu'il n'y a pas de régression des performances avec les nouvelles versions.
  • Surveillance de la production : identifiez les problèmes que vous ne voyez pas pendant le développement.

Pour en savoir plus sur les tests de performances de l'environnement d'exécution Android, consultez le guide des performances des applications.