The specification for an arrangement of hardware, software, and associated environment settings that are required to enable accurate tests to be conducted that will evaluate one or more target test items.
Role:  Test Designer 
Optionality/Occurrence:  One or more artifacts. Where possible, there should be one Test Environment Configuration created and maintained for each specific combination of hardware, software, and environment settings. 
Templates and Reports: 
     
Examples: 
     
UML Representation:  Not applicable.
More Information:   
Input to Activities:    Output from Activities:   

Purpose To top of page

Each Test Environment Configuration specificies an appropriate, controlled setting in which to conduct the required test and evaluation activities. Providing a controlled environment built from a known configuration in which to conduct these activities, helps to assure the results of these efforts are accurate, valid, and have a higher likelihood of being systematically reproduced. A well-controlled Test Environment is an important aspect of efficient failure analysis and fault resolution.

Brief Outline To top of page

Each Test Environment Configuration should consider various aspects including the following:

  • The basic computer hardware requirements; for example, Processors, Memory Storage, Hard-disk Storage, Input/Output Interface Devices
  • The basic underlying software environment; for example, Operating System and the basic productivity tools such as e-mail, calendar system, and so forth
  • Additional specialized Input/Output peripheral hardware; for example, Bar-code scanners, receipt printers, cash draws, sensor devices, and so on
  • The required software for the specialized Input/Output peripheral hardware; for example, drivers, interface and gateway software
  • The minimal set of software tools necessary to facilitate test, evaluation, and diagnostic activities; for example, memory diagnostics, automated test execution, and so forth
  • The required configuration settings of both hardware and software options; for example, video-display resolution, resource allocation, environment variables, and so on
  • The required "pre-existing" consumables; for example, populated data sets, receipt printer dockets, and the like

Properties To top of page

There are no UML representations for these properties.

Property Name  Brief Description 
Name  An unique name used to identify this Test Environment Configuration. 
Description  A short description of the contents of the Test Environment Configuration, typically giving some high-level indication of complexity and scope. 
Purpose   An explanation of what this Test Environment Configuration represents and why it is important; for example, representative production end-user environment, minimal configuration, resource constrained environment, and so forth.  
Dependent Test and Evaluation Items   Some form of traceability or dependency mapping to specific test and evaluation tasks or elements that need to be conducted under this Test Environment Configuration.  
Hardware Inventory   An inventory of the required hardware, both in terms of the environment being emulated, and in terms of test and evaluation specific requirements.  
Software Inventory   An inventory of the required software, both in terms of the environment being emulated, and in terms of test and evaluation specific requirements.  
Configuration Settings   A definition of the required hardware and software configuration settings.  
Consumables Inventory   An inventory of the required items that will be consumed when performing the specific test and evaluation tasks-this covers both soft items (such as existing Test Data) and hard items (such as unique stationery).  
Restoration and Recovery Procedures   The procedures required to achieve restoration or recovery of the Test Environment Configuration.  

Timing To top of page

The primary Test Environment Configuration should be outlined as early as practical, and can often be defined and established by the end of the Inception phase. Addressing this early helps to address the inherent risks in establishing a recoverable Test Environment Configuration by allowing sufficient time to resolve issues. By the end of the Elaboration phase, a range of Test Environment Configurations necessary to perform realistic and complete testing should be identified, outlined, and, where possible, established.

Responsibility To top of page

The Test Designer role is primarily responsible for this artifact. The responsibilities are split into two main areas of concern.

The primary set of responsibilities covers the following definition and management issues:

  • Defining each Test Environment Configuration and approving all subsequent changes to that configuration.
  • Ensuring that changes to the Test Environment Configuration are implemented, validated, and communicated to affected roles.
  • Verifying that Test Environment Configuration restoration and recovery procedures, and their supporting mechanisms, work.
  • Managing access to and availability of each installed Test Environment Configuration.

The secondary set of responsibilities covers the following implementation issues:

  • Implementing each Test Environment Configuration and the investigation, reporting, and, where possible, resolution of failures in the Test Environment Configuration.
  • Implementing restoration and recovery mechanisms, especially related to software build images and consumable soft items such as Test Data.
  • Monitoring for and advising on the availability of version upgrades to both hardware and software.
  • Implementing required changes to each Test Environment Configuration and its recovery procedures in a coordinated manner.

Tailoring To top of page

Where possible, attempt to keep the total number of unique Test Environment Configurations to a minimum and to a  manageable level. This can be achieved by consolidating similar environments, typically where similar base-hardware and software profiles are used with only minor differences existing in the configuration settings. However, be careful not to consolidate Test Environment Configurations to the point of invalidating the integrity and purpose of each configuration.

We recommend the use of hard-disk imaging tools that allow Test Environment Configurations to be backed-up and easily restored. Also consider using removable or swappable hard drives to further improve accuracy and efficiency.

Optionally the Test Environment Configuration can be enclosed within the Software Development Plan



Rational Unified Process   2003.06.13