What is a test environment?
The test environment is arguably the most important tool of a tester, it is one of the critical success factors of testing. It is what the tester needs to execute the test cases. No matter how well developed test cases are, how well educated the testers are, whenever the test environment stops, all dynamic testing stops.
In practice, many teams just have to make do with what they have. Tests are limited to what can be tested, and not to what should be tested, as agreed in e.g. a (Master) Test Plan. And they often lack the skills or knowledge to discuss and direct the set-up of the test environment in order to control what the test environment can do and how this is to be achieved.
The test environment consists of a number of distinct areas:
- Systems and applications
- Test data
- Client environment, incl. all kinds of devices
- (Enterprise) Server
with Tooling as an overarching, binding influence.
But just as important as the technological side of the test environment are the organizational and procedural side: designing, building, provisioning and cleaning up test environments requires a well established demand-supply organization with effective and efficient orchestration and management processes.
On the demand side of test environment management testers, developers and even users need to provide sufficient input for the ‘techies’ to be able to build and provision the environment. ’testers with an affinity for technology’ or ‘techies with an affinity for testing’ (often known as test environment managers) play an important intermediate role between the distinct worlds of software development projects and teams and infrastructure technology.
On the demand side:
- Test environment requirements
- Application landscape
- Overview functional owners
- Overview technical owners
- Interfaces overview
- Database schema
- Project Start Architecture
- Intake test environment checklist
On the supply side
- Work instructions
- Service catalogue
- Deployment schedule
- Change or release schedule
- Organizing Test Environment Management according to a demand/supply model.
- Test Driven Infrastructure, based on requirements specified by demand.
- Appointing single point of contacts for the demand side and the supply side of the test management organization.
- Insight in the usage and growth of the test infrastructure artifacts.