What is test environment management?

What is test environment management?

What is test environment management? How can it be achieved?

    Requires Free Membership to View

    When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSoftwareQuality.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSoftwareQuality.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

Test environment management is the process by which test machines (clients, servers, or both) are managed. There's a lot of data center management happening here. It's super-critical to have clean machines when running automated and manual tests; some groups I've worked with in Microsoft have thousands of physical or virtual machines (VMs) for running tests -- enough that it could require multiple full-time resources to manage them!

Modern lab management tools abound -- probably the best tool for managing labs is the use of virtual machines managed by a central tool. Microsoft's recent release of System Center Virtual Machine Manager (SCVMM) is a great tool for doing this -- it automates provisioning of machines, allows for state saving and quick image recovery, and provides centralized management of all of this. Coupled with enterprise-quality server hardware, test organizations can win significant reductions in both manual resource requirements and power, cooling and floor space. Note that the biggest constraint I have seen in virtualized test labs is hard disk space; most organizations find they need to invest either in a SAN or some very serious RAID array technologies. A knowledgeable virtualization vendor contact will help you determine the correct hardware for you.

Other vendors (VMware, for example) also offer competitive virtualization solutions.

So how would you implement this? First you need to capture your requirements -- do you need to be cross-platform, or do you support/test only on one platform? Do you require complete automation, or can some manual intervention be tolerated? How many virtualized machines do you need, and what are the required hardware specs? Can you run the automation you need in this environment?

Once you have researched and selected your virtualization technology, you need to ensure that the vendor supplying the technology also offers sufficient management control. Can you deploy VMs remotely with a touch of a button? Can you save state? (This is an incredible feature for testing -- when you find a bug, you can just "freeze" the machine's state until your developer has time to investigate.)

When you have all your requirements figured out, and you've selected your vendor, implement the solution. Factor in a serious amount of time for your test team to really figure out the environment and the new tools (expect as low as 50% efficiency during the first couple of weeks). Over the course of a few weeks, though, your productivity should end up net-positive.

This was first published in February 2009