- If you are doing testing only periodically for specific application but that application requires a specific testing environment, what you can do is virtualize that test environment & easily tear it down when you are not performing testing on that application. That frees up the server hardware resources allowing you to test another application that requires another virtual environment. So you can collapse many test configurations down into smaller set of virtual hosts running virtual machines, this also helps easy testing for multiple operating systems such as Windows XP, Windows Vista & Windows 7
Let’s take a closer look at the Visual Studio Lab Management solution. So what does a logical configuration look like if you want to leverage the Lab Management feature?<Click>It starts with having an Active Directory domain.<Click>Next, you’ll need a System Center Virtual Machine Manager 2008 R2, or just SCVMM, installation. This is also included in the Ultimate or Test Professional MSDN subscriptions.<Click>SCVMM can be configured a number of different ways from simple single server configurations to richer and more scalable configurations.<Click>For this example, I’ve got a main SCVMM server and second server to host my virtual machines. In SCVMM parlance, this is known as a library server and you have as many as you want or need.<Click>In order to work with virtual environments, you’ll need one or more Hyper-V hosts.<Click>SCVMM is the engine that manages your VMs. As needed you move VMs from your library server and deploy them on your Hyper-V hosts for used by test and development.<Click>You use Team Foundation Server, with Lab Management configured, and one or more build servers to orchestrate and execute your build-deploy-test workflows.<Click>Developers run Visual Studio 2010 Ultimate.<Click>Testers use Visual Studio Test Professional 2010.<Click>Developers write code and check it into TFS.<Click>A workflow build is started on a build server.<Click>As part of the build, the workflow snapshots the environment, deploys the build output, and runs tests—all based upon the build configuration.<Click>Once complete …<Click>Testers can connect to and use the newly updated environment.<Click>Using Microsoft Test Manager and the Microsoft Test Runner, testers can file rich actionable bugs with links to …<Click>… environment snapshots.<Click>The bug is assigned to a developer. The developer reviews the bug and IntelliTrace log if provided.<Click>Developer then can connect to the environment …<Click>… in the exact state at which the bug was filed to easily pinpoint and then ultimately …<Click>… fix he bug.