Regression testing is a type of software testing that is performed to ensure that previously developed and tested software still performs correctly after it is changed or interfaced with new code. It validates that a recent change to a system did not break existing features. Regression testing is important because software changes often introduce new bugs, so it is used to catch coding errors like unexpected side effects or collateral damage from an update.