Test Environments

Operations refers to the services and service management provided to the Software Development business and/or its customers. Operations includes services such as environment provisioning, networking, support, asset management, service management, estate management etc.

Test Environments are a configuration of storage, processing and computing resources used to test a product.

Test Environments may be virtual or physical. Ideally test environments will represent target deployment environments but often they will be simplifications (for example when deploying federated systems to large scale networks). At higher levels of Done test environments will be closer to user and/or deployment environments, or may share a segregated part of these live environments. Deterministic environments, and containerization, combined with the need for many test environments mean that cloud services are well suited to provide Test environments through Infrastructure-as-a-Service.

A range of tooling may be necessary in Test Environments depending on the organization’s Quality practices ranging from Automated Functional Testing Tools, Performance Testing Tools, Penetration Testing Tools etc. and the different levels of Done used e.g. local testing, system testing, End 2 End test environments and user acceptance environments. Each of these combinations may give rise to a specific test environment.

Continuous Integration practices ensure that changes, environments and products are promoted to test environments for more in-depth automated and manual testing only if they’ve already passed the earlier “Unit Tested” Definition of Done.

Quality is meeting the true end goals of the customer. Quality indicates how well, from a Customer’s perspective, a product meets its functional and non-functional requirements – without problems. Quality is an indirect measure of how much business value a product delivers but a direct measure of the relationship between users and a product.