Regression testing is carried out at the end of the development process or at the end of a sprint to make sure that the whole website or app continues to work correctly and that no new issues have been introduced.
We normally think of regression testing in cycles, so that once a major piece of work has been completed and the initial testing has been carried out, bugs raised, fixed and verified, a full regression test cycle would then commence.
For agile testing, we would normally have some element of regression testing in each sprint but it really depends on the stories that are included in the sprint. At an early stage to an agile project there may be nothing to gain by carrying out regression testing but nearer to the end of the project there should be regression testing as the project is getting ready for launch.
Similarly, as part of our Regular Testing and Retained Testing services, we would implement some form of regression testing and would usually carry out partial regression test cycles, focusing on core functions, rather than full regression testing, although that is still an option.
If a regression test cycle results in multiple issues being raised then another regression test cycle may be required once those issues are fixed and verified.