Regression testing is a software testing that focuses on functional and unit testing. Moreover, regression testing is conducted to ensure that changes have not introduced new flaws to previously tested software. The purpose of the regression testing is to prevent the recurrence of issues due to the new change and is intended to ensure that the software functions as it did before the update or changes was incorporated. Furthermore, regression testing is designed to capture unanticipated consequences of software changes prior to deploying them into a production environment. It is usually performed after developers introduce some changes to a software system and works by comparing the test case results against baselines or benchmark results.
Software testing may involve fuzz testing, misuse testing, integration testing, systems testing and so forth types of testing besides to regression testing.