Regression test selection for trusted database applications - Haraty, Ramzi A. (2006)
Regression testing is any type of software testing, which seeks to uncover regression bugs. Regression bugs occur as a consequence of program changes. Regression testing must be conducted to confirm that recent program changes have not harmfully affected existing features and new tests must be created to test new features. Testers might rerun all test cases generated at earlier stages to ensure that the program behaves as expected. However, as a program evolves the regression test set grows larger, old tests are rarely discarded, and the expense of regression testing grows. Repeating all previous test cases in regression testing after each major or minor software revision or patch is often impossible due to time pressure and budget constraints. This paper presents algorithms for regression testing for trusted database applications. Our proposed algorithms automate an important portion of the regression testing process, and they operate more efficiently than most other regression test selection algorithms. The algorithms are more general than most other techniques. They handle regression test selection for single procedures and for groups of interacting procedures. They also handle all language constructs and all types of program modifications for procedural languages.