CS447 Lecture Notes - Lecture 1: Version Control, Uptodate, Unit Testing
Document Summary
Regression testing refers to any software testing that uncovers errors by retesting the modi ed program (wikipedia). This form of testing often refers to large combined sets of test cases to detect regressions: of a bug x that a developer has proposed, of related and unrelated other features that have been added. Regression testing usually refers to system level (integration level) testing that runs the entire process. Regression tests usually have the following attributes: automated: no real reason to have manual regression tests, appropriately sized: too small and bugs will be missed. Too large and they will take a long time to run. Optimally, we want to run tests continuously: up-to-date: ensure that tests are valid for the version of program being tested. Regression tests often have a low yield in terms of nding bugs. If the input is from a le, regression tests are easy to run. There may still be a problem with validating output.