Partage via


Exemple de rapport de résumé de test

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020

Lorsque vous exécutez une exécution de pipeline et incluez des tâches de test dans la définition du pipeline, vous pouvez créer un rapport qui indique le nombre d’exécutions de test pour différents résultats de test : Réussi, Échec, Non exécuté, Non affecté.

L’image suivante montre un exemple de rapport de résumé de test.

Capture d’écran du rapport De synthèse des tests donut.

Utilisez les requêtes fournies dans cet article pour générer les rapports suivants :

  • Résumé des tests pour le flux de travail de génération
  • Résumé des tests pour le flux de travail de mise en production
  • Résumé des tests pour une branche particulière
  • Résumé des tests pour un fichier de test particulier
  • Résumé des tests pour un propriétaire de test particulier

Important

L’intégration de Power BI et l’accès au flux OData du service Analytics sont généralement disponibles pour Azure DevOps Services et Azure DevOps Server 2020 et versions ultérieures. Les exemples de requêtes fournis dans cet article sont valides uniquement sur Azure DevOps Server 2020 et versions ultérieures, et dépendent de la version v3.0-preview ou ultérieure. Nous vous encourageons à utiliser ces requêtes et à nous fournir des commentaires.

Prérequis

  • Accès : être membre d’un projet avec au moins un accès de base .
  • Autorisations : par défaut, les membres du projet ont l’autorisation d’interroger Analytics et de créer des vues.
  • Pour plus d’informations sur les autres prérequis concernant l’activation du service et des fonctionnalités et les activités de suivi des données générales, consultez Autorisations et conditions préalables pour accéder à Analytics.

Remarque

Cet article part du principe que vous lisez la vue d’ensemble des exemples de rapports à l’aide de requêtes OData et que vous avez une compréhension de base de Power BI.

Exemples de requêtes

Vous pouvez utiliser les requêtes suivantes de l’ensemble TestResultsDaily d’entités pour créer des rapports de synthèse de test de pipeline différents, mais similaires. L’ensemble TestResultsDaily d’entités fournit un agrégat d’instantanés quotidiens d’exécutions TestResult , regroupés par Test.

Remarque

Pour déterminer les propriétés disponibles à des fins de filtre ou de rapport, consultez la référence des métadonnées pour l’analyse des plans de test et les informations de référence sur les métadonnées pour Azure Pipelines. Vous pouvez filtrer vos requêtes ou renvoyer des propriétés à l’aide de l’une Property des valeurs sous ou EntityType des NavigationPropertyBinding Path valeurs disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour plus d’informations sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le type de données correspondant EntityType.

Résumé des tests pour le flux de travail de génération

Utilisez les requêtes suivantes pour afficher le résumé de test d’un pipeline pour un workflow de build .

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build' "
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Remplacez et {startdate} utilisez {pipelineName} les valeurs réelles de votre requête.

Résumé des tests pour le flux de travail release

Utilisez les requêtes suivantes pour afficher le résumé de test d’un pipeline pour un flux de travail Release .

Remarque

Pour déterminer les propriétés disponibles à des fins de filtre ou de rapport, consultez la référence des métadonnées pour Test Plans Analytics. Vous pouvez filtrer vos requêtes ou renvoyer des propriétés à l’aide de l’une Property des valeurs sous ou EntityType des NavigationPropertyBinding Path valeurs disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour plus d’informations sur le type de données de chaque valeur, passez en revue les métadonnées fournies pour le type de données correspondant EntityType.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Release'"
      &")/aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Résumé des tests filtrés par branche

Pour afficher le résumé de test d’un pipeline pour une branche particulière, utilisez les requêtes suivantes. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est spécifié plus loin dans cet article.

  • Développer Branch dans Branch.BranchName
  • Sélectionnez Segment de visualisation Power BI et ajoutez le champ Branch.BranchName au champ du segment.
  • Sélectionnez le nom de la branche dans le segment pour lequel vous devez afficher le résumé des résultats.

Pour plus d’informations sur l’utilisation de segments, consultez Segments dans Power BI.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Branch/BranchName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Résumé du test filtré par fichier de test

Pour afficher le résumé de test d’un pipeline pour un fichier de test particulier, utilisez les requêtes suivantes. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est défini plus loin dans cet article.

  • Développer Test dans Test.ContainerName
  • Sélectionnez Segment de visualisation Power BI et ajoutez le champ Test.ContainerName au champ du segment.
  • Sélectionnez le nom du conteneur dans le segment pour lequel vous devez afficher le résumé des résultats.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/ContainerName),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Résumé des tests filtré par le propriétaire de test

Pour afficher le résumé des tests d’un pipeline pour les tests appartenant à un propriétaire de test particulier, utilisez les requêtes suivantes. Pour créer le rapport, effectuez les étapes supplémentaires suivantes, ainsi que ce qui est défini plus loin dans cet article.

  • Développer Test dans Test.TestOwner
  • Sélectionnez Segment de visualisation Power BI et ajoutez le champ Test.TestOwner au champ du segment.
  • Sélectionnez le propriétaire de test dans le segment pour lequel vous devez afficher le résumé des résultats.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir une requête vide de données>. Pour plus d’informations, consultez Vue d’ensemble des exemples de rapports à l’aide de requêtes OData.

let
   Source = OData.Feed (
      "https://analytics.dev.azure.com/mseng/AzureDevOps/_odata/v4.0-preview/TestResultsDaily?"
      &"$apply=filter("
      &"Pipeline/PipelineName eq '{pipelineName}' "
      &"And DateSK ge {startdate} "
      &"And Workflow eq 'Build'"
      &")/groupby("
      &"(Test/TestOwner),"
      &"aggregate("
      &"ResultCount with sum as ResultCount, "
      &"ResultPassCount with sum as ResultPassCount, "
      &"ResultFailCount with sum as ResultFailCount, "
      &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
      &"ResultNotImpactedCount with sum as ResultNotImpactedCount"
      &")",
      null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
   )
in
    Source

Chaînes de substitution et répartition des requêtes

Remplacez les chaînes suivantes par vos valeurs. N’incluez pas de crochets {} avec votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez par {organization}Fabrikam, et non {Fabrikam}par .

 

  • {organization} - Nom de votre organisation.
  • {project} - Nom de votre projet d’équipe.
  • {pipelinename} - Nom de votre pipeline. Exemple : Fabrikam hourly build pipeline.
  • {startdate} - Date de démarrage de votre rapport. Vous pouvez entrer les dates au format AAAAMMDD. Par exemple, 20220815 pour le 15 août 2022.

Répartition des requêtes

Le tableau suivant décrit chaque partie de la requête.

Composant de requête

Description

$apply=filter(

Clause Start filter() .

Pipeline/PipelineName eq '{pipelineName}'

Retourne des exécutions de test pour le pipeline spécifié.

and CompletedOn/Date ge {startdate}

Retourne des exécutions de test à la date spécifiée ou après la date spécifiée.

and Workflow eq 'Build' ou and Workflow eq 'Release'

Retourne les exécutions de test uniquement pour les pipelines désignés avec le ou Release le Build flux de travail.

)

Clause Close filter() .

aggregate(

Démarrez la aggregate clause pour toutes les exécutions de test correspondant aux critères de filtre.

ResultCount with sum as ResultCount,

Comptez le nombre total d’exécutions de test sous la forme ResultCount.

ResultPassCount with sum as ResultPassCount,

Comptez le nombre total d’exécutions de test réussies en tant que ResultPassCount.

ResultFailCount with sum as ResultFailCount

Comptez le nombre total d’exécutions de tests ayant échoué en tant que ResultFailCount.

ResultNotExecutedCount with sum as ResultNotExecutedCount,

Compter le nombre total d’exécutions de tests non exécutées en tant que ResultNotExecutedCount.

ResultNotImpactedCount with sum as ResultNotImpactedCount

Comptez le nombre total d’exécutions de tests non affectées en tant que ResultNotImpactedCount.

)

Fermez la aggregate() clause.

(Facultatif) Renommer la requête

Vous pouvez renommer l’étiquette de requête par défaut , Query1, en quelque chose de plus significatif. Entrez simplement un nouveau nom dans le volet Paramètres de requête .

Capture d’écran des options de menu de requête Power BI, renommer la requête.

(Facultatif) Renommer des champs de colonne

Vous pouvez renommer des champs de colonne. Par exemple, vous pouvez renommer la colonne Pipeline.PipelineName en Pipeline Name, ou TotalCount en Total Count. Pour savoir comment procéder, consultez Renommer les champs de colonne.

Fermez la requête et appliquez vos modifications

Une fois que vous avez terminé toutes vos transformations de données, choisissez Fermer & Appliquer dans le menu Accueil pour enregistrer la requête et revenir à l’onglet Rapport dans Power BI.

Capture d’écran de Éditeur Power Query’option Fermer et appliquer.

Créer le rapport de graphique en anneau

  1. Dans Power BI, sous Visualisations, choisissez le rapport Donut .

    Capture d’écran des sélections de champs de visualisation pour le rapport Résumé des tests.

  2. Ajoutez les champs suivants aux valeurs, dans l’ordre indiqué. Cliquez avec le bouton droit sur chaque champ et vérifiez que Somme est sélectionnée.

    • ResultPassCount
    • ResultFailCount
    • ResultNotExecutedCount
    • ResultNotImpactedCount

Votre rapport doit ressembler à l’image suivante.

Capture d’écran de l’exemple de rapport de résumé des tests.