Exemple de rapport de tendance de résumé des tests
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Les pipelines qui incluent des tâches de test peuvent être interrogés pour générer un rapport de tendance récapitulative de test. Par exemple, le rapport suivant affiche le nombre d’exécutions de tests ayant échoué dans chaque colonne sur une période de 24 jours, ainsi que le graphique en courbes montrant la tendance du taux de réussite de test. 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.
Plus précisément, cet article fournit des exemples de requêtes pour générer les rapports suivants :
- Tendance récapitulative des tests pour le flux de travail de génération
- Tendance récapitulative des tests pour le flux de travail de mise en production
- Tendance récapitulative des tests pour une branche particulière
- Tendance de résumé des tests pour un fichier de test particulier
- Tendance récapitulative 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 TestRuns
d’entités pour créer des rapports de tendances de résumé de test de pipeline différents, mais similaires. L’ensemble TestRuns
d’entités pour les requêtes suivantes est disponible uniquement lorsque vous incluez des tâches de test dans une définition de pipeline.
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
.
Tendance récapitulative des tests pour le workflow de génération
Utilisez les requêtes suivantes pour afficher la tendance récapitulative des tests d’un pipeline pour un workflow de génération .
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/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendance récapitulative des tests pour le flux de travail Release
Utilisez les requêtes suivantes pour afficher la tendance récapitulative des tests d’un pipeline défini pour un flux de travail Release .
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/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Release' "
&") "
&"/groupby( "
&"(CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendance de résumé de test filtrée par branche
Pour afficher la tendance récapitulative des tests 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
dansBranch.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/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Branch/BranchName, CompletedOn/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendance de résumé des tests filtrée par fichier de test
Pour afficher la tendance récapitulative des tests 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
dansTest.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/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Test/ContainerName, Date/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate) "
,null, [Implementation="2.0",OmitValues = ODataOmitValues.Nulls,ODataVersion = 4])
in
Source
Tendance de résumé des tests filtrée par le propriétaire du test
Pour afficher la tendance récapitulative des tests d’un pipeline 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
dansTest.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/{organization}/{project}/_odata/v4.0-preview/TestRuns?
$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"and CompletedOn/Date ge {startdate} "
&"and Workflow eq 'Build' "
&") "
&"/groupby((Test/TestOwner, Date/Date), "
&"aggregate( "
&"ResultCount with sum as ResultCount, "
&"ResultPassCount with sum as ResultPassCount, "
&"ResultNotExecutedCount with sum as ResultNotExecutedCount, "
&"ResultNotImpactedCount with sum as ResultNotImpactedCount, "
&"ResultFailCount with sum as ResultFailCount "
&")) "
&"/compute( "
&"iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount 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 : pipeline de génération horaire Fabrikam{startdate}
Date de démarrage de votre rapport. Format : AAAA-MM-DDZ. Exemple : 2023-01-01Z représente le 1er janvier 2023 à 12:50:54. Ne placez pas entre guillemets ou crochets.
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'
Retourner des exécutions de test pour le pipeline avec un Build
flux de travail
)
Close filter()
, clause
/groupby(
Clause Start groupby()
.
(CompletedOn/Date),
Regroupez la date d’achèvement de l’exécution du test.
aggregate(
Clause Start aggregate
. Pour toutes les exécutions de test correspondant aux critères de filtre, additionnez la série de nombres.
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
.
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
.
ResultFailCount with sum as ResultFailCount
Comptez le nombre total d’exécutions de tests ayant échoué en tant que ResultFailCount
.
))
Close aggregate()
et groupby()
clauses.
/compute(
Clause Start compute()
.
iif(ResultCount gt ResultNotExecutedCount, ((ResultPassCount add ResultNotImpactedCount) div cast(ResultCount sub ResultNotExecutedCount, Edm.Decimal)) mul 100, 0) as PassRate
Pour tous les jours, calculez 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 .
Développer la colonne CompletedOn dans Power BI
Développez la CompletedOn
colonne. Le développement de la 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
Dans le Éditeur Power Query, sélectionnez la PassRate
colonne ; 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
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.
Créer le rapport de histogramme de courbes et de pile
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.
Ajoutez
CompletedOn.Date
à l’axe X, cliquez avec le bouton droit sur le champ et sélectionnez Date.Date plutôt que Hiérarchie de dates.Ajouter
ResultFailCount
à l’axe y de la colonne.Ajouter
PassRate
à l’axe y ligne.
Votre rapport doit ressembler à l’image suivante.
Ressources de tâche de test
- Exécuter des tests en parallèle à l’aide de la tâche de test Visual Studio
- Exécuter des tests en parallèle pour n’importe quel exécuteur de test
- Accélérer les tests à l’aide de l’analyse d’impact des tests (TIA)
- Gérer les tests flaky
- Considérations relatives aux tests de l’interface utilisateur
- Azure Load Testing
- Informations de référence sur les tâches Azure Pipelines, tâches de test