Exemple de rapport de tests non fiables

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

Vous pouvez créer un rapport, comme illustré dans l’image suivante, qui répertorie les tests non fiables qui se produisent dans les exécutions de pipeline qui incluent des tâches de test. Un test non fiable est un test qui fournit des résultats différents, tels que réussite ou échec, même en l’absence de modifications dans le code source ou l’environnement d’exécution. Pour plus d’informations sur l’activation des tests non fiables, consultez Gérer les tests non fiables. Pour plus d’informations sur l’ajout de tests à un pipeline, consultez la section Ressources des tâches de test plus loin dans cet article.

Capture d’écran du rapport sur le tableau des tests non fiables.

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

  • Tests non fiables pour le flux de travail de génération
  • Tests instables pour le processus de publication
  • Tests non fiables pour une branche particulière
  • Tests non fiables pour un fichier de test particulier
  • Tests non fiables pour un propriétaire de test particulier

Remarque

Les exemples de requêtes de cet article nécessitent une préversion v3.0 ou une version ultérieure du flux OData Analytics. Partagez vos commentaires.

Catégorie Exigences
Niveaux d’accès - Membre du projet.
- Au moins un accès de base (Basic).
Permissions 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 conditions préalables nécessaires à l’activation du service et des fonctionnalités ainsi que sur les activités de suivi des données générales, consultez Autorisations et conditions préalables pour accéder à Analytics.

Remarque

Cet article suppose que vous lisez Overview 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 du jeu d'entités TestResultsDaily pour créer des rapports différents, mais similaires, sur les tests non fiables d'un pipeline. L'ensemble d'entités TestResultsDaily fournit un résumé quotidien des exécutions TestResult, regroupé par test.

Remarque

Pour rechercher les propriétés disponibles pour le filtrage ou la création de rapports, consultez la référence Metadata pour Test Plans Analytics et Metadata pour Azure Pipelines. Vous pouvez filtrer des requêtes ou retourner des propriétés à l’aide de n’importe quelle Property valeur définie sous un EntityType, ou toute NavigationPropertyBinding Path valeur répertoriée pour un EntitySet. Chaque EntitySet mappe sur un EntityType, documentant le type de données pour chaque propriété.

Tests non fiables pour un processus de construction

Utilisez les requêtes suivantes pour afficher les tests non fiables pour un pipeline de workflow du build.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. Pour plus d’informations, consultez Aperçu d'exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName} "
                &"And Date/Date ge {startdate} "
                &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlaykRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tests instables pour un flux de travail de déploiement

Utilisez les requêtes suivantes pour afficher les tests non fiables pour un pipeline de flux de travail de mise en production.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. Pour plus d’informations, consultez Aperçu d'exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Workflow), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tests instables filtrés par branche

Pour afficher les tests ayant échoué 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éveloppez Branch en Branch.BranchName.
  • Sélectionnez Power BI segment de visualisation et ajoutez le champ Branch.BranchName au Field du segment.
  • Sélectionnez le nom de la branche dans le filtre pour lequel vous devez afficher la synthèse des résultats.

Pour plus d’informations sur l’utilisation des slicers, consultez Slicers dans Power BI.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. Pour plus d’informations, consultez Aperçu d'exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate} "
                &"And Workflow eq 'Build') "
        &"/groupby((TestSK, Test/TestName, Branch/BranchName), "
            &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
    &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tests non fiables filtrés par fichier de test

Pour afficher les tests non fiables pour un pipeline et 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 indiqué plus loin dans cet article.

  • Développez Test en Test.ContainerName.
  • Sélectionnez Power BI segment de visualisation et ajoutez le champ Test.ContainerName au Field du segment.
  • Sélectionnez le nom du conteneur dans le découpeur pour voir le résumé des résultats.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. Pour plus d’informations, consultez Aperçu d'exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/ContainerName), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Tests non fiables filtrés par propriétaire de test

Pour afficher les tests instables pour un pipeline et 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 indiqué plus loin dans cet article.

  • Développez Test en Test.TestOwner.
  • Sélectionnez Power BI segment de visualisation et ajoutez le champ Test.TestOwner au Field du segment.
  • Sélectionnez le propriétaire du test dans le filtre pour lequel vous souhaitez voir l'aperçu des résultats.

Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. Pour plus d’informations, consultez Aperçu d'exemples de rapports utilisant des requêtes OData.

let
   Source = OData.Feed ("https://analytics.dev.azure.com/{organization}/{project}/_odata/v4.0-preview/TestResultsDaily?
$apply=filter("
                &"Pipeline/PipelineName eq '{pipelineName}' "
                &"And Date/Date ge {startdate}) "
        &"/groupby((TestSK, Test/TestName, Test/TestOwner), "
        &"aggregate( "
                &"ResultCount with sum as TotalCount, "
                &"ResultPassCount with sum as PassedCount, "
                &"ResultFailCount with sum as FailedCount, "
                &"ResultNotExecutedCount with sum as NotExecutedCount, "
                &"ResultNotImpactedCount with sum as NotImpactedCount, "
                &"ResultFlakyCount with sum as FlakyCount)) "
        &"/filter(FlakyCount gt 0) "
    &"/compute( "
    &"(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate) "
    ,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4]) 
in
    Source

Chaînes de substitution et décomposition des requêtes

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

 

  • {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. Format : AAAA-MM-JJZ. Exemple : 2021-09-01Z représente le 1er septembre 2021. Ne placez pas de guillemets ni de crochets et utilisez deux chiffres pour le mois et le jour.

Décomposition des requêtes

Le tableau ci-après décrit chaque partie de la requête.

Partie de la requête

Description

$apply=filter(

Démarre la clause filter().

Pipeline/PipelineName eq '{pipelineName}'

Retournez les exécutions de tests pour le pipeline spécifié.

and CompletedOn/Date ge {startdate}

Retournez les exécutions de tests à la date spécifiée ou après celle-ci.

and Workflow eq 'Build'

Renvoyer des exécutions de tests pour un flux de travail Build.

)

Ferme la clause filter().

/groupby(

Démarre la clause groupby().

(TestSK, Test/TestName),

Regroupez en fonction du nom du test.

aggregate(

Commencez la clause aggregate pour calculer les exécutions de tests correspondant aux critères de filtre.

ResultCount with sum as TotalCount,

Comptez le nombre total d’exécutions de tests en tant que TotalCount.

ResultPassCount with sum as PassedCount,

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

ResultFailCount with sum as FailedCount,

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

ResultNotExecutedCount with sum as NotExecutedCount

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

ResultNotImpactedCount with sum as NotImpactedCount,

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

ResultFlakyCount with sum as FlakyCount

Comptez le nombre total d’exécutions de tests non fiables en tant que FlakyCount.

))

Fermez les clauses aggregate() et groupby().

/filter(FlakyCount gt 0)

Filtrez les tests qui ont été non fiables au moins une fois.

/compute(

Démarre la clause compute().

(FlakyCount div cast(TotalCount, Edm.Decimal)) mul 100 as FlakyRate

Pour tous les tests non fiables, calculez le FlakyRate.

)

Ferme la clause compute().

(Facultatif) Renommer la requête

Vous pouvez renommer l’étiquette de requête par défaut, Query1, en quelque chose de plus parlant. Entrez 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.

Développez la colonne Test dans Power BI

Développez la colonne Test pour afficher l’entité Test.TestName développée. En élargissant la colonne, on aplatit l’enregistrement dans des champs spécifiques. Pour en savoir plus, consultez les données de Transform Analytics pour générer des rapports Power BI, développer des colonnes.

Changer le type de données des colonnes

  1. Dans Power Query Editor, sélectionnez les colonnes TotalCount, PassedCount, FailedCount, NotExecutedCount, NotImpactedCount et FlakyCount. Sélectionnez Type de données dans le menu Transformer , puis choisissez Nombre entier.

  2. Sélectionnez la colonne FlakyRate. Sélectionnez Type de données dans le menu Transformer , puis choisissez Nombre décimal.

Pour plus d’informations sur la modification du type de données, consultez Transform Analytics pour générer des rapports Power BI, transformer un type de données de colonne.

Fermez la requête et appliquez vos modifications

Lorsque vous avez terminé toutes vos transformations de données, sélectionnez Fermer & Appliquer dans le menu Accueil . Cette action enregistre la requête et vous renvoie à l’onglet Report dans Power BI.

Capture d'écran de l'option Fermer et Appliquer dans Power Query Editor.

Générer le rapport de table

  1. Dans Power BI, sous Visualizations, sélectionnez Table. Faites glisser et placez les champs dans la zone Colonnes.

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

  2. Ajoutez les champs suivants à la section Colonnes dans l’ordre indiqué.

    • Test.TestName
    • TotalCount
    • PassedCount
    • FailedCount
    • FlakyCount
    • FlakyRate

Votre rapport doit ressembler à l’image suivante.

Capture d’écran du rapport de tableau d'exemple de tests instables.

Ressources de la tâche de test