Guide de test d'Android 6.0

Android 6.0 vous permet de vous assurer que vos applications fonctionnent avec la prochaine version de la plate-forme. Cette version inclut un certain nombre d'API et de modifications de comportement pouvant avoir un impact sur votre application, comme décrit dans les sections Présentation de l'API et Modifications de comportement. Lorsque vous testez votre application avec cette version, vous devez vous concentrer sur certaines modifications système spécifiques pour vous assurer que les utilisateurs bénéficient d'une bonne expérience.

Ce guide explique comment tester les fonctionnalités d'Android 6.0 avec votre application et comment les tester. Vous devez tester en priorité ces fonctionnalités spécifiques, en raison de leur fort potentiel d'impact sur le comportement de votre application:

Tester les autorisations

Le nouveau modèle Autorisations modifie la façon dont l'utilisateur attribue des autorisations à votre application. Au lieu d'accorder toutes les autorisations lors de la procédure d'installation, votre application doit demander à l'utilisateur des autorisations individuelles au moment de l'exécution. Pour les utilisateurs, ce comportement offre un contrôle plus précis sur les activités de chaque application, ainsi qu'un meilleur contexte pour comprendre pourquoi l'application demande une autorisation spécifique. Les utilisateurs peuvent accorder ou révoquer les autorisations accordées individuellement à une application à tout moment. Cette fonctionnalité de la version aura très probablement un impact sur le comportement de votre application et peut empêcher certaines de ses fonctionnalités de fonctionner, ou elles peuvent fonctionner de manière dégradée.

Cette modification affecte toutes les applications exécutées sur la nouvelle plate-forme, même celles qui ne ciblent pas la nouvelle version de la plate-forme. La plate-forme offre un comportement de compatibilité limité pour les anciennes applications, mais vous devez commencer à planifier la migration de votre application vers le nouveau modèle d'autorisations dès maintenant, dans le but de publier une version mise à jour de votre application lors du lancement officiel de la plate-forme.

Conseils pour les tests

Utilisez les conseils de test suivants pour vous aider à planifier et à exécuter les tests de votre application avec le nouveau comportement des autorisations.

  • Identifier les autorisations actuelles de votre application et les chemins d'accès de code associés
  • Testez les parcours utilisateur sur l'ensemble des données et services protégés par des autorisations.
  • Effectuez un test avec différentes combinaisons d'autorisations accordées/révoquées.
  • Utilisez l'outil adb pour gérer les autorisations à partir de la ligne de commande :
    • Listez les autorisations et l'état par groupe :
      adb shell pm list permissions -d -g
    • Accordez ou révoquez une ou plusieurs autorisations à l'aide de la syntaxe suivante:
      adb shell pm [grant|revoke] <permission.name> ...
  • Analysez votre application pour identifier les services qui utilisent des autorisations.

Stratégie de test

Le changement d'autorisations affecte la structure et la conception de votre application, ainsi que l'expérience utilisateur et les flux que vous proposez. Vous devez évaluer l'utilisation actuelle des autorisations de votre application et commencer à planifier les nouveaux flux que vous souhaitez proposer. La version officielle de la plate-forme fournit un comportement de compatibilité, mais vous devez planifier la mise à jour de votre application et ne pas vous fier à ces comportements.

Identifiez les autorisations dont votre application a réellement besoin et qu'elle utilise, puis recherchez les différents chemins de code qui utilisent les services protégés par autorisation. Pour ce faire, vous pouvez combiner des tests sur la nouvelle plate-forme et une analyse du code. Lors des tests, vous devez vous concentrer sur l'activation des autorisations d'exécution en remplaçant le targetSdkVersion de l'application par le niveau d'API 23.

Testez différentes combinaisons d'autorisations révoquées et ajoutées pour mettre en évidence les flux utilisateur qui dépendent des autorisations. Lorsqu'une dépendance n'est pas évidente ni logique, vous devez envisager de refactoriser ou de compartimenter ce flux pour éliminer la dépendance ou indiquer clairement pourquoi l'autorisation est nécessaire.

Pour en savoir plus sur le comportement des autorisations d'exécution, les tests et les bonnes pratiques, consultez la page Utiliser des autorisations système.

Tester les fonctionnalités Sommeil et Mise en veille des applications

Les fonctionnalités d'économie d'énergie de Doze et de la mise en veille des applications limitent la quantité de traitement en arrière-plan que votre application peut effectuer lorsqu'un appareil est inactif ou lorsque votre application n'est pas active. Les restrictions que le système peut imposer aux applications incluent l'accès limité ou l'absence d'accès au réseau, la suspension des tâches en arrière-plan, des notifications suspendues, des requêtes de wakelock ignorées et des alarmes. Pour vous assurer que votre application se comporte correctement avec ces optimisations d'économie d'énergie, vous devez la tester en simulant ces états à faible consommation d'énergie.

Tester votre application avec Doze

Pour tester la fonctionnalité Sommeil avec votre application:

  1. Configurez un appareil physique ou virtuel avec une image système Android 7.0 (niveau d'API 24).
  2. Connectez l'appareil à votre ordinateur de développement et installez votre application.
  3. Exécutez votre application et laissez-la active.
  4. Simulez le passage de l'appareil en mode Doze en exécutant les commandes suivantes:
    $ adb shell dumpsys battery unplug
    $ adb shell dumpsys deviceidle step
    $ adb shell dumpsys deviceidle -h
  5. Observez le comportement de votre application lorsque l'appareil est réactivé. Assurez-vous que la restauration se déroule normalement lorsque l'appareil quitte le mode Sommeil.

Tester des applications avec la mise en veille des applications

Pour tester le mode Mise en veille des applications avec votre application:

  1. Configurez un appareil physique ou virtuel avec une image système Android 7.0 (niveau d'API 24).
  2. Connectez l'appareil à votre ordinateur de développement et installez votre application.
  3. Exécutez votre application et laissez-la active.
  4. Exécutez les commandes suivantes pour simuler le passage de l'application en mode veille:
    $ adb shell am broadcast -a android.os.action.DISCHARGING
    $ adb shell am set-idle <packageName> true
  5. Simulez l'activation de votre application à l'aide de la commande suivante:
    $ adb shell am set-idle <packageName> false
  6. Observez le comportement de votre application lorsqu'elle est réveillée. Assurez-vous qu'il récupère correctement à partir du mode veille. En particulier, vous devez vérifier si les notifications et les tâches en arrière-plan de votre application continuent de fonctionner comme prévu.

Sauvegarde automatique des applications et identifiants spécifiques à l'appareil

Si votre application conserve des identifiants spécifiques à l'appareil, tels que l'ID d'enregistrement Google Cloud Messaging, dans l'espace de stockage interne, veillez à suivre les bonnes pratiques pour exclure l'emplacement de stockage de la sauvegarde automatique, comme décrit dans Sauvegarder les données utilisateur avec la sauvegarde automatique.