Task: Define Test Environment Configurations
This task describes how to define the requirements for the evaluation environment(s) needed to support the test effort.
Disciplines: Test
Examine Test Approach against software architecture
Purpose:  To refresh your understanding of the approach for the testing and how that will be constrained by the the software architecture. 

Reviewing the test approach, itemize and characterize the key aspects the the test approach. Using this information, review the software architecture and begin to formulate an understanding of the general environmental needs for the testing effort.

Identify each specific deployment environment
Purpose:  To gain an understanding of the number of different deployment environments and become acquainted with the key characteristics of each. 

Using the software architecture as a starting point, locate and review the deployment model and associated information. Identify each specific target environment the software will be deployed on and become familiar with the distinguishing characteristics of each.
Consolidate list of necessary environments
Purpose:  To formulate a consolidated list of a short number of environments that provide the broadest range of environmental experience. 

It's not usually practical to setup and administer a large number of test environments. Economies of scale usually force your hand to accepting a limited subset of the possible target environments you could test. Make a list of all the target environments you have identified, and looks for ways to consolidate and reduce the list to a manageable subset. It's typical for both base hardware and operating system software to be shared across multiple test environments.
For each Test Environment Configuration
Purpose:  To define the essential elements of the each Test Environment Configuration that will enable the required testing to be performed. 

For each Test Environment Configuration you have identified that you should perform your testing against, identify and define the following details.

Identify specific environment needs for each test technique

Using the Test Plan, identify each technique that will be part of the Test Approach. For each technique, list the specific environmental requirements that will need to be satisfied to allow the testing to be undertaken.

Define inventory of base hardware and software

Using the requirements you have identified, begin collating a list of both the hardware and software that will be require to conduct the testing. Keep an eye open to find opportunities for consolidation.

Define detailed inventory of hardware and software to support test process

Now gather the details for each configuration. Be as specific as possible. This may require the assistance of technical support or system administration resources. Try to find the minimum and maximum "extremes" for the possible environments. Often these min/ max extremes are enough to provide a sufficient breadth of environment experience.

Define Test Environment management process requirements

To setup, maintain and manage a test environment is often a difficult and demanding undertaking. Give thought to the management procedures you will adopt to keep the test environment in good working order.

Evaluate and verify your results
Purpose:  To verify that the task has been completed appropriately and that the resulting work products are acceptable. 

Now that you have completed the work, it is beneficial to verify that the work was of sufficient value, and that you did not simply consume vast quantities of paper. You should evaluate whether your work is of appropriate quality, and that it is complete enough to be useful to those team members who will make subsequent use of it as input to their work. Where possible, use the checklists provided in RUP to verify that quality and completeness are "good enough".

Have the people performing the downstream tasks that rely on your work as input take part in reviewing your interim work. Do this while you still have time available to take action to address their concerns. You should also evaluate your work against the key input work products to make sure you have represented them accurately and sufficiently. It may be useful to have the author of the input work product review your work on this basis.

Try to remember that that RUP is an iterative delivery process and that in many cases work products evolve over time. As such, it is not usually necessary-and is often counterproductive-to fully-form a work product that will only be partially used or will not be used at all in immediately subsequent work. This is because there is a high probability that the situation surrounding the work product will change-and the assumptions made when the work product was created proven incorrect-before the work product is used, resulting in wasted effort and costly rework. Also avoid the trap of spending too many cycles on presentation to the detriment of content value. In project environments where presentation has importance and economic value as a project deliverable, you might want to consider using an administrative resource to perform presentation tasks.

More Information