What is it?

Regression testing verifies if other related features and workflows that were not directly changed were not negatively impacted in some way. The scope of this testing is intentionally broader, especially if there are complex downstream processes from the functionality being created or changed.

Who does this testing?

This could be completed by analysts on a quality assurance team. Some teams will have their business or technical analysts complete testing. Generally, having this kind of testing completed by someone other than the developer of the code is ideal to ensure there is a fresh set of eyes on the changes and the expectations of how a change works.

Any advice on making a test plan?

The scope of testing should expand beyond exactly was changed or created through the development work at hand to other related and unrelated features in the app. This verification is ideally broad, and if possible can be automated in part or whole.

This testing is typically completed in an internal or non-production environment of some kind to ensure unintended bugs do not make their way to production.