Blog Alphorm Logo de blog informatique spécialisé en technologie et solutions IT
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Rapports de couverture Jacoco et qualité du code
Agrandisseur de policeAa
Blog AlphormBlog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Search
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
Suivez-nous
© Alphorm 2024 - Tous droits réservés
Développement

Rapports de couverture Jacoco et qualité du code

L'Équipe Alphorm Par L'Équipe Alphorm 18 janvier 2025
Partager
Partager

La qualité du code est souvent compromise par des tests incomplets.

Cela peut entraîner des bugs non détectés et une application peu fiable.

Jacoco offre une solution en générant des rapports détaillés de couverture de code, permettant d’optimiser les efforts de test.

Table de matière
Exécution des tests Jacoco AndroidAnalyser les résultats de couvertureRapport HTML de couverture JacocoFAQConclusion

Formation Robolectric et Jacoco - Test Driven Design d'une application Android

Développez des applications Android solides, fiables et efficaces avec une approche TDD

Découvrir cette formation

Jacoco est un outil permettant de générer des rapports de couverture de code, c’est-à-dire de mesurer combien de lignes de code sont couvertes par des tests automatisés. Cette mesure est essentielle pour s’assurer que le code testé est représentatif du comportement réel de l’application.

Cette figure illustre le processus de mesure de la couverture de code à travers l’exécution de tests automatisés. Elle commence par l’ exécution des tests , qui permet de vérifier le comportement du code, suivie de la collecte des données de couverture , où des informations sont recueillies sur quelles parties du code ont été testées. Ensuite, ces données sont utilisées pour générer des rapports de couverture , fournissant des insights précieux qui permettent d’ améliorer la qualité du code en identifiant les zones qui nécessitent plus de tests

Diagramme du processus de couverture Jacoco

Exécution des tests Jacoco Android

Une fois la tâche définie, vous pouvez l’exécuter via le terminal d’Android Studio. Utilisez la commande suivante pour nettoyer les anciens fichiers générés et exécuter les tests :

Question : Comment l’utilisation de Jacoco pour mesurer la couverture de code peut-elle influencer la qualité de votre application et guider vos décisions sur les parties du code qui nécessitent des tests supplémentaires ?

La commande ./gradlew clean debugCoverage exécute deux tâches dans un projet Gradle. D’abord, clean supprime les fichiers générés lors des constructions précédentes, assurant ainsi un environnement propre, puis debugCoverage exécute les tests tout en collectant les données de couverture de code, permettant d’analyser la couverture des tests pour le code en mode débogage.

				
					
./ gradlew clean debugCoverage

				
			

Voici le résultat dans terminal :

Cette figure montre la sortie d’une exécution de la commande ./gradlew clean debugCoverage dans le terminal d’un projet Android. Le message indique que la construction a réussi en 5 secondes, avec un total de 23 tâches exécutées, ce qui inclut la compilation des tests unitaires en mode débogage et la collecte des données de couverture. De plus, il est mentionné que le test de la classe CoureurDomainModelTest a été démarré et a réussi, ce qui suggère que la commande a permis d’exécuter avec succès les tests tout en générant des informations sur la couverture de code

Sortie terminal avec commande Gradle et Jacoco

Cette commande effectue les actions suivantes :

  • Clean :supprime les fichiers générés précédemment.
  • debugCoverage :exécute les tests unitaires et génère un rapport de couverture.
Action
Description
Impact
Clean
Supprime tous les fichiers générés précédemment lors de la compilation ou des tests.
Libère de l’espace et garantit que les prochaines exécutions commencent avec un état propre.
debugCoverage
Exécute tous les tests unitaires dans le mode de débogage et génère un rapport de couverture du code.
Permet de vérifier quelles parties du code sont testées, aidant à identifier les zones à améliorer.

Analyser les résultats de couverture

Les rapports Jacoco sont générés sous forme de fichiers HTML situés dans le répertoire build/reports/jacoco/debugCoverage/. Pour visualiser le rapport, ouvrez le fichier index.html dans un navigateur.

La commande open build/reports/jacoco/debugCoverage/index.html ouvre le fichier HTML généré par Jacoco qui contient le rapport de couverture de code après l’exécution des tests. Ce rapport fournit une vue d’ensemble visuelle des parties du code qui ont été testées, permettant aux développeurs d’identifier rapidement les zones qui nécessitent plus de tests ou des améliorations.

				
					
open build / reports / jacoco / debugCoverage / index.html

				
			

Cette figure montre la structure de fichiers générée par Jacoco dans un projet Android, spécifiquement dans le dossier jacoco/debugCoverage/html . On y trouve le fichier index.html , qui sert de point d’entrée pour visualiser le rapport de couverture, ainsi que jacoco-sessions.html et d’autres ressources nécessaires pour analyser la couverture du code après l’exécution des tests, permettant aux développeurs d’examiner facilement quelles parties du code sont couvertes par les tests.

Interface IDE avec fichiers Jacoco visibles

Le rapport contient des informations détaillées sur la couverture du code à différents niveaux

  • Packages :aperçu global de la couverture par package.
  • Classes :détails sur chaque classe.
  • Méthodes :vue granulaire des méthodes et branches testées.
Vue des fichiers rapport Jacoco dans l'explorateur

La figure au-dessus montre la structure du répertoire où les rapports générés par Jacoco sont stockés, spécifiquement dans le chemin tracker_domain/build/reports/jacoco . On y trouve le fichier index.html , qui sert de point d’entrée pour visualiser le rapport de couverture du code, ainsi que jacoco-sessions.html et d’autres ressources liées aux détails du modèle, facilitant l’analyse des résultats de couverture après l’exécution des tests.

Rapport HTML de couverture Jacoco

Lorsque vous consultez le rapport dans le navigateur, vous verrez un tableau récapitulant les métriques de couverture de test pour chaque package, classe et méthode.

Cette image affiche un rapport de couverture de code généré par Jacoco pour le module tracker_domain d’un projet Android. Le rapport indique que le fichier biz.ei6.trackerdomain.details.model a une couverture de code de 100 % , ce qui signifie que toutes les instructions de ce fichier ont été exécutées lors des tests. Les colonnes montrent également qu’aucune branche, ligne ou méthode n’a été manquée, confirmant que le code testé est entièrement couvert, ce qui est essentiel pour assurer la qualité et la robustesse du code.

Tableau de couverture JaCoCo pour tracker_domain
Astuce Pratique : Utilisez les métriques fournies dans le rapport, telles que la couverture des lignes et des branches, pour prioriser les tests sur les parties critiques de votre application, garantissant ainsi que les fonctionnalités essentielles sont bien testées et fiables.

Le rapport permet d’identifier rapidement quelles portions du code nécessitent plus de tests.

Rapport de couverture de code JaCoCo

La figure au-dessus présente un rapport de couverture de code pour la classe CoureurDomainModel , montrant que la méthode principale a une couverture de 100 % en termes d’instructions, indiquant que toutes les lignes de code ont été exécutées lors des tests. Les méthodes getId() et getNom() affichent également une couverture complète, mais il est noté qu’il y a un nombre d’instructions manquées dans le constructeur de la classe. Le rapport souligne ainsi que, bien que l’ensemble de la classe soit couvert, certaines instructions spécifiques du constructeur nécessitent peut-être une attention particulière pour améliorer la qualité des tests.

Formez-vous gratuitement avec Alphorm !

Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.

Démarrer gratuitement
illustration processus de paiement en ligne avec étapes claires et convivialité

FAQ

Comment Jacoco aide-t-il à améliorer la qualité du code ?
Jacoco améliore la qualité du code en générant des rapports de couverture détaillés qui indiquent quelles parties du code sont testées. Cela permet aux développeurs d’identifier les zones qui nécessitent des tests supplémentaires, assurant ainsi une couverture complète et une robustesse accrue du code. En fournissant des insights sur les parties du code non couvertes, Jacoco guide les efforts de test pour maximiser l’efficacité et la fiabilité des applications.
Quelles sont les étapes pour exécuter les tests avec Jacoco ?
Pour exécuter des tests avec Jacoco, commencez par nettoyer les fichiers générés précédemment avec la commande ‘./gradlew clean’. Ensuite, utilisez ‘./gradlew debugCoverage’ pour exécuter les tests unitaires et générer un rapport de couverture. Cette approche assure un environnement propre pour le test, et la génération du rapport fournit des informations précieuses sur la couverture du code. Ces étapes permettent une analyse approfondie du code testé, améliorant ainsi la qualité globale de l’application.
Comment visualiser les rapports de couverture générés par Jacoco ?
Pour visualiser les rapports de couverture générés par Jacoco, ouvrez le fichier ‘index.html’ situé dans le répertoire ‘build/reports/jacoco/debugCoverage/’ à l’aide d’un navigateur. Ce fichier fournit une vue d’ensemble des parties du code couvertes par les tests, avec des détails au niveau des packages, classes, et méthodes. Cette visualisation aide les développeurs à rapidement identifier les zones qui nécessitent des tests supplémentaires ou des améliorations.
Pourquoi est-il important de nettoyer les fichiers avant d'exécuter les tests ?
Nettoyer les fichiers avant d’exécuter les tests, avec la commande ‘./gradlew clean’, est crucial pour garantir un environnement de test propre. Cela supprime les fichiers générés lors des constructions précédentes, évitant ainsi les interférences et assurant que les résultats des tests reflètent précisément l’état actuel du code. Cette étape essentielle améliore la fiabilité des résultats des tests et contribue à une analyse plus précise de la couverture de code.
Quels types de métriques sont inclus dans un rapport Jacoco ?
Un rapport Jacoco inclut des métriques détaillées telles que la couverture par packages, classes, et méthodes. Ces métriques fournissent un aperçu global de la couverture de chaque composant du code, avec des détails sur les branches et lignes testées. En aidant à identifier les zones non couvertes, ces rapports sont essentiels pour diriger les efforts de test vers les parties critiques de l’application, garantissant une qualité et une fiabilité optimales.

Conclusion

En exploitant Jacoco pour la couverture de code, vous améliorez considérablement la qualité de vos applications. Quelles autres stratégies envisagez-vous pour optimiser vos tests logiciels ?

ÉTIQUETÉ : Android
Facebook
Twitter
LinkedIn
Email
WhatsApp
Par L'Équipe Alphorm
Démocratiser la Connaissance Informatique pour Tous !
Suivre :
L'Équipe Alphorm, c'est la démocratisation de la connaissance informatique. Passionnés et dévoués, nous sommes là pour vous guider vers le succès en rendant la technologie accessible à tous. Rejoignez notre aventure d'apprentissage et de partage. Avec nous, le savoir IT devient une ressource inspirante et ouverte à tous dans un monde numérique en constante évolution.

Derniers Articles

  • Techniques pour gérer les fichiers texte en C#
  • Créer et lire un fichier CSV avec C#
  • JSON : Comprendre et Utiliser Efficacement
  • Créer une Base SQLite dans C#
  • Lecture des données SQLite simplifiée
Laisser un commentaire Laisser un commentaire

Laisser un commentaire Annuler la réponse

Vous devez vous connecter pour publier un commentaire.

Blog Alphorm
  • Développement
  • 3D et Animation
  • Cybersécurité
  • Infrastructure
  • Virtualisation
  • Réseaux
  • Bureautique
  • BDD
En cours de lecture : Rapports de couverture Jacoco et qualité du code

© Alphorm - Tous droits réservés