Difference between sit, qa, dev, int production environments software development life cycle
SIT is system integration testing which is done after the system tests and validates cooperation of more systems
A finely-divided list of tiers (source):
Environment/Tier Name | Description |
---|---|
Local | Developer's desktop/workstation |
Development/Trunk | Development server aka sandbox |
Integration | CI build target, or for developer testing of side effects |
Test/QA | For functional, performance testing, Quality Assurance etc. |
Stage/Pre-production | Mirror of production environment |
Production/Live | Serves end-users/clients |
Let’s start first with a description of the four tiers for software development.
- Development
- Optional. This is the working environment for individual developers or small teams. Working in isolation with the rest of the tiers, the developer(s) can try radical changes to the code without adversely affecting the rest of the development team.
- Integration
- A common environment where all developers commit code changes. The goal of this environment is to combine and validate the work of the entire project team so it can be tested before being promoted to the Staging Environment. It is possible for Development and Integration to be the same environment (as in the case where the developer does not use a local copy of the source code).
- Staging
- The staging tier is a environment that is as identical to the production environment as possible. The purpose of the Staging environment is to simulate as much of the Production environment as possible. The Staging environment can also double as a Demonstration/Training environment.
- Production
- The production tier might include a single machine or a huge cluster comprising many machines.
These tiers speak of “environments” rather than “machines” or “servers.” It is certainly possible for multiple Development environments and the Integration environment to be on the same physical machine, or the Integration and Staging environments to be on the same machine. If at all possible, the Production environment should be by itself and not shared with any of the other environments.
This graphic shows the nature of the work performed in each environment, the responsibilities of actors in each environment, and relative rate of software builds and deployments.
Other useful link: http://programmers.stackexchange.com/questions/117945/dev-vs-stage-environment-vs-prod-environment