Deployment/Backout/Rollback Testing:

What is a Deployment, Backout, and Rollback Test?

  • 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:

Write code. Go through a test and review cycle. Then ready for customer acceptance. Once accepted ready for the build to be deployed on production and then monitor for any failures. If there are failures Rollback happens otherwise development has been completed.

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.

Test Results:

  • Deployment: testing is often done through the use of Smoke, Integration, Performance/Load, User Acceptance Testing, and Regression testing.
  • Backout: ?
  • 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.

Resource(s):


Index of Testing Types: https://ultra.guide/bin/view/Testing/DifferentTypesSoftwareTestingIndex
Topic revision: r11 - 28 Apr 2020, KellyEverlyHall
© 2020 Ultranauts - 75 Broad Street, 2nd Floor, Suite 206, New York, NY 10004 - info@ultranauts.co