This is the environment where the application or service is deployed and made available to end-users or customers.
This is where the final version of the software is tested and deployed after it has passed through the various stages of development, such as coding, testing, and quality assurance. The production environment is often referred to as the "live" or "real-world" environment.
Ideally, testing activities are no longer done in this environment. However, investigations and debugging can be done when issues are raised by the end-users.
Expectations:
No CRITICAL issue should be existing in this environment.
Only release candidates that went through rigorous testing (such as but not limited to Regression, Smoke and Sanity Testing) and Signed Off by the QA Team should be deployed in this environment.
UAT (User Acceptance Testing) Environment
This is a specialized environment that is used to test new software applications or features in a simulated production environment with real-life data and end-users. It is often the final stage of testing before a software application or feature is deployed to the production environment.
This is designed to closely resemble the production environment in terms of its hardware, software, and configuration settings. It is also populated with real data and is made available to actual end-users who are representative of the intended audience.
The purpose of UAT environment is to ensure that the new software application or feature is tested under realistic conditions and that it meets the needs and expectations of end-users. This allows stakeholders to evaluate and provide feedback on the software application or feature before it is deployed to the production environment.
Testers and end-users will perform a series of tests on the new software application or feature, including functional tests, performance tests, security tests, and usability tests. Any issues or defects identified during the testing process will be reported and addressed by the development team before the software application or feature is approved for deployment to the production environment.
Expectations:
Staging Environment
This is a separate environment used to test and validate changes to a software application or service before they are deployed to the production environment. It is a replica of the production environment, but is isolated from actual end-users, and typically used by developers, testers, and other stakeholders to test changes and ensure that they work as intended.
The purpose of a staging environment is to catch any issues or errors that may occur before they affect end-users in the live production environment. This allows developers to test changes and fixes without risking any downtime or negative impact on users. In addition, a staging environment can help ensure that new features or changes are properly integrated with existing systems, and that they do not cause conflicts or compatibility issues.
Typically, a staging environment is set up to closely mirror the production environment in terms of its configuration, hardware, software, and network settings.
This environment is also used during regression testing once release candidates are made available and deployed in this environment. Release candidates must have the tickets included on the release as this is used as reference for sanity testing.
Expectations:
Regression Testing should be done in this environment and not on Develop Environment since this environment is expected to be more stable and away from any sudden changes in the code.
Issues could still be found in this environment so fixes are still constantly deployed to stabilize the release candidate in this environment.
Develop Environment
This is a specialized environment that is used by software developers to build and test new software applications or features. It is typically a standalone environment that is separate from the staging and production environments, and is used for the initial stages of software development.
This environment is mostly used by developers to write and test code, debug applications, and experiment with new features and functionality. It is also used to integrate new code with existing systems and applications, and to ensure that new code will work properly before it is deployed to the staging environment.
Verification of tickets is also done in this environment by the QA Team. Newly developed test cases are also executed in this environment to make sure that acceptance criteria are met before a ticket is allowed to be included on the release candidate that is going to be deployed to the staging environment.
Expectations:
Bugs will always be discovered in this environment especially during verification.
This environment will have an unstable version of the product with changes being deployed from time to time.
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (