Working with Virtual Environments for Development
As you write and test the code for your application, you have the choice of working in the environments you create on either physical or virtual machines. An environment consists of a set of roles. A role specifies the purpose of a machine in the environment, for example, a Database Server. The environment enables you to run tests, collect data, or perform system actions on machines for each specific role. You can select which machines to use in an environment, based on the properties of each role.
By using Visual Studio Team Lab Management and Microsoft Test and Lab Manager, you can create and use virtual environments in a variety of development tasks.
If you are developing one or more components of a multitier application, you can use a single virtual environment that contains multiple virtual machines. Each virtual machine constitutes a separate tier of your application. In most cases, you would want a virtual environment to mimic the way the application would be set up in production.
If you are developing a server application that can be deployed in multiple topologies, you can define a separate virtual environment for each topology. For example, you might want to test your server application in two topologies: 1) where the database and application tiers are co-located on the same machine, and 2) where the two tiers are located on different machines. You can then define one virtual environment for the first topology and one virtual environment for the second.
If you are developing a desktop or client application, you can create the virtual environment by using a single virtual machine.
You can also define a virtual environment that has only some components of the application. Other components are shared across environments. For example, if your application needs a large database, then you can choose to host a shared database on a physical machine. All virtual environments will just have virtual machines for the client and application tiers.
Finally, if your test matrix requires using different kinds of operating systems or different languages, you can create multiple virtual environments to cover the requirements in each cell of the matrix.
Use the following topics to help set up your virtual environments:
Review the advantages of using Hyper-V to create virtual machines.
Set Up Your Virtual Environments for Development: You can use a virtual environment to develop multitier applications or run unit tests. The virtual environment consists of test agents, test controllers, and lab agents that are installed on virtual machines. If you want to automatically deploy new builds to the machines in your environments, you can also install a build agent on your virtual machine.