Regression testing is a suite of tests designed to detect defects in areas of an application that have already been tested. This is done not to make sure that there are no bugs, but rather to find and fix regression errors.
Regression errors are the same bugs, but they do not appear when writing a code, they appear when a new software build is added to an existing build or other bugs are fixed, which caused new defects to appear in an already tested product. So the goal of regression testing is to make sure that fixing some bugs or adding a new build did not cause new bugs.
After that, bugs that have already been closed are tested again.
1) Regression testing is recommended to be performed several times (3 – 5 times). Test automation is actively used in this type of testing to save time and, perhaps, to get out of routine.
2) For conducting the final regression testing, tests are selected according to the priority which depends on the largest number of errors found.
Regression testing is also actively used in extreme programming and a very popular software testing type.