"Squirrels bury nuts to prepare for winter. They will go back and uncover them to keep a fresh memory of their location and to check the integrity of the nut."
Regression testing is an approach to ensure that the existing functionality of the software has not been compromised by changes in the code. Any defects found during a Regression test that only appeared after the code had changed are referred to as regressions. A regression test is normally built from a sub-set of existing functional test cases. A Smoke test is done to make sure that the critical functionalities of the software are working correctly. Whereas a Sanity test is performed to check that only newly added functionality is working correctly.
Regression testing is performed towards the end of the development lifecycle's testing phase, after Functional testing is complete and associated defects have been fixed. However, a Regression test can be carried out after any large change to the application, for example a new feature. Normally, a single Regression test is performed. But, if a large number of issues are detected, then subsequent rounds of Regression testing can be implemented. Sanity testing and Smoke testing is predominantly carried out prior to deployment to provide confidence that no obvious issues are present. After release, Regression and/or Smoke and Sanity testing can also be used in association with updates and hot-fixes.
Our QA team will provide you with ongoing communication every step of the way, ensuring that the Regression, Sanity and Smoke testing is efficient and effective. The process diagram below will give you an idea of how Regression testing would typically work. If you have any questions, just let us know!