Deployment: are often a suite of tests that ensure that the act of introducting new or updated code or equipment onto Production does not break the software or hardware in any way.
Backout: the processes required to restore a system to its original or earlier state, in the event of a failed or aborted implementation.
Rollback: is used to maintain database integrity, rollbacks are performed when system operations become erroneous. In worse case scenarios, rollback strategies are used for recovery when the structure crashes. A clean copy of the database is reinstated to a state of consistency and operational stability.
The transaction log, or history of computer actions, is one way to utilize the rollback feature.
Another way is to rollback through multiversion currency control, an instantaneous method of concurrently restoring all databases.
Cascading Rollbacks: a failed transaction causes many to fail. All transactions which the failed transaction supports must also be roll backed. Developers try to avoid this scenario.
Newly built applications on the new environment will not have a Rollback Test due to the fact that they might not be a previous instance/version in the old environment. In those cases only a Backout process for the code from the installation bed will be applicable
NOTE: it is advisable to run a Smoke test after the Rollback
Development Life Cycle, One Example:
Function of Deployment, Backout, and Rollback Tests:
Deployment: is to ensure nothing gets broken during the deployment of new software or hardware.
Backout: list of detailed steps and techniques for uninstalling or deintegrating a new system, as well reversing process changes.
Rollback: to determine that the functions are restored to its original or earlier state, in the event of failed or aborted implementation.
Rollback: there must be proof that when something has been deployed to the new Production environment, that if something goes wrong or breaks the system can be set back to the old Production envionment. Often this is done by shutting down the new environment and seeing that the user gets redirected to the old environment.