Principes de base des tests Android

1. Avant de commencer

Cet atelier de programmation vous explique comment effectuer des tests et comment les automatiser dans les applications Android.

Conditions préalables

  • Vous savez comment accéder aux répertoires de projets dans Android Studio.

Points abordés

  • En quoi consistent les tests ?
  • En quoi consistent les tests automatisés ?
  • En quoi consistent les tests unitaires et les tests d'instrumentation ?
  • Où se trouvent les fichiers des tests unitaires et des tests d'instrumentation dans un projet Android ?

Ce dont vous avez besoin

2. En quoi consistent les tests ?

Dans le contexte des logiciels, les tests constituent une méthode structurée qui permet de vérifier que tout fonctionne comme prévu. Les tests automatisés sont des lignes de code qui vérifient qu'un autre élément de code que vous avez écrit fonctionne correctement.

Le fait de tester un logiciel est particulièrement utile, car cela vous permet d'éliminer les bugs avant de publier votre code. C'est une étape essentielle pour assurer une expérience utilisateur positive.

Bien que des tests manuels soient presque toujours nécessaires, les tests sous Android peuvent souvent être automatisés. Dans le cours sur les principes de base d'Android en Kotlin, vous vous concentrez sur les tests automatisés afin de vérifier le code de l'application et les exigences fonctionnelles de l'application elle-même. Dans cet atelier de programmation, vous allez découvrir les principes de base des tests sur Android. Dans les prochains ateliers, vous vous pencherez sur des pratiques plus avancées pour tester les applications Android.

À mesure que vous vous familiarisez avec le développement et les tests d'applications Android, habituez-vous à créer régulièrement des tests en parallèle à la création du code de votre application. En créant un test à chaque fois que vous ajoutez une fonctionnalité à votre application, vous réduisez la charge de travail à mesure que votre application prend de l'ampleur. Cela permet également de s'assurer que votre application fonctionne correctement sans passer trop de temps à la tester manuellement.

3. Présentation des tests automatisés

Un test automatisé est un extrait de code qui garantit qu'un autre extrait de code que vous avez écrit fonctionne comme prévu et continue de fonctionner comme prévu à mesure que votre projet évolue. Les tests automatisés sont un élément essentiel de tout développement logiciel, et Android ne fait pas exception. Il semble donc opportun de les présenter ici. Lorsque vous avez créé votre première application Android, vous avez probablement constaté que votre activité principale se trouvait dans un sous-dossier du répertoire main. Dans le répertoire src, vous avez peut-être également remarqué les répertoires test et androidTest. Ces deux répertoires représentent l'endroit où le code de test est écrit. Il existe deux types de tests automatisés dans le développement Android : les tests unitaires et les tests d'instrumentation. Ces deux répertoires représentent ces deux catégories de tests.

59a85b0d54051f31.png

Localiser le code des tests unitaires

Les tests locaux sur Android, qui sont habituellement des tests unitaires, se trouvent dans le répertoire test. Les tests unitaires testent directement un petit extrait de code pour vérifier qu'il fonctionne comme prévu. Ils vous permettent de tester des fonctions, des classes et des propriétés. Les tests locaux sont exécutés sur la machine virtuelle Java, ce qui signifie qu'ils s'exécutent dans un environnement de développement sans nécessiter d'appareil ni d'émulateur. Autrement dit, les tests unitaires sont exécutés sur votre ordinateur. Android Studio est conçu pour exécuter automatiquement des tests en local.

Android Studio génère automatiquement un test unitaire simple à chaque fois que vous créez un projet. Il en va de même pour les tests d'instrumentation. Notez que ces tests ne font rien de particulier. Ils servent uniquement d'espace réservé. Pour le moment, vous verrez uniquement où trouver ces fichiers de test. Vous découvrirez le contenu de ces tests dans un parcours ultérieur.

Pour déterminer l'emplacement du code des tests unitaires, procédez comme suit :

  1. Ouvrez l'application de carte d'anniversaire du projet précédent.
  2. Si nécessaire, sélectionnez Android dans le menu de navigation.
  3. Cliquez sur app > java > com.example.happybirthday (test) > ExampleUnitTest.

66ea4f322cab41f5.png

Localiser le code des tests d'instrumentation

Dans le contexte du développement Android, le terme "test d'instrumentation" désigne généralement un test d'interface utilisateur (ou test d'UI). Les tests d'instrumentation vous permettent de vérifier des parties d'une application qui dépendent des cycles de vie d'activités et de fragments, ainsi que des API et des services de la plate-forme.

Contrairement aux tests unitaires, les tests de l'interface utilisateur ne testent pas directement le code. Au lieu de cela, ils testent l'interface utilisateur afin de s'assurer qu'elle affiche les composants d'UI appropriés et qu'elle fonctionne comme prévu lorsque des actions y sont effectuées. Une autre différence est que tous les tests d'instrumentation doivent être exécutés sur un appareil physique ou dans un émulateur. Dans un parcours précédent, vous avez configuré un émulateur. Vous n'avez donc plus à effectuer cette étape.

Lorsque vous exécutez un test d'instrumentation sur Android, le code de test est en fait intégré à son propre fichier APK, tout comme une application Android standard. Un fichier APK est un fichier compressé contenant tout le code et les fichiers nécessaires à l'exécution de l'application sur un appareil ou dans un émulateur. Le fichier APK de test est installé sur l'appareil ou dans l'émulateur avec le fichier APK standard de l'application. Il effectue ses tests par rapport au fichier APK de l'application.

Avant d'exécuter le test, examinez ce que fait le code.

Pour trouver le code des tests d'instrumentation, procédez comme suit :

  1. Si vous êtes dans la vue de projet Android, cliquez sur app > java > com.example.happybirthday (androidTest) > ExampleInstrumentedTest.

b5cff05a589025b1.png

  1. Si vous êtes dans la vue Projet, cliquez sur HappyBirthday > app > src > androidTest > java > com.example.happybirthday > ExampleInstrumentedTest.

610a4d073109ae0d.png

4. Félicitations

Vous savez maintenant en quoi consistent les tests sur Android, et où se trouvent les tests unitaires et les tests d'instrumentation sur cette plate-forme.