-) Virtual Server 2005
-) Consuming the Virtual Server 2005 COM API
-) .NET/COM interop
-) Test automation
Often when I walk by the desk of a software developer or tester I notice the arsenal of hardware used to test applications on different operating system versions or configurations. Testing in different configurations is an integral part of the development process, but the time and energy consumed configuring and managing these environments can be taxing. This ultimately comes at the expense of application quality because less time is spent testing while more time is spent building or reconfiguring machines. Microsoft® Virtual Server 2005 improves developer productivity by simplifying the provisioning and management of testing environments. This article demonstrates how the extensive Virtual Server COM API can be used to create an automated application testing environment.
In the context of this article, a virtual machine can be best described as an isolated computer implemented entirely in software, running inside a host hardware-based computer. This makes it possible to have multiple operating systems running simultaneously on a single machine. Windows® 95 and above and even the next version of Windows, code-named “Longhorn,” can run concurrently on a single piece of hardware using Virtual Server. Non-Microsoft operating systems can also run inside a virtual machine. Applications running in a virtual machine behave as if they were running on their own physical system. The virtual machine concept has been around for more than 30 years, but until the advent of products like Virtual Server 2005 it has not been an affordable or manageable solution for application developers and testers.