Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Les rapports de durée de test, similaires à ceux présentés dans l’image suivante, fournissent un aperçu du nombre de fois où un test s’exécute et du temps moyen nécessaire pour qu’un test particulier s’exécute pendant une exécution de pipeline.
Utilisez les requêtes fournies dans cet article pour générer les rapports suivants :
- Durée de test pour le flux de travail de build
- Durée de test pour le flux de travail de mise en production
- Durée de test d’une branche particulière
- Durée de test pour un fichier de test particulier
- Durée de test pour un responsable de tests 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 | Spécifications |
|---|---|
| Niveaux d’accès |
-
Membre du projet. - Au moins un accès de base. |
| 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 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 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
Utilisez les requêtes suivantes de l’ensemble TestResultsDaily d’entités pour créer des rapports de durée de test différents mais similaires. L'ensemble d'entités TestResultsDaily fournit une synthèse quotidienne d'instantanés d'exécutions TestResult regroupées 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 à un EntityType, qui documente le type de données pour chaque propriété.
Durée des tests pour le workflow de build
Utilisez les requêtes suivantes pour afficher le rapport de durée de test d’un pipeline avec un workflow de build.
- requête Power BI
- Requête OData
Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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/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, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durée de test pour le processus de release
Utilisez les requêtes suivantes pour afficher le rapport de durée de test d’un pipeline avec un flux de travail Release .
- requête Power BI
- Requête OData
Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate}"
&")/groupby("
&"(TestSK, Test/TestName, Workflow),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durée de test filtrée par branche
Pour afficher la durée de test des tests de 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
BranchenBranch.BranchName. - Sélectionnez le segmentateur de visualisation Power BI et ajoutez le champ
Branch.BranchNameau Field du segmentateur. - 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.
- requête Power BI
- Requête OData
Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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/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, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durée de test filtrée par fichier de test
Pour afficher la durée de test 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éveloppez
TestenTest.ContainerName. - Sélectionnez le segmentateur de visualisation Power BI et ajoutez le champ
Test.ContainerNameau Field du segmentateur. - Sélectionnez le fichier de test dans le slicer afin d'afficher la synthèse des résultats.
- requête Power BI
- Requête OData
Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/ContainerName),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
null, [Implementation="2.0", OmitValues = ODataOmitValues.Nulls, ODataVersion = 4]
)
in
Source
Durée de test filtrée par le propriétaire du test
Pour afficher la durée de test 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éveloppez
TestenTest.TestOwner. - Sélectionnez le segmentateur de visualisation Power BI et ajoutez le champ
Test.TestOwnerau Field du segmentateur. - Sélectionnez le propriétaire du test dans le filtre pour lequel vous souhaitez voir l'aperçu des résultats.
- requête Power BI
- Requête OData
Copiez et collez la requête Power BI suivante directement dans la fenêtre Get Data>Blank Query. 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/TestResultsDaily?"
&"$apply=filter("
&"Pipeline/PipelineName eq '{pipelineName}' "
&"And Date/Date ge {startdate} "
&"And Workflow eq 'Build'"
&")/groupby("
&"(TestSK, Test/TestName, Test/TestOwner),"
&"aggregate("
&"ResultCount with sum as TotalCount, "
&"ResultDurationSeconds with sum as TotalDuration"
&"))/compute("
&"TotalDuration div TotalCount as AvgDuration"
&")",
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-01Zrepré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(
Commencer filter() la clause.
Pipeline/PipelineName eq '{pipelineName}'
Retourne les exécutions de test pour le pipeline nommé.
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 Workflow eq 'Build'
Retourne des exécutions de test pour un Build flux de travail.
)
Fermer la clause filter().
/groupby(
Commencer groupby() la clause.
(TestSK, Test/TestName),
Regrouper par le nom du test.
aggregate(
Début de la clause aggregate pour agréger différents résultats de tests d’exécution correspondant aux critères du filtre.
ResultCount with sum as TotalCount,
Comptez le nombre total d’exécutions de test sous la forme TotalCount.
ResultDurationSeconds with sum as TotalDuration
Additionnez la durée totale de toutes les courses comme TotalDuration.
))
Fermez les clauses aggregate() et groupby().
/compute(
Commencer compute() la clause.
TotalDuration div TotalCount as AvgDuration
Pour tous les tests, calculez la durée moyenne en divisant la durée totale par nombre total d’exécutions.
)
Fermer 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 significatif. Entrez un nouveau nom dans le volet Paramètres de requête .
Développez la colonne Test dans Power BI
Développez la colonne Test pour afficher l’entité Test.TestName élargie. Lorsque vous étendez la colonne, vous aplatissez l’enregistrement en champs spécifiques. Pour plus d'informations, consultez Transformez les données d'Analytics pour générer des rapports Power BI, développez les colonnes.
Modifier le type de données de colonne
Dans Power Query Editor, sélectionnez la colonne
TotalCount. Sélectionnez Type de données dans le menu Transformer , puis choisissez Nombre entier.Sélectionnez les colonnes
TotalDurationetAvgDuration. 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.
Créer le rapport de table
Dans Power BI, sous Visualizations, sélectionnez Table. Faites glisser et placez les champs dans la zone Colonnes.
Ajoutez les champs suivants à la section Colonnes dans l’ordre indiqué.
Test.TestNameTotalCountAvgDuration
Sélectionnez avec le bouton droit le
AvgDurationchamp et choisissez Moyenne au lieu de Somme.
Votre rapport doit ressembler à l’image suivante.
Articles connexes
- Construire des requêtes OData pour Analytics
- Référence des métadonnées pour Azure Pipelines
- Exemples de rapports et index de référence rapide