Test Environment Management

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Test Environment Management (TEM) is a function in the software delivery process which aids the software testing cycle by providing a validated, stable and usable test environment to execute the test scenarios or replicate bugs.

How its need arose[edit]

In the testing phase, the team structure of the test team varies as per the stage of a current project. Many times the testers working on the project in a team keep changing and the knowledge of the environments used for a particular test cycle is lost. Moreover, the test environments are continuously evolving and it becomes eminent for someone to own the test environment configuration and its usage details. This is where establishing a test environment management (TEM) would prove to be a boon.

List of activities[edit]

The activities under the TEM function include –

  • Maintaining a central repository of test-environments in scope with their latest version and connectivity details (Information management)
  • Allocation of test environments (booking/scheduling) to teams as per requirement. (Demand management)
  • Creation of new test environments as per requirement. (Supply management)
  • Environment Monitoring (Monitoring)
  • Deleting/ updating outdated test-environments and its details (Housekeeping)
  • Preliminary investigation of issues on the environment and sometimes co-ordination till an issue resolution (Incident Management)
  • Analyzing data for environment issues, identifying trends and taking pro-active steps to resolve issues / co-coordinating for a long term fix. (Problem Management)
  • Test Data Management to ensure that test data is available to testers when needed via a TDM tool or test data refresh from other environments
  • Status Accounting to report on service, usage, and availability metrics to provide full transparency into test environment management activities
  • Continuous Improvement to continuously evaluate test environment management services for improvement opportunities (people, process, and tools)
  • Automation to eliminate manual tasks as much as possible to improve efficiency

Tools used[edit]

  1. Configuration Management Database software : This tool would be required to maintain a repository of the environment components and its versions. The data in this tool would also be helpful in incident management and problem management.
  2. Booking tool : This tool would be required to capture the allocation of test environments and to check for the availability of the environments. Usage analysis can also be captured in it.
  3. Problem / Incident management tools : This tool would be used to capture the problem / incident data and to manage the life-cycle of the incident / problem. Reports generated based on this data would give good insights into the health of the test environments.
  4. Test Data Management tool: This tool allows testers to create, recycle, mask, and use their test data on demand.

Many teams use spreadsheets instead of using specific tools for the first two areas if the data is less. However, if the data is more, it is recommended to use specialized tools for it.

The overheads[edit]

  • Cost of maintaining a separate team for environment management would need to be justified.
  • A lot of co-ordination work would need to be done by the TEMs proactively to ensure they have the latest updates available.