Regression testing is any type of software testing that seeks to uncover software errors after changes to the program (e.g. bugfixes or new functionality) have been made, by retesting the program. The intent of regression testing is to assure that a change, such as a bugfix, did not introduce new bugs.[1] Regression testing can be used to test the system efficiently by systematically selecting the appropriate minimum suite of tests needed to adequately cover the affected change. Common methods of regression testing include rerunning previously run tests and checking whether program behavior has changed and whether previously fixed faults have re-emerged. “One of the main reasons for regression testing is that it’s often extremely difficult for a programmer to figure out how a change in one part of the software will echo in other parts of the software.”[2] This is done by comparing results of previous tests to results of the current tests being run.