Utiliser Build ou Release Management au lieu de Lab Management pour les tests automatisésUse Build and Release Management instead of Lab Management for automated testing

Si vous utilisez Microsoft Test Manager (MTM) et Lab Management pour les tests automatisés ou pour l’automatisation du cycle générer-déployer-tester, cette rubrique vous explique comment atteindre les mêmes objectifs en utilisant les fonctionnalités Build et mise en production de Team Foundation Server (TFS) et de Visual Studio Team Services (VSTS).If you use Microsoft Test Manager (MTM) and Lab Management for automated testing or for build-deploy-test automation, this topic explains how you can achieve the same goals using the Build and Release features in Team Foundation Server (TFS) and Visual Studio Team Services (VSTS).

Automatisation du cycle générer-déployer-testerBuild-deploy-test automation

MTM et Lab Management se basent sur une définition de build XAML pour automatiser la génération, le déploiement et le test de vos applications.MTM and Lab Management rely on a XAML build definition to automate build, deployment, and testing of your applications. Pour atteindre cet objectif, la build XAML s’appuie sur différentes constructions créées dans MTM, comme un environnement lab, des suites de test et des paramètres de test, ainsi que sur différents composants de l’infrastructure, comme un contrôleur de build, des agents de build, un contrôleur de test et des agents de test.The XAML build relies on various constructs created in MTM such as a lab environment, test suites, and testing settings, and on various infrastructure components such as a Build controller, Build agents, Test controller, and Test agents to achieve this goal. Vous pouvez réaliser la même chose avec moins d’étapes en utilisant Build ou Release Management dans TFS et Team Services.You can accomplish the same with fewer steps using Build or Release Management in TFS and Team Services.

ÉtapesSteps Avec une build XAMLWith XAML Build Avec Build ou Release ManagementWith Build or Release Management
Identifiez les machines sur lesquelles déployer la build et exécutez les tests.Identify the machines to deploy the build to and run tests. Créez un environnement lab standard dans MTM avec ces machines.Create a standard lab environment in MTM with those machines. N/An/a
Identifiez les tests à exécuter.Identify the tests to be run. Créez une suite de tests dans MTM, créez des cas de test et associez une automatisation à chaque cas de test.Create a test suite in MTM, create test cases, and associate automation with each test case. Créez des paramètres de test dans MTM en identifiant le rôle des machines dans l’environnement lab dans lequel les tests doivent être exécutés.Create test settings in MTM identifying the role of machines in the lab environment in which tests should be run. Créez de la même façon une suite de tests automatisés dans MTM si vous prévoyez de gérer vos tests via des plans de test.Create automated test suite in MTM in the same manner if you plan to manage your testing through test plans. Vous pouvez aussi ignorer cette étape si vous voulez exécuter des tests directement à partir des fichiers binaires de test produits par vos générations.Alternatively, you can skip this if you want to run tests directly from test binaries produced by your builds. Il n’est pas nécessaire de créer des paramètres de test dans les deux cas.There is no need to create test settings in either case.
Automatisez le déploiement et les tests.Automate deployment and testing. Créez une définition de build XAML en utilisant LabDefaultTemplate.*.xaml.Create a XAML build definition using LabDefaultTemplate.*.xaml. Spécifiez la build, les suites de tests et l’environnement lab dans la définition de build.Specify the build, test suites, and lab environment in the build definition. Créez une définition de build ou de mise en production avec un même environnement.Create a build or release definition with a single environment. Exécutez le même script de déploiement (à partir de la définition de build XAML) en utilisant la tâche de ligne de commande, et exécutez les tests automatisés en utilisant les tâches Déploiement de l’agent de test et Exécuter les tests fonctionnels.Run the same deployment script (from the XAML build definition) using the Command line task, and run automated tests using Test Agent Deployment and Run Functional Tests tasks. Spécifiez la liste des machines et leurs informations d’identification comme entrées pour ces tâches.Specify the list of machines and their credentials as inputs to these tasks.

Voici quelques-uns des avantages de l’utilisation de Build ou Release Management pour ce scénario :Some of the benefits of using Build or Release Management for this scenario are:

  • Vous n’avez pas besoin d’un contrôleur de build ni d’un contrôleur de test.You do not need a Build controller or Test controller.
  • L’agent de test est installé via une tâche dans le cadre de la génération ou de la mise en production.The Test agent is installed through a task as part of the build or release.
  • Il est facile de personnaliser les étapes de déploiement.It is easy to customize the deployment steps. Vous n’êtes plus limité à l’utilisation d’un seul script.You are no longer restricted to use a single script. Vous pouvez également tirer parti des nombreuses tâches qui sont disponibles dans le produit ainsi que dans Visual Studio Marketplace.You can also take advantage of the many tasks that are available in the product as well as in Visual Studio Marketplace.
  • Vous n’avez pas à gérer des suites de tests.You do not have to maintain test suites. Vous pouvez exécuter des tests directement à partir des fichiers binaires.You can directly run tests from binaries.
  • Vous obtenez des rapports intégrés plus riches pour les tests exécutés dans chaque build ou chaque version mise en production.You get a richer inline reporting experience for the tests that ran within each build or release.
  • Vous pouvez suivre les ressources (version, build, éléments de travail, validations) qui sont actuellement déployées et testées dans chaque environnement.You can track which assets (release, build, work items, commits) are currently deployed and tested on each environment.
  • Vous pouvez personnaliser et étendre l’automatisation pour déployer facilement sur plusieurs environnements de test, et même en production.You can customize and extend the automation to easily deploy to multiple test environments, and even to production.
  • Vous pouvez planifier l’automatisation de façon à ce qu’elle soit déclenchée chaque fois qu’un archivage ou une validation se produit, ou chaque jour à un moment donné.You can schedule the automation to happen whenever there is a check-in or commit, or at a specific time every day.

Gestion des environnements SCVMM en libre-serviceSelf-service management of SCVMM environments

Le Centre de tests de Microsoft Test Manager prend en charge la gestion d’une bibliothèque de modèles d’environnements, ainsi que le provisionnement d’environnements à la demande à l’aide d’un serveur SCVMM.The Test Center in Microsoft Test Manager supports the ability to manage a library of environment templates as well as provision environments on demand using an SCVMM server.

Les fonctionnalités d’approvisionnement en libre-service du Centre lab ont deux objectifs distincts :The self-service provisioning features of Lab Center have two distinct goals:

  • Fournir un moyen plus simple de gérer l’infrastructure.Provide a simpler way to manage the infrastructure. La gestion des modèles de machine virtuelle et d’environnement, ainsi que la création automatique de réseaux privés pour isoler les clones d’environnements les uns des autres, sont des exemples de gestion de l’infrastructure.Managing VM and environment templates and automatically creating private networks to isolate clones of environments from each other were examples of infrastructure management.

  • Fournir un moyen plus simple pour les équipes de consommer les machines virtuelles dans leurs activités de test et de déploiement.Provide a simpler way for teams to consume the virtual machines in their test and deployment activities. Le fait de rendre accessible les environnements lab via le même modèle de sécurité de projet d’équipe et l’utilisation intégrée de ces machines virtuelles dans les scénarios de test sont des exemples de consommation facilitée.Making lab environments accessible through the same team project security model, and integrated use of those virtual machines in test scenarios were examples of easy consumption.

Cependant, en raison de l’évolution des systèmes de gestion des clouds publics et privés de plus en plus riches, comme Microsoft Azure et Microsoft Azure Stack, aucune évolution des fonctions de gestion d’infrastructure n’est présente dans TFS 2017 et ultérieur.However, given the evolution of richer public and private cloud management systems such as Microsoft Azure and Microsoft Azure Stack, there is no evolution of infrastructure management features in TFS 2017 and beyond. Au lieu de cela, c’est la consommation facilitée de ressources gérées via ces infrastructures cloud qui reste en tête des priorités.Instead, the focus on easy consumption of resources managed through such cloud infrastructures continues.

Le tableau suivant récapitule les activités standard que vous effectuez dans le Centre lab, et comment vous pouvez les réaliser via SCVMM ou Azure (s’il s’agit d’activités de gestion d’infrastructure), ou via TFS et Team Services (s’il s’agit d’activités de test ou de déploiement) :The following table summarizes the typical activities you perform in Lab Center, and how you can accomplish them through SCVMM or Azure (if they are infrastructure management activities) or through TFS and Team Services (if they are test or deployment activities):

ÉtapesSteps Avec le Centre labWith Lab Center Avec Build ou Release ManagementWith Build or Release Management
Gérez une bibliothèque de modèles d’environnement.Manage a library of environment templates. Créez un environnement lab.Create a lab environment. Installez les logiciels nécessaires sur les machines virtuelles.Install necessary software on the virtual machines. Préparez le système et stockez l’environnement sous forme de modèle dans une bibliothèque.Sysprep and store the environment as a template in library. Utilisez la console d’administration SCVMM directement pour créer et gérer des modèles de machine virtuelle ou des modèles de service.Use SCVMM administration console directly to create and manage either virtual machine templates or service templates. Lorsque vous utilisez Azure, sélectionnez l’un des modèles de démarrage rapide Azure.When using Azure, select one of the Azure quickstart templates.
Créez un environnement lab.Create a lab environment. Sélectionnez un modèle d’environnement dans la bibliothèque et déployez-le.Select an environment template in the library and deploy it. Spécifiez les paramètres nécessaires pour personnaliser les configurations de machine virtuelle.Provide the necessary parameters to customize the virtual machine configurations. Utilisez la console d’administration SCVMM directement pour créer des machines virtuelles ou des instances de service à partir des modèles.Use SCVMM administration console directly to create VMs or service instances from templates. Utilisez le portail Azure directement pour créer des ressources.Use Azure portal directly to create resources. Vous pouvez aussi créer une définition de version avec un environnement.Or, create a release definition with an environment. Utilisez les tâches Azure ou des tâches de l’extension d’intégration de SCVMM pour créer des machines virtuelles.Use the Azure tasks or tasks from the SCVMM Integration extension to create new virtual machines. La création d’une nouvelle version de cette définition équivaut à créer un nouvel environnement dans le Centre lab.Creating a new release of this definition is equivalent to creating a new environment in Lab Center.
Connectez-vous aux machines.Connect to machines. Ouvrez l’environnement lab dans la visionneuse d’environnement.Open the lab environment in Environment viewer. Utilisez la console d’administration SCVMM directement pour vous connecter aux machines virtuelles.Use SCVMM administration console directly to connect to the virtual machines. Vous pouvez aussi utiliser l’adresse IP ou les noms DNS des machines virtuelles pour ouvrir des sessions Bureau à distance.Alternatively, use the IP address or DNS names of the virtual machines to open remote desktop sessions.
Prenez un point de contrôle d’un environnement ou restaurez un environnement à un point de contrôle correct.Take a checkpoint of an environment, or restore an environment to a clean checkpoint. Ouvrez l’environnement lab dans la visionneuse d’environnement.Open the lab environment in Environment viewer. Choisissez entre prendre un point de contrôle et restaurer à un point de contrôle antérieur.Select the option to take a checkpoint or to restore to a previous checkpoint. Utilisez la console d’administration SCVMM directement pour effectuer ces opérations sur les machines virtuelles.Use SCVMM administration console directly to perform these operations on virtual machines. Pour effectuer ces étapes dans le cadre d’une automatisation plus vaste, vous pouvez aussi inclure les tâches du point de contrôle à partir de l’extension d’intégration de SCVMM dans le cadre de l’environnement dans une définition de version.Or, to perform these steps as part of a larger automation, include the checkpoint tasks from the SCVMM Integration extension as part of the environment in a release definition.

Création d’environnements isolés du réseauCreation of network isolated environments

Un environnement lab isolé du réseau est un groupe de machines virtuelles SCVMM qui peut être cloné en toute sécurité sans provoquer de conflits réseau.A network isolated lab environment is a group of SCVMM virtual machines that can be cloned safely without causing network conflicts. Ceci a été effectué dans MTM à l’aide d’une série d’instructions qui ont utilisé un ensemble de cartes réseau pour configurer les machines virtuelles dans un réseau privé, et un autre ensemble de cartes réseau pour configurer les machines virtuelles dans un réseau public.This was done in MTM using a series of instructions that used a set of network interface cards to configure the virtual machines in a private network, and another set of network interface cards to configure the virtual machines in a public network.

Toutefois, vous pouvez utiliser VSTS et TFS, conjointement avec la tâche de génération et de déploiement SCVMM, pour gérer des environnements SCVMM, provisionner des réseaux virtuels isolés et implémenter des scénarios de génération-déploiement-test.However, VSTS and TFS, in conjunction with the SCVMM build and deploy task, can be used to manage SCVMM environments, provision isolated virtual networks, and implement build-deploy-test scenarios. Par exemple, vous pouvez utiliser la tâche pour :For example, you can use the task to:

  • Créer, restaurer et supprimer des points de contrôleCreate, restore, and delete checkpoints
  • Créer des machines virtuelles à l’aide d’un modèleCreate new virtual machines using a template
  • Démarrer et arrêter des machines virtuellesStart and stop virtual machines
  • Exécuter des scripts PowerShell personnalisés pour SCVMMRun custom PowerShell scripts for SCVMM

Pour plus d’informations, consultez Créer un environnement isolé du réseau virtuel pour les scénarios de génération-déploiement-test.For more information, see Create a virtual network isolated environment for build-deploy-test scenarios.