Glossary: EnvironmentGlossary
An environment is a specific configuration and context where an application runs, namely the hardware, operating system, other applications, utilities, dependencies, libraries, and configurations and settings. What an application does and how it performs depends on the environment in which it runs.
Here are the general categories of environment in an ideal software development scenario:
- Development environment: An environment where developers build the application. This environment is optimized for writing software, typically running on a developer’s computer and has the presence of developer tools, dependencies, and libraries.
- Sandbox environment: An environment explicitly designed for isolated and safe experimentation during development. They use dummy data and do not impact any real systems or data.
- Testing environment: A testing server where automated tests (such as unit and integration tests) are run to verify the functionality. Test data is used to avoid any impact on real users.
- Staging environment: A staging server where the setup mimics the production environment as closely as possible in order to simulate the actual conditions under which the application will be run. This is used for fine-tuning and user acceptance testing (UAT).
- Production environment: The live system where real users make use of the application.
Are we missing anything? Let us know