The goal of the test environment is to model the operating system that you want to deploy and assess compatibility before deploying the operating system to your production environment. Your test environment is composed of computers on which the new operating system is installed. Your test environment can be a long-term investment. Consider retaining the test environment after deployment to assist in future deployment projects.

Modeling the Production Environment

We recommend the following practices for setting up your test environment:

  • Physically separate your test environment from your production environment. Physical separation helps ensure that activity in the test environment does not affect the production environment.

  • On the computers in your test environment, install the new operating system.

  • Perform all of your tests by using accounts that have similar permissions to the accounts in your production environment. This approach helps to ensure that you can determine potential security issues.

Configuring the Test Environment for Automated Testing

Typically, tests are run more than once, which requires being able to revert your test environment to a previous state. We recommend the following practices to ensure consistency in testing and consistency in restoring the state of your test environment:

  • Use disk-imaging software to create physical disk images.

  • Use software virtualization features to reverse changes to virtualized hard disks.

Determining When Virtualization Is Appropriate

The following table shows some of the advantages and disadvantages of virtualization.

Advantages Disadvantages
  • Supports a large number of servers in a limited amount of physical space. You can run as many virtual servers as the physical computer’s resources allow.

  • Easily shares your test environment between teams. For example, your test team can create a virtualized test environment and then provide a copy to your development team for use in its development processes.

  • Supports multiple users performing simultaneous testing, mimicking the ability for each user to have a dedicated test environment.

  • Easily restores your environment to a previous state. For example, you can revert to a previous state by using the Undo Disks option.

  • May reduce performance. Virtualized servers may be slower than their physical counterparts. The performance of virtualized servers is reduced because physical resources such as disks are virtualized.

  • May not support all applications and device drivers. Some hardware-specific device drivers and applications are not supported in virtualized servers.

Testing Methodology

When testing an application in a new operating system, we recommend the following methods:

  • Retain the default security-feature selections.

  • Use test automation tools to run your test cases in a consistent, reproducible way.

  • Use your application in the same way that you use it in your production environment.

  • Use the Compatibility Monitor tool in the runtime-analysis package to gather compatibility feedback.

  • Send and receive compatibility data to obtain data and solutions through the Microsoft Compatibility Exchange.

  • When testing a website or a web application, include both intranet and extranet sites, prioritizing the list based on how critical the site or the application is to your organization.