Examiner les résultats du test

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Les tests automatisés peuvent être configurés pour s’exécuter dans le cadre d’une build ou d’une version pour différents langages. Les rapports de test fournissent un moyen efficace et cohérent d’afficher les résultats des tests exécutés à l’aide de différents frameworks de test, afin de mesurer la qualité du pipeline, d’examiner la traçabilité, de résoudre les échecs et de piloter la propriété des échecs. En outre, ils fournissent de nombreuses fonctionnalités de création de rapports avancées explorées dans les sections suivantes.

Vous pouvez également effectuer une analyse plus approfondie des résultats des tests à l’aide du service Analytics. Pour obtenir un exemple d’utilisation de cela avec vos pipelines de build et de déploiement, consultez Analyser les résultats des tests.

Lisez le glossaire pour comprendre la terminologie des rapports de test.

Les résultats des tests publiés peuvent être affichés sous l’onglet Tests dans un récapitulatif de build ou de mise en production.

Exposer les résultats des tests sous l’onglet Tests

Les résultats des tests peuvent être exposés sous l’onglet Tests à l’aide de l’une des options suivantes :

  • Résultats des tests déduits automatiquement. Par défaut, votre pipeline peut déduire automatiquement la sortie de test pour quelques exécuteurs de test populaires. Analysez les journaux d'erreurs générés pendant l'opération de build, puis vérifiez les signatures d'échecs des tests. Actuellement, Azure DevOps prend en charge les langages et exécuteurs de test suivants pour déduire automatiquement les résultats des tests :

  • Tâches d’exécution de tests. Tâches d’exécution de tests intégrées telles que Visual Studio Test qui publient automatiquement les résultats des tests dans le pipeline, ou d’autres telles que Ant, Maven, Gulp, Grunt et Xcode , qui fournissent cette fonctionnalité en tant qu’option dans la tâche.

  • Tâche de publication de résultats des tests Tâche qui publie les résultats des tests sur Azure Pipelines ou TFS lorsque les tests sont exécutés à l’aide de l’exécuteur de votre choix et que les résultats sont disponibles dans l’un des formats de résultats de test pris en charge.

  • API(s). Résultats des tests publiés directement à l’aide de l’API Gestion des tests.

Exposer des informations de test au-delà de l’onglet Tests

L’onglet Tests fournit un récapitulatif détaillé de l’exécution des tests. Cela est utile pour suivre la qualité du pipeline, ainsi que pour résoudre les échecs. Azure DevOps fournit également d’autres moyens d’exposer les informations de test :

Afficher les résultats des tests dans la build

Le récapitulatif de build fournit une vue chronologique des étapes clés exécutées dans la build. Si des tests ont été exécutés et signalés dans le cadre de la build, un jalon de test s’affiche dans la vue chronologique. Le jalon de test fournit un récapitulatif des résultats des tests en tant que mesure du pourcentage de réussite, ainsi que des indicateurs d’échecs et d’abandons, le cas échéant.

Afficher le test dans l’affichage chronologique de build

Afficher les résultats des tests dans la mise en production

Dans la vue pipeline, vous pouvez voir toutes les phases et les tests associés. La vue fournit un récapitulatif des résultats des tests en tant que mesure du pourcentage de réussite, ainsi que des indicateurs d’échecs et d’abandons, le cas échéant. Ces indicateurs sont identiques à ceux de la vue chronologique de build, ce qui offre une expérience cohérente entre la build et la mise en production.

Afficher le test dans la vue canevas de mise en production

Onglet Tests

Les récapitulatifs de build et de mise en production fournissent des détails sur l’exécution des tests. Choisissez Récapitulatif du test pour afficher les détails sous l’onglet Tests. Cette page comporte les sections suivantes :

  • Récapitulatif : fournit des métriques quantitatives clés pour l’exécution des tests, telles que le nombre total de tests, les tests ayant échoué, le pourcentage de réussite, etc. Fournit également des indicateurs différentiels de changement par rapport à l’exécution précédente.

  • Résultats : liste tous les tests exécutés et signalés dans le cadre de la build ou de la mise en production actuelle. La vue par défaut affiche uniquement les tests ayant échoué et abandonnés, afin que vous puissiez vous concentrer sur les tests qui nécessitent une attention particulière. Toutefois, vous pouvez choisir d’autres résultats à l’aide des filtres fournis.

  • Détails : liste de tests que vous pouvez trier, regrouper, rechercher et filtrer pour trouver les résultats des tests dont vous avez besoin.

Onglet Afficher les tests

Sélectionnez une série de tests ou un résultat pour afficher un volet d’informations supplémentaires requises pour la résolution des problèmes, telles que le message d’erreur, la trace de la pile, les pièces jointes, les éléments de travail, la tendance historique, etc.

Onglet Afficher les détails

Conseil

Si vous utilisez la tâche Visual Studio Test pour exécuter des tests, la sortie de diagnostic journalisée à partir des tests (à l’aide d’une méthode Console.WriteLine, Trace.WriteLine ou TestContext.WriteLine) s’affiche en tant que pièce jointe pour un test ayant échoué.

Les fonctionnalités suivantes de l’onglet Tests permettent d’améliorer la productivité et l’expérience de résolution des problèmes.

Filtrer un grand nombre de résultats des tests

Avec le temps, les tests s’accumulent, et les applications volumineuses peuvent facilement atteindre des dizaines de milliers de tests. Pour ces applications avec de très nombreux tests, il peut être difficile de parcourir les résultats pour identifier les échecs de test, associer des causes racines ou obtenir la propriété des problèmes. Les filtres facilitent la navigation rapide vers les résultats des tests qui vous intéressent. Vous pouvez filtrer sur Nom du test, Résultat (échec, réussite, etc.), Fichiers de test (fichiers contenant des tests) et Propriétaire (pour les fichiers de test). Tous les critères de filtre sont cumulatifs par nature.

Filtrer un grand jeu de résultats de tests

En outre, avec plusieurs options de regroupement telles que Exécution de test, Fichier de test, Priorité, Exigence, etc., vous pouvez organiser la vue Résultats exactement comme vous le souhaitez.

Gestion de la dette de test avec des bogues

Pour gérer votre dette de test pour les échecs de test ou les tests de longue durée, vous pouvez créer un bogue ou ajouter des données à un bogue existant et afficher tous les éléments de travail associés sous l’onglet Élément de travail.

Expérience de résolution des problèmes immersive

Les messages d’erreur et les traces de pile sont longs par nature et nécessitent suffisamment de ressources pour afficher les détails pendant la résolution des problèmes. Pour fournir une expérience de résolution des problèmes immersive, la vue Détails peut être développée en mode pleine page tout en vous permettant d’effectuer les opérations requises dans le contexte, telles que la création de bogues ou l’association d’exigences pour le résultat de test sélectionné.

Affichage du panneau pleine page

Résolution des problèmes de données pour un échec de test

Pour les échecs de test, les messages d’erreur et les traces de pile sont disponibles pour la résolution des problèmes. Vous pouvez également afficher toutes les pièces jointes associées à l’échec de test sous l’onglet Pièces jointes.

Gestion de la dette de test

Vous pouvez créer ou ajouter à un bogue existant pour gérer la dette de test en cas d’échecs ou de tests de longue durée. L’onglet Éléments de travail détaille tous les bogues et exigences associés à un test pour vous aider à analyser l’impact des exigences et pour connaître l’état et les personnes travaillant sur le bogue.

L’historique de l’exécution des tests peut fournir des insights significatifs sur la fiabilité ou les performances des tests. Lors de la résolution d’un échec, il est utile de savoir quelles étaient les performances d’un test dans le passé. L’onglet Tests fournit l’historique des tests dans le contexte avec les résultats des tests. Les informations d’historique des tests sont exposées de manière progressive, en commençant par le pipeline de build actuel vers d’autres branches, ou la phase actuelle vers d’autres phases, respectivement pour la build et la mise en production.

Afficher les tendances historiques

Afficher l’exécution des tests en cours

Les tests, tels que les tests fonctionnels et d’intégration, peuvent s’exécuter pendant une longue période. Par conséquent, il est important de voir l’état actuel ou en quasi-en temps réel de l’exécution des tests à tout moment donné. Même dans les cas où les tests s’exécutent rapidement, il est utile de connaître l’état des résultats de tests pertinents le plus tôt possible, en particulier en cas d’échec. La vue en cours élimine la nécessité d’attendre la fin de l’exécution du test. Les résultats sont disponibles en quasi-temps réel au fur et à mesure de l’exécution, ce qui vous permet de prendre des mesures plus rapidement. Vous pouvez déboguer un échec, signaler un bogue ou abandonner le pipeline.

Affichage de mise en production en cours

Notes

La fonctionnalité est actuellement disponible pour la build et la mise en production, à l’aide d’une tâche Visual Studio Test dans un travail multi-agent. Elle sera disponible pour les travaux d’agent unique dans une version ultérieure.

L'exemple suivant montre le résumé des tests en cours dans une version, indiquant le nombre total de tests et le nombre d'échecs à un moment donné. Les échecs de test sont disponibles pour la résolution des problèmes, la création d’un ou plusieurs bogues, ou pour effectuer toute autre action appropriée.

Vue récapitulative en cours

Afficher les résultats récapitulatifs des tests

Pendant l’exécution, un test peut générer plusieurs instances ou tests qui contribuent au résultat global. Par exemple, les tests qui sont réexécutés, les tests composés d’une combinaison ordonnée d’autres tests (tests ordonnés) ou les tests ayant des instances différentes basées sur un paramètre d’entrée (tests pilotés par les données).

Comme ces tests sont liés, ils doivent être signalés avec le résultat global dérivé des instances ou tests individuels. Ces résultats de tests sont signalés sous la forme d’un résultat de test récapitulatif sous l’onglet Tests :

  • Réexécuter des tests ayant échoué : la possibilité de réexécuter des tests ayant échoué est disponible dans la dernière version de la tâche Visual Studio Test. Pendant une nouvelle exécution, plusieurs tentatives peuvent être effectuées pour un test ayant échoué, et chaque échec peut avoir une cause racine différente en raison du comportement non déterministe du test. Les rapports de tests fournissent une vue combinée pour toutes les tentatives de réexécution, ainsi que le résultat global du test sous forme d’unité récapitulative. Les API Gestion des tests prennent désormais en charge la capacité à publier et à interroger des résultats de tests récapitulatifs.

    Réexécuter des tests ayant échoué

  • Tests pilotés par les données : comme pour la réexécution des tests ayant échoué, toutes les itérations de tests pilotés par les données sont signalées sous ce test dans une vue récapitulative. La vue récapitulative est également disponible pour les tests ordonnés (.orderedtest dans Visual Studio).

    Test piloté par les données

Notes

Les métriques de la section récapitulative des tests, telles que le nombre total de tests ayant réussi, échoué ou autre, sont calculées à l’aide du niveau racine du résultat de tests récapitulatif.

Afficher les tests abandonnés

L’exécution des tests peut abandonner pour plusieurs raisons, comme un code de test incorrect, des erreurs dans la source testée ou des problèmes environnementaux. Quelle que soit la raison de l’abandon, il est important d’être en mesure de diagnostiquer le comportement et d’en identifier la cause racine. Les tests abandonnés et les séries de tests peuvent être affichés en même temps que les exécutions terminées sous l’onglet Tests.

Afficher les tests arrêtés.

Notes

La fonctionnalité est actuellement disponible pour la build et la mise en production, en utilisant la tâche Visual Studio Test dans un travail multi-agent ou en publiant les résultats des tests à l’aide de l’API Gestion des tests. Elle sera disponible pour les travaux d’agent unique dans une version ultérieure.

Résultats des tests déduits automatiquement

Azure DevOps peut déduire automatiquement la sortie des tests qui s’exécutent dans vos pipelines pour quelques frameworks de test pris en charge. Ces rapports de test déduits automatiquement ne nécessitent aucune configuration spécifique de vos pipelines, et constituent un moyen sans effort de commencer à utiliser le rapport de tests.

Exemple de rapport de tests déduit automatiquement

Consultez la liste des exécuteurs pour lesquels les résultats des tests sont automatiquement déduits.

Étant donné que seules des métadonnées de tests limitées sont présentes dans ces rapports déduits, ils sont limités en termes de fonctionnalités. Les fonctionnalités suivantes ne sont pas disponibles pour les rapports de test déduits :

  • Regrouper les résultats des tests par fichier de test, propriétaire, priorité et autres champs
  • Rechercher et filtrer les résultats des tests
  • Vérifier les détails des tests ayant réussi
  • Afficher un aperçu des pièces jointes générées pendant les tests au sein de l’interface utilisateur web proprement dite
  • Associer un échec de test à un nouveau bogue, ou voir la liste des éléments de travail associés pour cet échec
  • Voir l’analytique pour les tests dans les pipelines de build en build

Notes

Certains exécuteurs tels que Mocha ont plusieurs rapporteurs de console intégrés tels que matrice de points et barre de progression. Si vous avez configuré une sortie de console autre que celle par défaut pour votre exécuteur de test, ou si vous utilisez un rapporteur personnalisé, Azure DevOps ne sera pas en mesure de déduire les résultats des tests. Il pourra uniquement déduire les résultats du rapporteur par défaut.

Aide et support