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
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.
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 non fiables pour le flux de travail de mise en production
- 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
Importante
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 préversion v3.0 ou version ultérieure. Nous vous encourageons à utiliser ces requêtes et à nous faire part de 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 part du principe que vous avez lu Aperçu d'exemples de rapports utilisant des requêtes OData, et que vous comprenez les principes 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 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 Références des métadonnées pour l’analyse des plans de test et Références des métadonnées pour Azure Pipelines. Vous pouvez filtrer vos requêtes ou retourner les propriétés en utilisant n'importe quelle valeur Property sous un EntityType ou les valeurs NavigationPropertyBinding Path disponibles avec un EntitySet. Chaque EntitySet correspond à un EntityType. Pour plus d’informations sur le type de données de chaque valeur, consultez les métadonnées fournies pour le EntityType correspondant.
Tests non fiables pour un flux de travail de génération
Utilisez les requêtes suivantes pour afficher les tests non fiables pour un pipeline de flux de travail de génération.
Copiez et collez la requête Power BI suivante directement dans la fenêtre Obtenir des données>Requête vide. 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 non fiables pour un flux de travail de mise en production
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 Obtenir des données>Requête vide. 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 non fiables 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
BranchenBranch.BranchName - Sélectionnez Segment de visualisation Power BI et ajoutez le champ
Branch.BranchNameau 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 des données>Requête vide. 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
TestenTest.ContainerName - Sélectionnez Segment de visualisation Power BI et ajoutez le champ
Test.ContainerNameau 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 des données>Requête vide. 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 non fiables pour un pipeline et des 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
TestenTest.TestOwner - Sélectionnez Segment de visualisation Power BI et ajoutez le champ
Test.TestOwnerau 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 des données>Requête vide. 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 de crochets {} avec votre substitution. Par exemple, si le nom de votre organisation est « Fabrikam », remplacez {organization} par Fabrikam, mais pas par {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 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'
Retournez 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(
Clause start 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 uniquement les tests qui étaient 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 simplement un nouveau nom dans le volet Paramètres de requête.
Développer la colonne Test dans Power BI
Développez la colonne Test pour afficher l’entité Test.TestName développée. Le développement de la colonne aplatit l’enregistrement dans des champs spécifiques. Pour savoir comment procéder, consultez Transformer des données d'analyse pour générer des rapports Power BI, Développer des colonnes.
Changer le type de données des colonnes
Dans l’éditeur Power Query, sélectionnez les colonnes
TotalCount,PassedCount,FailedCount,NotExecutedCount,NotImpactedCountetFlakyCount; sélectionnez Type de données dans le menu Transformer ; puis choisissez Nombre entier.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 Transformer des données d'analyse pour générer des rapports Power BI, Transformer un type de données pour une colonne.
Fermez la requête et appliquez vos modifications
Une fois que vous avez terminé toutes vos transformations de données, sélectionnez Fermer et appliquer dans le menu Accueil pour enregistrer votre requête et revenir à l’onglet Rapport dans Power BI.
Générer le rapport de table
Dans Power BI, sous Visualisations, choisissez Table et faites glisser et déposez les champs dans la zone Colonnes.
Ajoutez les champs suivants à la section Colonnes dans l’ordre indiqué.
Test.TestNameTotalCountPassedCountFailedCountFlakyCountFlakyRate
Votre rapport doit ressembler à l’image suivante.
Ressources de la 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 non fiables
- Considérations relatives aux tests de l’interface utilisateur
- Test de charge Azure
- Informations de référence sur les tâches Azure Pipelines, Tâches de test