Tendance du taux de réussite d’un exemple de rapport de test

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

Les rapports de tendances de taux de réussite fournissent un aperçu du temps moyen nécessaire à l’exécution d’un test particulier pendant une exécution de pipeline.

L’image suivante en contient un exemple.

Capture d’écran du rapport de tendances de taux de transmission.

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

  • Pour afficher les données Analytics et interroger le service, vous devez être membre d’un projet avec un accès de base ou supérieur. Par défaut, tous les membres du projet sont autorisés à interroger Analytics et à définir des vues Analytics.
  • Pour en savoir plus sur les autres prérequis concernant l’activation des services et des fonctionnalités et les activités générales de suivi des données, consultez Autorisations et prérequis pour accéder à Analytics.

Remarque

Cet article suppose que vous avez lu 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

Remarque

Cet article suppose que vous avez lu 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.

Vous pouvez coller la requête Power BI répertoriée ci-dessous> directement dans la fenêtre Obtenir une requête vide. Pour plus d’informations, consultez Vue d’ensemble des 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 Test/TestName eq '{testName}' "
        &"And Workflow eq 'Build') "
            &"/groupby((Date/Date), "
                &"aggregate( "
                &"ResultCount with sum as TotalCount, "
            &"ResultPassCount with sum as ResultPassCount, "
                &"ResultFailCount with sum as ResultFailCount, "
            &"ResultAbortedCount with sum as ResultAbortedCount, "
        &"ResultErrorCount with sum as ResultErrorCount, "
    &"ResultInconclusiveCount with sum as ResultInconclusiveCount, "
    &"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
    &"ResultNotImpactedCount with sum as ResultNotImpactedCount)) "
    &"/filter(ResultFailCount gt 0) "
    &"/compute( "
    &"iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
    ,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
  • {testName} - Nom de votre test
  • {startdate} - Date de démarrage de votre rapport. Format : AAAA-MM-DDZ. Exemple : 2021-09-01Z représente le 1er septembre 2021. Ne placez pas entre guillemets ou crochets et utilisez deux chiffres pour les deux, mois et date.

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}'

Retourner des exécutions de test pour le pipeline spécifié

And Date/Date ge {startdate}

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

And Test/TestName eq '{testName}'

Retourne les exécutions de test uniquement pour le nom de test spécifié.

and Workflow eq 'Build'

Retourne des exécutions de test pour Build le flux de travail.

)

Clause Close filter() .

/groupby(

Clause Start groupby() .

(Date/Date),

Regroupez la date d’achèvement de l’exécution du test.

aggregate(

Clause start aggregate pour additionner différents résultats d’exécution de test correspondant aux critères de filtre.

ResultCount with sum as TotalCount,

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

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.

ResultAbortedCount with sum as ResultAbortedCount,

Comptez le nombre total d’exécutions de test abandonnées en tant que ResultAbortedCount.

ResultErrorCount with sum as ResultErrorCount,

Comptez le nombre total d’exécutions de test marquées comme ayant une erreur ResultErrorCount.

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.

))

Close aggregate() et groupby() clauses.

/compute(

Clause Start compute() .

iif(TotalCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(TotalCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate)

Pour tous les jours, calculez le PassRate .

)

Clause Close compute() .

(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.

Développer la colonne Date dans Power BI

Développez la Date colonne pour afficher l’entité CompletedOn.Datedéveloppée. Le développement d’une colonne aplatit l’enregistrement dans des champs spécifiques. Pour savoir comment afficher les données Transform Analytics pour générer des rapports Power BI, développez des colonnes.

Modifier le type de données de colonne

  1. Dans le Éditeur Power Query, sélectionnez la TotalCount colonne ; sélectionnez Type de données dans le menu Transformer, puis choisissez Qui le Nombre.

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

Pour en savoir plus 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

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 histogramme de courbes et de pile

  1. Dans Power BI, sous Visualisations, choisissez le graphique en courbes et en colonnes de pile, puis faites glisser et déposez les champs dans les zones de graphique.

    Capture d’écran des sélections de champs de visualisation pour le rapport de table de tendances de taux de transmission.

  2. Ajoutez Date.Date à l’axe X, cliquez avec le bouton droit sur le champ et sélectionnez Date.Date plutôt que Hiérarchie de dates.

  3. Ajoutez et ResultFailCount accédez ResultPassCount à l’axe y de colonne.

  4. Ajouter PassRate à l’axe y ligne.

Votre rapport doit ressembler à l’image suivante.

Capture d’écran de l’exemple de rapport de tendance du taux de transmission.

Ressources de tâche de test