Tiers of software deployment architecture
To avoid complexities in taking the code from development to testing, and further to production, it is common to use a multitiered architecture for each stage of the life cycle of the application before deployment to production.
Let's take a look at some of the following common deployment tiers:
Development/Test/Stage/Production: This is the traditional four-tiered architecture.
The developers push their code to a development environment, where unit tests and developer tests are run. This environment will always be on the latest trunk or bleeding edge of the code. Many times this environment is skipped and replaced with the local setup on developer's laptops.
The software is then tested by QA or testing engineers on a test environment using black-box techniques. They may also run performance tests on this environment. This environment is always behind the development environment in terms of code updates. Usually, internal releases, tags, or code dumps...