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 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.
- 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 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.
- 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 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
BranchenBranch.BranchName. - Sélectionnez Power BI segment de visualisation et ajoutez le champ
Branch.BranchNameau 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.
- 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 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 Power BI segment de visualisation et ajoutez le champ
Test.ContainerNameau Field du segment. - Sélectionnez le nom du conteneur dans le découpeur pour voir le résumé 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 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
TestenTest.TestOwner. - Sélectionnez Power BI segment de visualisation et ajoutez le champ
Test.TestOwnerau Field du segment. - 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 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-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'
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 .
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
Dans Power Query Editor, 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 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.
Générer 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.TestNameTotalCountPassedCountFailedCountFlakyCountFlakyRate
Votre rapport doit ressembler à l’image suivante.
Ressources de la tâche de test
- Exécuter les 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
- Azure Load Testing
- référence de tâche Azure Pipelines, Tâches de test
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