Partager via


À propos des tests de pipeline

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

Cet article décrit les termes couramment utilisés dans le rapport de test de pipeline et l’analytique des tests, et fournit des conseils pour de meilleurs tests dans Azure Pipelines.

Terme Definition
Duration Temps écoulé lors de l’exécution d’un test, d’une exécution de test ou d’une exécution de test entière dans un pipeline de build ou de mise en production.
Owner Propriétaire d’une exécution de test ou de test. Le propriétaire du test est généralement spécifié en tant qu’attribut dans le code de test. Consultez la tâche Publier les résultats des tests pour afficher le mappage de l’attribut Owner pour les formats de résultats de test pris en charge.
Échec de la génération Référence à la build ayant la première occurrence d’échecs consécutifs d’un cas de test.
Échec de la mise en production Référence à la version ayant la première occurrence de défaillances consécutives d’un cas de test.
Résultat Il existe 15 résultats possibles pour un résultat de test : abandonné, Bloqué, Erreur, Échec, Inconclusive, Inconclusive, In progress, None, Not applicable, Not executed, Not impacted, Passed, Paused, Timeout, Unspecified et Warning.
Voici quelques-uns des résultats couramment utilisés :
- Abandonné : l’exécution de test s’est arrêtée brusquement en raison de facteurs internes ou externes, par exemple, du code incorrect, des problèmes d’environnement.
- Échec : test ne répondant pas au résultat souhaité.
- Inconclusive : Test sans résultat définitif.
- Non exécuté : test marqué comme ignoré pour l’exécution.
- Non impacté : test non affecté par la modification du code qui a déclenché le pipeline.
- Réussi : test exécuté avec succès.
- Délai d’expiration : durée d’exécution de test dépassant le seuil spécifié.
Test flaky Test avec un comportement non déterministe. Par exemple, le test peut entraîner des résultats différents pour la même configuration, le même code ou les entrées.
Filter Mécanisme permettant de rechercher les résultats des tests dans le jeu de résultats, à l’aide des attributs disponibles. En savoir plus.
Groupement Aide à organiser l’affichage des résultats des tests en fonction des attributs disponibles tels que l’exigence, les fichiers de test, la priorité, etc. Le rapport de test et l’analytique des tests prennent en charge le regroupement des résultats des tests.
Pourcentage de passage Mesurez la réussite du résultat du test pour une seule instance d’exécution ou sur une période donnée.
Priorité Spécifie le degré d’importance ou de criticité d’un test. La priorité est généralement spécifiée en tant qu’attribut dans le code de test. Consultez la tâche Publier les résultats des tests pour afficher le mappage de l’attribut Priority pour les formats de résultats de test pris en charge.
Analyse des tests Vue des données de test historiques pour fournir des insights significatifs.
Cas de test Identifie de façon unique un seul test dans la branche spécifiée.
Fichiers de test Regrouper les tests en fonction de la façon dont ils sont empaquetés ; tels que des fichiers, des DLL ou d’autres formats.
Rapport de test Vue d’une seule instance d’exécution de test dans le pipeline qui contient les détails de l’état et de l’aide pour la résolution des problèmes, la traçabilité, etc.
Résultat du test Instance unique d’exécution d’un cas de test avec un résultat et des détails spécifiques.
Exécution de test Regroupement logique des résultats des tests en fonction des éléments suivants :
- Test exécuté à l’aide de tâches intégrées : tous les tests exécutés à l’aide d’une tâche unique telle que Visual Studio Test, Ant, Maven, Gulp, Grunt ou Xcode sont signalés sous une seule exécution de test
- Résultats publiés à l’aide de la tâche Publier les résultats des tests : fournit une option permettant de regrouper tous les résultats de test d’un ou plusieurs fichiers de résultats de test en une seule exécution, ou des exécutions individuelles par fichier
- Résultats des tests publiés à l’aide d’API : les API fournissent la flexibilité nécessaire pour créer des exécutions de test et organiser les résultats des tests pour chaque exécution en fonction des besoins.
Traçabilité Possibilité de tracer vers l’avant ou vers l’arrière une exigence, un bogue ou un code source à partir d’un résultat de test.

Meilleures pratiques

Garantir la fiabilité de l’application nécessite des tests complets dans Azure Pipelines, avec des tests unitaires et des tests d’intégration essentiels. Le test des intégrations dans les environnements cloud, en particulier les applications serverless, pose des défis en raison d’architectures distribuées, d’autorisations IAM mal configurées et de problèmes d’intégration de service à service.

Pour résoudre ce problème, envisagez d’exécuter votre code localement tout en interagissant avec des services Azure authentiques, en facilitant les tests réalistes et en activant les outils de débogueur adaptés aux tests automatisés. L’implémentation de cette approche nécessite l’approvisionnement de ressources Azure éphémères. Dans l’idéal, créez des comptes distincts pour chaque environnement ; sinon, l’approvisionnement dynamique dans les pipelines Azure est possible, bien que cela augmente le temps d’exécution et nécessite une planification minutieuse de la désaffectation des ressources. Pour réduire les conflits d’affectation de noms, évitez de nommer des ressources explicites, sauf si nécessaire et incluez des noms d’environnement dans les noms de ressources.

Aide et support