Exécuter des tests automatisés à partir de plans de test
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Automatisez les cas de test dans vos plans de test et exécutez-les directement à partir de Azure Test Plans . Les tests automatisés vous offrent les avantages suivants :
- Processus convivial pour les testeurs qui ne sont peut-être pas bien familiarisé avec les tests en cours d’exécution dans les flux de travail Build ou Release.
- La possibilité d’exécuter des tests sélectionnés à la demande, plutôt que des tests planifiés dans les workflows de build ou de mise en production où tous les tests répondant aux critères de filtre sont exécutés.
- La possibilité de réexécuter quelques tests qui ont échoué en raison de problèmes d’infrastructure de test, ou vous disposez d’une nouvelle build qui inclut des correctifs pour les tests ayant échoué.
Prérequis
- Accès au projet : vérifiez que vous êtes ajouté à un projet.
- Niveaux d’accès : vérifiez que vous disposez au moins d’un accès de base ou supérieur.
- Pour plus d’informations, consultez Accès et autorisations de test manuels.
- Vous devez également disposer des éléments suivants.
- Plan de test qui contient vos tests automatisés associés à des méthodes de test automatisées à l’aide de Visual Studio 2017 ou Visual Studio 2015 ou version antérieure.
- Pipeline de build qui génère des builds contenant les fichiers binaires de test.
- Application à tester. Vous pouvez déployer l’application dans le cadre du workflow de génération et de mise en production et l’utiliser également pour les tests à la demande.
- Autorisations pour créer et gérer des mises en production, modifier un environnement de mise en production et gérer le déploiement. Pour plus d’informations, consultez Autorisations de mise en production.
Paramétrer votre environnement
Dans la page Plans de test, choisissez votre plan de test, ouvrez le menu contextuel, puis sélectionnez Paramètres du plan de test.
Dans la boîte de dialogue Paramètres du plan de test, sélectionnez le pipeline de build qui génère des builds qui contiennent les fichiers binaires de test. Vous pouvez ensuite sélectionner un numéro de build spécifique à tester, ou laisser le système utiliser automatiquement la dernière build lors de l’exécution des tests.
Vous avez besoin d’un pipeline de mise en production créé à partir des tests automatisés à partir du modèle Test Manager pour exécuter des tests à partir de plans de test dans Azure Test Plans. Si vous avez un pipeline de mise en production existant créé à l’aide de ce modèle, sélectionnez-le, puis sélectionnez l’étape existante dans le pipeline de mise en production pour l’exécution de test. Sinon, sélectionnez Créer nouveau dans la boîte de dialogue pour créer un pipeline de mise en production qui contient une étape unique avec la tâche de test Visual Studio déjà ajoutée.
Attribuez des noms explicites au pipeline de mise en production et à l’étape en fonction des besoins.
Si Visual Studio est déjà installé sur l’ordinateur agent, ignorez cette étape. Si ce n’est pas le cas, ajoutez la tâche Du programme d’installation de la plateforme de test Visual Studio à la définition du pipeline.
Ajoutez la tâche de test Visual Studio au pipeline de mise en production et configurez-la comme suit :
Vérifiez que la version 2 de la tâche de test Visual Studio est sélectionnée. Le numéro de version est affiché dans la liste déroulante du panneau paramètres de tâche.
Vérifiez que l’option Sélectionner les tests à l’aide de est définie sur Exécution de tests. Que signifie ce paramètre ?
Pour le paramètre Version de la plateforme de test , sélectionnez Installé par le programme d’installation des outils.
Si vous avez des tests d’interface utilisateur qui s’exécutent sur des navigateurs physiques ou des clients épais, assurez-vous que l’agent est configuré pour s’exécuter en tant que processus interactif avec l’activation de l’enregistrement automatique. Vous devez configurer un agent pour qu’il s’exécute de manière interactive avant de mettre en file d’attente la build ou la mise en production. La combinaison de tests de test contient la case à cocher tests de l’interface utilisateur ne configure pas l’agent en mode interactif automatiquement , utilisée uniquement comme rappel pour configurer l’agent de manière appropriée pour éviter les échecs.
Si vous exécutez des tests d’interface utilisateur sur un navigateur sans tête, la configuration interactive du processus n’est pas nécessaire.
Sélectionnez la façon dont la plateforme de test est configurée et la version de Visual Studio ou l’emplacement de la plateforme de test installée sur les machines de test.
Si vos tests ont besoin de paramètres d’entrée tels que des URL d’application ou des chaînes de connexion de base de données, sélectionnez le fichier de paramètres approprié dans les artefacts de build. Vous pouvez utiliser les tâches publier des artefacts de build dans votre pipeline de build pour publier le fichier de paramètres dans un emplacement de suppression si ce fichier n’est pas inclus dans les artefacts. Dans l’exemple suivant, l’URL de l’application est exposée dans le fichier de paramètres d’exécution et est remplacée pour la définir sur une URL intermédiaire à l’aide du paramètre de paramètres de l’exécution de test de remplacement.
Pour plus d’informations sur les paramètres d’option de la tâche de test Visual Studio, consultez Tâche de test Visual Studio.
Choisissez l’élément de travail Agent et vérifiez que la file d’attente de déploiement est définie sur celle contenant les machines sur lesquelles vous souhaitez exécuter les tests. Si vos tests nécessitent des machines spéciales à partir du pool d’agents, vous pouvez ajouter des demandes qui sont sélectionnées au moment de l’exécution.
Vous pouvez peut-être réduire les temps de test en distribuant des tests sur plusieurs agents en définissant Parallélisme sur plusieurs exécutions et en spécifiant le nombre d’agents.
Remarque
Si vous exécutez des tests d’interface utilisateur tels que CodeUI ou Selenium sur des navigateurs physiques tels que IE, Firefox ou Chrome, l’agent sur les machines doit s’exécuter en mode interactif et non en tant que service. Détails supplémentaires.
Dans la page Pipeline du pipeline de mise en production, vérifiez que le pipeline de build contenant les fichiers binaires de test est lié à ce pipeline de mise en production en tant que source d’artefact.
Enregistrez le pipeline de mise en production.
Si vous avez choisi Créer dans la boîte de dialogue Paramètres du plan de test à l’étape 2 de cet exemple, revenez à la page du navigateur qui contient vos paramètres de plan de test. Dans la boîte de dialogue Paramètres du plan de test, sélectionnez le pipeline de mise en production et l’étape que vous avez enregistrées.
Exécuter les tests automatisés
Dans le portail web Test Plans, ouvrez le plan de test et sélectionnez une suite de tests qui contient les tests automatisés.
Sélectionnez le ou les tests que vous souhaitez exécuter, ouvrez le menu Exécuter , puis sélectionnez Exécuter le test.
Les fichiers binaires de test pour ces tests doivent être disponibles dans les artefacts de build générés par votre pipeline de build.
Sélectionnez OK pour démarrer le processus de test. Le système vérifie que seuls les tests automatisés sont sélectionnés (tous les tests manuels sont ignorés), valide la phase pour vérifier que la tâche de test Visual Studio est présente et dispose de paramètres valides, vérifie l’autorisation de l’utilisateur de créer une version pour le pipeline de mise en production sélectionné, crée une exécution de test, puis déclenche la création d’une version à l’étape sélectionnée.
Sélectionnez Afficher la série de tests pour afficher la progression du test et analyser les tests ayant échoué. Les résultats des tests ont les informations pertinentes pour le débogage des tests ayant échoué, comme le message d’erreur, le suivi de la pile, les journaux de console et les pièces jointes.
Une fois l’exécution du test terminée, la page Exécutions du Azure Test Plans affiche les résultats du test. La page Résumé de l’exécution affiche une vue d’ensemble de l’exécution.
Il existe un lien vers la version utilisée pour exécuter les tests, ce qui facilite la recherche de la version qui a exécuté les tests si vous devez revenir ultérieurement et analyser les résultats. Utilisez également ce lien si vous souhaitez ouvrir la version pour afficher les journaux de publication.
Remarque
La pièce jointe manuelle des fichiers n’est pas prise en charge pour les résultats de test automatisés.
La page Résultats des tests répertorie les résultats de chaque test de la série de tests. Sélectionnez un test pour afficher les informations de débogage des tests ayant échoué, telles que le message d’erreur, le suivi de la pile, les journaux de console et les pièces jointes.
Ouvrez la page Test Plans et sélectionnez le plan de test pour afficher la status de vos tests si les tests sont mis à jour une fois l’exécution du test terminée. Sélectionnez un test pour afficher les résultats des tests récents.
Questions fréquentes (FAQ)
Consultez les questions fréquemment posées (FAQ) suivantes sur les plans de test Azure.
Q : De quelles autorisations ai-je besoin pour exécuter des tests automatisés à partir de Azure Test Plans ?
R : Vous devez être contributeur de projet ou disposer des autorisations suivantes :
- Créer des mises en production
- Gérer les mises en production
- Modifier la phase de mise en production
- Gérer le déploiement
Pour plus d’informations, consultez Autorisations de mise en production.
Q : Puis-je remplacer la génération ou l’ensemble de phases au niveau du plan de test pour une instance spécifique de l’exécution de tests ?
Un: Oui, vous pouvez effectuer cette opération à l’aide de la commande Exécuter avec les options . Ouvrez le menu contextuel de la suite de tests dans la colonne de gauche, puis sélectionnez Exécuter avec les options.
Entrez les valeurs suivantes dans la boîte de dialogue Exécuter avec options, puis sélectionnez OK :
- Type de test et exécuteur : sélectionnez Tests automatisés à l’aide de la phase de mise en production.
- Build : sélectionnez la build qui contient les fichiers binaires de test. Les résultats des tests sont associés à cette build.
- Pipeline de mise en production : sélectionnez un pipeline dans la liste des pipelines de mise en production qui peuvent consommer l’artefact de build sélectionné.
- Phase de mise en production : sélectionnez le nom de la phase configurée dans votre pipeline de mise en production.
Q : Pourquoi utiliser les phases de mise en production pour exécuter des tests ?
Un: Azure Pipelines offre un flux de travail d’orchestration attrayant pour obtenir des fichiers binaires de test en tant qu’artefacts et exécuter des tests. Ce flux de travail partage les mêmes concepts que ceux utilisés dans le flux de travail de test planifié, ce qui signifie que les utilisateurs qui exécutent des tests dans un flux de travail planifié trouvent faciles à adapter ; par exemple, en clonant un pipeline de mise en production de test planifié existant.
Un autre avantage majeur est la disponibilité d’un ensemble complet de tâches dans le catalogue de tâches qui permettent d’effectuer une série d’activités avant et après l’exécution des tests. Par exemple, la préparation et le nettoyage des données de test, la création et le nettoyage des fichiers de configuration, etc.
Q : Comment fonctionne la sélection de « Exécution de test » dans la tâche de test Visual Studio version 2 ?
R : Le sous-système de gestion des tests utilise l’objet d’exécution de test pour réussir la liste des tests sélectionnés pour l’exécution. La tâche de test recherche l’identificateur de la série de tests, extrait les informations d’exécution de test telles que les noms du conteneur et des méthodes de test, exécute les tests, met à jour les résultats de la série de tests et définit les points de test associés aux résultats des tests dans la série de tests. Du point de vue de l’audit, la tâche Visual Studio fournit une trace des versions historiques et des identificateurs de série de tests aux tests qui ont été envoyés pour l’exécution de tests à la demande.
Q : L’agent doit-il s’exécuter en mode interactif ou en tant que service ?
R : Si vous exécutez des tests d’interface utilisateur tels que des tests codés de l’interface utilisateur ou de Selenium , l’agent sur les machines de test doit s’exécuter en mode interactif avec l’enregistrement automatique activé, et non en tant que service, pour permettre à l’agent de lancer un navigateur web. Si vous utilisez un navigateur sans tête tel que PhantomJS, l’agent peut être exécuté en tant que service ou en mode interactif. Pour plus d’informations, consultez Générer et publier des agents, Déployer un agent sur windows et des pools d’agents.
Q : Où puis-je trouver une documentation détaillée sur l’exécution des tests Selenium ?
Un: Consultez Prise en main des tests Selenium.
Q : Que se passe-t-il si je sélectionne plusieurs configurations pour le même test ?
R : Actuellement, le flux de travail à la demande n’est pas conscient de la configuration.
Q : Que se passe-t-il si je dois télécharger des fichiers binaires de produit et des fichiers binaires de test à partir de différentes builds ? Ou si j’ai besoin d’obtenir des artefacts à partir d’une source telle que Jenkins ?
Un: La fonctionnalité actuelle est optimisée pour qu’une build d’équipe unique soit testée à la demande à l’aide d’un flux de travail Azure Pipelines. Nous évaluons la prise en charge des versions multi-artefacts, y compris les artefacts autres qu’Azure Pipelines tels que Jenkins, en fonction des commentaires des utilisateurs.
Q : J’ai déjà un pipeline de mise en production de test planifié. Puis-je réutiliser le même pipeline pour exécuter des tests à la demande ou dois-je créer un pipeline ?
Un: Nous vous recommandons d’utiliser un pipeline et une étape de mise en production distincts pour les tests automatisés à la demande à partir de Azure Test Plans pour les raisons suivantes :
Vous ne souhaiterez peut-être pas déployer l’application chaque fois que vous souhaitez exécuter quelques tests à la demande. Les phases de test planifiées sont généralement configurées pour déployer le produit, puis exécuter des tests.
De nouvelles versions sont déclenchées pour chaque exécution à la demande. Si vous avez de nombreux testeurs qui exécutent quelques exécutions de test à la demande tous les jours, votre pipeline de mise en production de test planifié peut être surchargé avec des versions pour ces exécutions, ce qui rend difficile la recherche de versions qui déclenchent le pipeline qui contient des tests et un déploiement planifiés en production.
Vous pouvez configurer la tâche de test Visual Studio avec un identificateur d’exécution de test en tant qu’entrée afin de pouvoir suivre ce qui a déclenché la mise en production. Pour plus d’informations, consultez Comment sélectionner « Exécution de test (pour les exécutions à la demande) » dans la tâche de test Visual Studio ?.
Q : Puis-je déclencher ces exécutions et afficher les résultats dans Microsoft Test Manager ?
R : Non. Microsoft Test Manager ne prend pas en charge l’exécution de tests automatisés sur les builds Team Foundation. Il fonctionne uniquement dans l’interface web pour Azure Pipelines. Tous les nouveaux investissements de développement de produits manuels et automatisés sont dans l’interface web. Aucun autre développement n’est prévu pour Microsoft Test Manager. Consultez Conseils sur l’utilisation de Microsoft Test Manager.
Q : J’ai plusieurs testeurs dans mon équipe. Peuvent-ils exécuter des tests à partir de différentes suites de tests ou plans de test en parallèle à l’aide du même pipeline de mise en production ?
Un: Ils peuvent utiliser le même pipeline de mise en production pour déclencher plusieurs exécutions de tests en parallèle si :
Le pool d’agents associé à la phase a suffisamment d’agents pour répondre aux demandes parallèles. Si des agents suffisants ne sont pas disponibles, les exécutions peuvent toujours être déclenchées, mais libèrent la file d’attente pour le traitement jusqu’à ce que les agents soient disponibles.
Vous disposez de suffisamment de travaux pour activer les travaux parallèles. Pour plus d’informations, consultez Travaux parallèles dans Azure Pipelines ou Travaux parallèles dans TFS.
Les testeurs n’exécutent pas les mêmes tests en parallèle. Cela peut entraîner le remplacement des résultats en fonction de l’ordre d’exécution.
Pour permettre à plusieurs exécutions de test différentes en parallèle, définissez l’option de déclencheur de phase Azure Pipelines pour le comportement lorsque plusieurs versions attendent d’être déployées comme suit :
Si votre application prend en charge les tests exécutés en parallèle à partir de différentes sources, définissez cette option sur Autoriser le déploiement de plusieurs versions en même temps.
Si votre application ne prend pas en charge les tests exécutés en parallèle à partir de différentes sources, définissez cette option sur Autoriser un seul déploiement actif à la fois.
Q : Comment faire passer des paramètres à mon code de test à partir d’un pipeline de build ou de mise en production ?
R : Utilisez un fichier runsettings pour transmettre des valeurs en tant que paramètres à votre code de test. Par exemple, dans une version qui contient plusieurs étapes, vous pouvez passer l’URL d’application appropriée à chacune des tâches de test de chacune d’elles. Le fichier runsettings et les paramètres correspondants doivent être spécifiés dans la tâche de test Visual Studio.
Q : Quels sont les scénarios d’erreur ou problèmes classiques que je dois rechercher si mes tests ne s’exécutent pas ?
Un: Vérifiez et résolvez les problèmes comme suit :
Le pipeline de mise en production et l’étape dans lesquels je souhaite exécuter des tests ne s’affichent pas après avoir sélectionné la build.
- Assurez-vous que le pipeline de build qui génère la build est lié en tant qu’artefact principal dans l’onglet Artefacts du pipeline de mise en production.
Je reçois une erreur indiquant que je n’ai pas l’autorisation suffisante pour déclencher une mise en production.
- Configurez les autorisations Créer des versions et Gérer les déploiements pour l’utilisateur dans le menu Sécurité du pipeline de mise en production. Consultez Autorisations de mise en production.
Je reçois une erreur indiquant qu’aucun test automatisé n’a été trouvé.
- Vérifiez l’automatisation status des tests sélectionnés. Pour ce faire, dans l’élément de travail pour le cas de test, ou utilisez le lien Options de colonne dans Plans de test Azure pour ajouter la colonne d’état Automation à la liste des tests. Pour plus d’informations, consultez la section conditions préalables.
Mes tests n’ont pas été exécutés et je soupçonne que le pipeline de mise en production est incorrect.
- Utilisez le lien de la page Résumé de l’exécution pour accéder à la version instance utilisée pour exécuter les tests et afficher les journaux de publication.
Mes tests passent à l’état d’erreur ou restent « en cours » même après le déclenchement de la mise en production à l’étape.
- Vérifiez si la phase de mise en production que vous avez sélectionnée a la tâche et la version appropriées sélectionnées. Vous devez utiliser la version 2 ou ultérieure de la tâche de test Visual Studio . La version 1 de la tâche et la tâche Exécuter les tests fonctionnels ne sont pas prises en charge.