What's In This Chapter?
As software development projects become more complex, so do the environments in which that software will run. Such an environment could consist of multiple machines, specific firewall (and other security) settings, databases, and a variety of other configurations that could affect the way in which your software behaves.
To effectively test software, testers must create a test environment that simulates the production environment. Traditionally, this could require securing several dedicated physical machines and developing a potentially labor-intensive process for staging those machines on a regular basis with new builds of your software. And, given the variety of possible configurations, it's usually necessary to have multiple test environments in order to find problems that may arise when you ship your software to customers running different environments, each with their own unique configurations.
With the rising popularity and availability of virtualization technology, many testing teams have begun to turn to virtualization to make better use of hardware and to more efficiently stage testing environments. But, despite the advances in virtualization, there are still several challenges related to the process of managing a virtual test lab, which ...