Test Environment Management

A well-controlled test environment is an important aspect of efficient failure analysis and fault resolution. It also provides a solid basis, so that results can be systematically reproduced

Introduction

A well-controlled test environment is an important aspect of efficient failure analysis and fault resolution. It also provides a solid basis, so that results can be systematically reproduced.

Test Environment Management shall ensure that we properly maintain the defined test environments in a professional and effective manner to execute the test scenarios or replicate bugs. This includes

  • Create test environments based on the test environment configurations
  • Maintain test environments to be up-to-date
  • Monitor environments
  • Maintain a central repository of test environments configurations
  • Allocate test environments for teams and team members

The benefits of proper test environment management are obvious:

  • Control of test hardware and software used to define software component and product quality
  • Effective management of valuable test assets
  • Impact assessment for configuration and environment changes, including replacement and upgrade
  • Enabling configuration progression and reversion
  • Single, centralized source of accurate and up to date configuration management information

Configuration Management and Test Environment Management

As already mentioned in  Test Architecture, Environment Configuration is one activity of Configuration Management. Test Environment Configuration focuses on test environments specifically and may contain configuration items which are only relevant for testing and not part of configuration management, e.g. baseline (customer database, artificial data). Therefore, any item that is relevant for testing and not covered in the configuration management of a project needs to be covered via test environment management.

Process

This is an example process and has to be adjusted to your company needs. But it should give you an indication what steps are rquired

StepSummaryDescription / CommentsRelevant StakeholdersRelevant Documents
Identify Configuration Items (CI)Identify all possible parameters for your test environment. The following list shows some examples:
▸Hardware specifications
▸ Server and Client Scenarios
▸ OS Type and Version
▸ OS Configuration
▸ Network
▸ Supported Browser or Plugins
▸ …
Align with the Configuration Management Plan as some of the identified configuration items may be managed already as part of it.▸ Configuration Manager (Contribute)
▸ SW Architect (Contribute)
▸ Configuration Management Plan (Input)
▸ Software Test Architecture Document (Output)
Analyze impact/relevanceDocument the analysis in the “Test Architecture Document”. It shall consider
Name of the Configuration Item
Analysis: Possible options and impact for testing
Decision: Is it important or not? how or which possible options are considered?
Rational (especially if not considered for testing)
Prioritization: Involve the project team including PL and PO.
The decision to choose or not to choose a certain parameter shall be clear and understood/supported by everyone▸ Product Owner (Contribute)
▸ Test Manager (Contribute)
▸ Developer / Test Eng. (Contribute)
▸ SW Architect (Contribute)
▸ GCS (Contribute)
▸ Project Lead (Inform)

▸ Test Environment Configuration (TEC) (Output)
▸ Documented in Software Test Architecture Document or Configuration Management Plan (Output)
Identify test environment configurations (TEC)Based on the analysis compose your test environment configurations.
▸ Keep the amount of different configurations in a manageable size
▸ Document them in the Software Test Architecture Document
In order to be able to reproduce test data or results at any time, document your test environment in the required level of details to be able to re-create the exact same test environment at any time.
▸ Use unique identifier for reference (i.e. Test Environment Configuration ID or TECID)
▸ Use a naming convention which helps to quickly identify the environment without going into details of the definition in the “Test Architecture Document”
▸ Developer / Test Eng. (Contribute
▸ Product Owner (Inform
▸ Configuration Manager (Inform)
▸ Test Environment Configuration (TEC) (Output)
▸ Documented in Software Test Architecture Document or Configuration Management Plan (Output)
Map/model configurations in test management toolUse the unique identifiers TECID to map/model the configurations in the test management tool.This provides the ability to plan and document the execution of test cases on different test environments▸ Test Manager (map/maintain)
▸ Test Engineer (map/maintain)
N/A
Create/Maintain test environmentsDevelopers and Test Engineers shall have the empowerment to create the environments they need for testing.The Software Test Architect is responsible to ensure that test environment configurations are created as agreed in the Software Test Architecture Document and/or ensures that the document is updated accordingly when new configurations are needed.
SW Build and Release Engineer shall be informed what exists/needed as he is the one responsible for the continuous delivery pipeline
▸ Developer / Test Eng. (create / maintain)
▸ SW BR Eng. (Inform)
▸ Test Environment Configuration (TEC) (Input)
▸ Adequately configured test environments (Output)