Guide de test Android 6.0

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

Ce guide décrit quoi et comment tester les fonctionnalités d'Android 6.0 avec votre application. Nous vous conseillons de tester en priorité ces fonctionnalités spécifiques, en raison de leur impact potentiel élevé sur le comportement de votre application:

Tester les autorisations

Le nouveau modèle d'autorisations modifie la façon dont les autorisations sont allouées à votre application par l'utilisateur. Au lieu d'accorder toutes les autorisations au cours de la procédure d'installation, votre application doit demander à l'utilisateur les autorisations individuelles au moment de l'exécution. Pour les utilisateurs, ce comportement offre un contrôle plus précis des activités de chaque application et fournit un contexte plus clair pour comprendre pourquoi l'application demande une autorisation spécifique. Les utilisateurs peuvent accorder ou révoquer les autorisations accordées à une application individuellement à tout moment. Cette fonctionnalité de la version est le plus susceptible d'avoir un impact sur le comportement de votre application et peut empêcher le bon fonctionnement de certaines fonctionnalités, ou une dégradation.

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

Conseils de test

Utilisez les conseils de test suivants pour 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 des tests 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

Les modifications apportées aux autorisations affectent la structure et la conception de votre application, ainsi que l'expérience utilisateur et les flux que vous fournissez aux utilisateurs. 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 propose un comportement de compatibilité, mais vous devez planifier de mettre à jour votre application et ne pas compter sur 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 des autorisations. Pour ce faire, vous pouvez combiner des tests sur la nouvelle plate-forme et l'analyse du code. Lors des tests, vous devez vous concentrer sur l'activation des autorisations d'exécution en définissant le targetSdkVersion de l'application sur le niveau d'API 23.

Effectuez des tests avec différentes combinaisons d'autorisations révoquées et ajoutées pour mettre en évidence les parcours utilisateur qui dépendent d'autorisations. Lorsqu'une dépendance n'est pas évidente ou logique, vous devez envisager de refactoriser ou de compartimenter ce flux pour l'éliminer, ou pour expliquer 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 des fonctionnalités Sommeil et 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 un accès limité ou inexistant au réseau, des tâches en arrière-plan suspendues, des notifications suspendues, des requêtes de réveil 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 d'économie d'énergie.

Tester votre application avec la fonctionnalité Sommeil

Pour tester la fonctionnalité Sommeil avec votre application:

  1. Configurez un appareil physique ou un appareil 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 Sommeil 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 qu'il se rétablit correctement lorsque l'appareil quitte la fonctionnalité Sommeil.

Tester des applications avec App Standby

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

  1. Configurez un appareil physique ou un appareil 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'application en mode veille en exécutant les commandes suivantes :
    $ 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 activée. Assurez-vous qu'il récupère correctement le mode veille. Vérifiez en particulier 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 la mémoire de stockage interne, veillez à suivre les bonnes pratiques pour exclure l'emplacement de stockage de la sauvegarde automatique, comme décrit dans la section Sauvegarder des données utilisateur avec la sauvegarde automatique.