The Team Foundation Server 11 Developer Preview introduces a number of simplifications and enhancements in Lab Management. The primary one you will notice in the developer preview is the introduction of ‘Standard environments’. Here is a brief summary of what Standard environments are and what you can do with them.
Ever since we released Lab Management we’ve gotten feedback from a segment of our customers that they love the Lab Management promise but aren’t ready to bite off SCVMM & Hyper-V. Some people use VMWare other just want to just automate the physical machines they use today. Standard environments now enable more flexibility, allowing you to use VMWare, physical machines, etc.
Standard environments help you quickly get started with testing on multi-machine environments and to be able to run functional automated tests as part of continuous integration cycle. You can get started with creating standard environments the day you setup your TFS. You do not need to setup Hyper-V servers or configure System Center Virtual Machine Manager in TFS. With standard environments, the whole process of creating an environment is a matter of a few simple steps.
1. Configure a test controller for your team project collection. All projects within the collection can share this controller. Or, you can scale up by adding more controllers.
2. Let us say you want to setup a 2-machine environment for running post-build automated tests – a client running Windows 7, and a server running Windows Server 2008 R2 SP1 to act as the web server and database server. Have these machines provisioned from wherever is the norm in your enterprise – this could be your IT managed lab, VMWare VMs, physical machines, or anything. Install the pre-requisites needed for your application on these machines.
3. From the Lab Center in Microsoft Test Manager, run the wizard to create a new Standard environment. As part of this wizard, specify the names of the machines from (2) above, and an administrator credential to connect to those machines. If you want to run Coded-UI tests as part of automation, then select that option in the ‘Advanced’ tab of the wizard.
4. That’s all you have to do in order to create an environment. You will notice that a test agent automatically gets downloaded and installed in all machines of the environment. This is the only agent that is needed in Version 11 of Lab Management in order to deploy builds or run tests. At the end of the creation process, your environment should be "Ready" for use.
5. Ensure that you have a test plan with automated tests as well as a test settings to run those tests on the environment.
6. Create a build definition using Visual Studio Ultimate 11 Developer Preview and choose LabDefaultTemplate.11.xaml as the template. This is the new build-deploy-test automation template that allows you to select a standard environment for running your automation.
7. Queue the new build, and see how the automation runs on the environment.
To summarize, the whole process of installing agents and preparing an environment that is ready for build verification is done with a few clicks. You do not need to setup SCVMM environments in order to use build-deploy-test automation features. A ‘standard’ environment will suffice.
Of course, SCVMM environments are still supported, and have been enhanced as well to support auto-installation of agents. With SCVMM environments, you get the additional benefits of using snapshots as part of your testing scenarios.
Here are a few common questions that you might be seeking answers to:
1. The Developer preview of Lab Management does not yet support Windows 8 Servers, Windows 8 guests, or SCVMM 2012 Release Candidate. Support for these is in the works.
2. The whole process of auto-installing the agent and configuring it is streamlined only for domain-joined machines (that have a trust relationship with Test Controller) in standard environments. If you are using workgroup machines in standard environments, you still have to setup shadow accounts.
3. The only supported operating systems for machines to be used in standard environments are Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2, and Windows Server 2008 R2 SP1.
For more information, see: MSDN documentation.