Conseils pour un build, un déploiement ou des flux de travail de test

Cette rubrique décrit les approches recommandées pour votre flux de travail de build, de déploiement et de test. Vous pouvez déterminer la meilleure approche à utiliser en fonction de vos besoins. Vos besoins peuvent toutefois évoluer au cours des phases de votre cycle de projet. Au début de votre projet, vous pouvez simplement générer votre application tous les soirs. Lorsque votre projet progresse, vous voudrez peut-être tester la qualité de votre build en ajoutant des tests unitaires au flux de travail. Ces tests sont souvent appelés tests de vérification de build ou tests de détection de fumée. Lorsque vos équipes de tests sont prêtes à exécuter des tests, vous pouvez automatiser le flux de travail pour inclure le déploiement de votre application. Vous pouvez ensuite exécuter des tests manuels ou automatisés sur la version la plus récente de l'application que vous avez déployée. Vous pouvez préférer générer, déployer et exécuter des tests automatisés lorsque votre flux de travail est terminé, afin de vérifier la qualité de votre build une fois qu'elle est déployée.

Vous pouvez exécuter des tests automatisés dans le cadre de ces flux de travail à partir de l'assembly d'un projet de test à l'aide de mstest.exe. Vous pouvez également exécuter des tests automatisés à partir d'une suite de tests de votre plan de test à l'aide de tcm.exe. Pour exécuter des tests automatisés à partir d'un plan de test, vous devez effectuer les tâches suivantes :

  1. Créer un plan de test et une suite de tests : Définition de votre effort de test à l'aide de plans de test.

  2. Associer vos tests automatisés aux cas de test d'une suite de tests : Comment : associer un test automatisé à un cas de test.

  3. Créer un environnement physique ou virtuel : Environnements.

Utilisez les informations des sections suivantes pour installer vos composants logiciels pour les tâches dont vous avez besoin dans votre flux de travail :

  • Spécifications

    La section suivante décrit les spécifications pour utiliser la build, le déploiement et les tests dans le cadre de votre flux de travail : Spécifications.

  • Build

    Si vous souhaitez simplement générer votre application, vous pouvez utiliser le modèle de build par défaut. Pour plus d'informations sur la configuration d'une build, consultez Génération de l'application.

  • Build et test

    Si vous souhaitez exécuter des tests automatisés dans le cadre de votre processus de génération, vous pouvez sélectionner les tests à exécuter depuis votre projet de test à l'aide du modèle de build par défaut. Si les tests sont concluants, la build est considérée comme réussie. Générer et exécuter des tests automatisés

    Important

    Permet d'exécuter des tests dans le cadre du processus de génération à l'aide de mstest.exe. Pour plus d'informations sur mstest.exe, consultez Options de ligne de commande MSTest.exe.

  • Génération et déploiement

    Si vous souhaitez exécuter des tests manuels à partir de votre plan de test à l'aide de la build la plus récente de votre application, vous pouvez générer, puis déployer votre application sur un environnement physique ou virtuel. Générer, déployer et exécuter des tests manuels depuis un plan de test

  • Build, déploiement et test

    Si vous souhaitez vérifier la qualité de l'application après le déploiement, vous pouvez générer et déployer votre application, puis exécuter des tests automatisés depuis un plan de test à l'aide d'un environnement physique ou virtuel. Générer, déployer et exécuter des tests automatisés depuis un plan de test à l'aide d'un environnement

    Important

    Permet d'exécuter des tests dans le cadre du processus de génération à l'aide de tcm.exe. Pour plus d'informations sur tcm.exe, consultez tcm : importation et exécution des tests automatisés pour un plan de test à partir de la ligne de commande.

Spécifications

En fonction des tâches que vous souhaitez effectuer dans votre flux de travail, vous pouvez installer les composants requis pour chaque tâche sur des ordinateurs physiques ou virtuels. L'illustration suivante présente un exemple d'installation du logiciel selon les informations de cette section :

Configuration requise pour la génération, le déploiement et le test

Configuration logicielle pour toutes les tâches

  • Team Foundation Server

Configuration logicielle pour la build

  • Contrôleur de build

    Au moins 1 contrôleur de build est requis pour chaque collection de projets d'équipe

  • Agent de build

    Au moins 1 agent de build est requis pour chaque contrôleur de build

Configuration logicielle pour le déploiement

  • 1 contrôleur de build (il est possible d'utiliser le même contrôleur de build que pour générer l'application)

  • Pour un environnement virtuel : 1 agent de build et 1 agent lab sur chaque ordinateur de l'environnement virtuel

Configuration logicielle pour le test avec les environnements

  • Contrôleur de test

    Au moins 1 contrôleur de test est requis pour chaque collection de projets d'équipe

  • Agents de test

    1 agent de test est requis sur chaque ordinateur de l'environnement

  • Pour un environnement virtuel : 1 agent lab sur chaque ordinateur de l'environnement virtuel (en plus de l'agent de test)

Pour plus d'informations sur l'association de ces composants pour exécuter les tests, consultez Configuration d'ordinateurs de test pour exécuter des tests ou collecter des données.

Pour plus d'informations sur l'installation de ces composants, consultez Installation et configuration des agents Visual Studio, des contrôleurs de test et de build.

Les sections suivantes peuvent vous aider à décider sur quels ordinateurs installer vos composants logiciels. Vous pouvez ensuite déterminer le nombre d'ordinateurs dont vous aurez besoin pour votre installation.

Configuration requise pour les contrôleurs de build et les agents de build

Pour déterminer les ordinateurs dont vous avez besoin, vous devez baser votre topologie sur les informations suivantes :

  • Vous devez avoir un contrôleur de build pour chaque collection de projets d'équipe.

  • Vous devez avoir un seul contrôleur de build sur chaque ordinateur.

  • Dans une installation type, les tâches exécutées par l'agent de build peuvent solliciter le processeur de façon importante. Cela peut nuire considérablement aux performances de votre Team Foundation Server. Dans ce cas,il est préférable que votre agent de build soit sur un ordinateur différent de votre Team Foundation Server.

  • Vous pouvez installer le contrôleur de build sur le même ordinateur que votre Team Foundation Server. Si le contrôleur de build gère de nombreux agents de build actifs, une plus grande partie de mémoire système peut être utilisée. Vous pouvez alors décider d'installer le contrôleur de build sur un ordinateur différent.

Par exemple, si vous avez trois collections de projets d'équipe et que des applications doivent être générées pour chaque collection, vous avez besoin de trois ordinateurs pour les trois contrôleurs de build, ou de deux ordinateurs supplémentaires si vous installez un contrôleur de build sur votre Team Foundation Server.

Important

Pour plus d'informations sur les topologies que vous pouvez utiliser pour installer vos agents de build et vos contrôleur de build, consultez Exemples de topologie du système de génération.

Configuration requise pour les contrôleurs de test et les agents de test

Pour réduire les problèmes de communication entre composants logiciels, nous recommandons d'installer l'ordinateur du contrôleur de test et l'ordinateur Team Foundation Server dans le même domaine. Pour plus d'informations sur l'installation de composants dans des domaines différents ou dans des groupes de travail, consultez Spécifications pour les groupes de travail et les domaines multiples.

Pour déterminer les ordinateurs dont vous avez besoin pour les contrôleurs de test, vous devez choisir la topologie dont vous avez besoin en fonction des informations suivantes :

  • Si vous effectuez les tests avec un environnement physique ou virtuel, vous avez besoin d'un contrôleur de test.

  • Vous pouvez utiliser un contrôleur de test unique avec plusieurs environnements physiques ou virtuels.

  • Vous devez enregistrer un contrôleur de test avec la collection de projets d'équipe contenant vos environnements.

  • Chaque contrôleur de test peut uniquement être enregistré avec une collection de projets d'équipe unique.

  • Chaque contrôleur de test dont vous avez besoin doit être installé sur un ordinateur distinct.

Par exemple, si vous avez trois collections de projets d'équipe pour lesquelles vous souhaitez créer des environnements, vous devez avoir au moins trois contrôleurs de test. Vous avez donc besoin de trois ordinateurs au minimum.

Notes

Si vous devez prendre en charge un grand nombre d'environnements dans une collection de projets d'équipe et que vous avez besoin de plusieurs contrôleurs de test, vous pouvez enregistrer plusieurs contrôleurs de test avec le même Team Foundation Server.

Diminution du nombre d'ordinateurs requis pour les contrôleurs de build et les contrôleurs de test

Si vous avez besoin de plusieurs contrôleurs de build et de plusieurs contrôleurs de test, vous pouvez alléger la configuration requise en installant un contrôleur de test et un contrôleur de build sur le même ordinateur. Par exemple, si vous avez trois collections de projets d'équipe A, B et C et que chacune requiert un contrôleur de build et un contrôleur de test, vous pouvez installer le contrôleur de build et le contrôleur de test sur le même ordinateur. Grâce à cette approche, vous avez uniquement besoin de trois ordinateurs au lieu de six pour installer les contrôleurs.

Générer et exécuter des tests automatisés

Pour utiliser les builds et les tests en tant que tâches de votre flux de travail, vous devez fournir les informations suivantes dans la définition de build par défaut que vous créez :

L'agent de build utilise mstest.exe pour exécuter les tests à partir de l'assembly de test situé dans le dossier cible, comme indiqué dans l'illustration suivante. Vous pouvez utiliser les paramètres de test par défaut (local.testsettings) de la solution pour que votre application exécute vos tests localement à l'aide de l'agent de build.

Notes

Pour utiliser votre fichier local.testsettings dans le cadre de votre processus de génération, vous devez archiver ce fichier dans votre Team Foundation Server.

Vous ne pouvez pas collecter d'informations à l'aide de l'adaptateur de données de diagnostic lorsque vous exécutez des tests avec un seul agent de build. Si vous souhaitez utiliser des adaptateurs de données de diagnostic avec ce scénario, vous devez installer un agent de test sur le même ordinateur que votre agent de build. Vous pouvez également utiliser un environnement physique ou virtuel, comme décrit dans la section suivante : Générer, déployer et exécuter des tests automatisés depuis un plan de test à l'aide d'un environnement.

Générer et tester sans agent de test

Pour obtenir les étapes détaillées pour générer et exécuter des tests pour votre flux de travail, consultez Comment : configurer et exécuter des tests planifiés après la génération de votre application.

Avertissement

Nous vous déconseillons d'utiliser un contrôleur de test avec vos paramètres de test pour exécuter des tests à distance dans le cadre de la définition de build. Si vous souhaitez utiliser des agents de test et des contrôleurs de test, vous devez utiliser un environnement physique ou virtuel, comme décrit dans la section suivante : Générer, déployer et exécuter des tests automatisés depuis un plan de test à l'aide d'un environnement.

Si vous apprenez à utiliser Visual Studio, Team Foundation Server et Team Foundation Build seulement pour définir un flux de travail, vous pouvez installer tous les composants sur un seul ordinateur. Nous vous déconseillons de procéder de cette manière lorsque plusieurs personnes utilisent ce système et que vous exécutez plusieurs builds.

Notes

Pour exécuter des tests codés de l'interface utilisateur, nous recommandons de déployer auparavant votre application dans un environnement physique ou virtuel. Cette approche vous permet d'utiliser ce même environnement si vous devez exécuter des étapes manuelles pour étudier l'échec d'un test. Pour exécuter des tests codés de l'interface utilisateur sans déployer votre application, vous devez configurer l'agent de build utilisé pour pouvoir interagir avec le bureau. Vous devez également installer un agent de test sur l'ordinateur de build et utiliser la build la plus récente du dossier cible pour vos tests. Pour plus d'informations sur la configuration de votre agent de build, consultez Configurer vos agents pour exécuter des tests codés de l'interface utilisateur.

Génération et déploiement

Pour générer et déployer votre application pour votre flux de travail, vous devez utiliser un environnement physique ou virtuel.

Environnements virtuels

Pour utiliser un environnement virtuel qui utilise Visual Studio Lab Management pour générer et déployer, vous utilisez le modèle lab par défaut. Le modèle lab vous permet d'effectuer les actions suivantes :

  • Sélectionner l'environnement virtuel que vous voulez utiliser

  • Sélectionner un instantané pour cet environnement, pour l'utiliser comme point de départ pour le déploiement

  • Sélectionner la définition de build ou la build à utiliser pour déployer votre application

  • Ajouter les scripts à utiliser pour déployer l'application à partir du dossier cible

  • Prendre un instantané de l'environnement virtuel après le déploiement dans le cadre du processus de génération et déployer le flux de travail

Vous pouvez utiliser l'environnement virtuel pour exécuter des tests manuels à l'aide de la génération déployée sur cet environnement. Vous pouvez également exécuter des tests automatisés. Pour plus d'informations sur la génération et le déploiement d'une application dans un environnement virtuel, consultez Comment : déployer une application dans un environnement virtuel. Pour plus d'informations sur l'exécution de tests manuels à l'aide d'un environnement virtuel, consultez Comment : exécuter des tests manuels et créer des bogues non reproductibles avec des environnements virtuels

Environnements physiques

Si vous souhaitez déployer votre application dans un environnement physique, vous pouvez personnaliser le modèle de définition de build. Pour plus d'informations sur la personnalisation d'un modèle de processus de génération, consultez Créer et utiliser un modèle de processus de génération personnalisé.

Vous pouvez utiliser cet environnement pour exécuter des tests manuels ou des tests automatisés à partir de votre plan de test. Pour plus d'informations sur l'exécution de ces tests, consultez Exécution de tests manuels à l'aide de Test Runner et Guide essentiel de l'exécution des tests automatisés à partir d'un plan de test.

Générer, déployer et exécuter des tests automatisés depuis un plan de test à l'aide d'un environnement

Pour exécuter des tests automatisés faisant partie d'un plan de test de votre processus de génération, déploiement et test, vous devez utiliser un environnement physique ou virtuel. La définition de build utilise tcm.exe pour exécuter vos tests. Lorsque vous exécutez ces tests dans le cadre de votre flux de travail, une série de tests est créée pour ces tests et les résultats des tests peut être examinés et analysés à l'aide de Gestionnaire de tests Microsoft. Pour plus d'informations sur l'analyse de vos séries de tests, consultez Comment : analyser des séries de tests à l'aide du Gestionnaire de tests Microsoft. Cela vous permet également de consulter des données historiques sur la qualité de vos builds. Vous pouvez identifier les problèmes de cohérence au niveau de la qualité des builds et les zones de l'application où des tests ont échoué.

Vous pouvez utiliser des ordinateurs physiques ou virtuels lorsque vous créez un environnement physique pour le test, ou vous pouvez utiliser Visual Studio Lab Management pour créer un environnement virtuel. Un environnement virtuel vous permet de déployer votre application en utilisant chaque ordinateur de l'environnement. Un instantané existant permet de connaître l'état de chaque ordinateur. Vous pouvez également prendre des instantanés de l'environnement une fois l'application déployée, afin que de pouvoir revenir à cet état connu pour tester un bogue ou exécuter des tests manuels. Un environnement virtuel vous procure une plus grande flexibilité. Pour plus d'informations sur la création de ces environnements, consultez Création d'un environnement physique à utiliser à des fins de test et Création d'environnements virtuels.

Environnements virtuels

Pour déployer votre application dans un environnement virtuel, vous pouvez utiliser la définition du modèle lab par défaut fournie avec Team Foundation Build. Pour utiliser un environnement virtuel, Visual Studio Lab Management doit être installé. Le modèle lab vous permet d'effectuer les actions suivantes :

  • Sélectionner l'environnement virtuel que vous voulez utiliser

  • Sélectionner un instantané pour cet environnement, pour l'utiliser comme point de départ pour le déploiement

  • Sélectionner la définition de build ou la build à utiliser pour déployer votre application

  • Ajouter les scripts à utiliser pour déployer l'application à partir du dossier cible

  • Sélectionner les suites de tests, les configurations de test et les paramètres de test pour votre série de tests

  • Prendre un instantané de l'environnement virtuel après le déploiement dans le cadre du processus de génération et déployer le flux de travail

Pour plus d'informations sur la configuration de votre définition de build pour le modèle lab par défaut afin de générer, déployer et tester à l'aide d'un environnement virtuel, consultez Comment : configurer et exécuter des tests planifiés après la génération et le déploiement de votre application.

Générer, déployer et tester avec un environnement virtuel

Environnements physiques

Pour déployer votre application dans un environnement physique et exécuter des tests automatisés, vous pouvez personnaliser le modèle d'une définition de build. Pour plus d'informations sur la personnalisation d'un modèle de processus de génération, consultez Créer et utiliser un modèle de processus de génération personnalisé.

Générer, déployer et tester avec un environnement physique

Voir aussi

Concepts

Configuration d'ordinateurs de test pour exécuter des tests ou collecter des données

Autres ressources

Personnalisation du workflow Lab Management