Test Environment Management
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
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
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 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)
Tools used
- 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.
- 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.
- 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.
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
- 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.