next up previous
Next: Data Flow Type Up: No Title Previous: Code Generation

Regression Test

Although software may have been completely tested during its development to satisfy some enough criterion, program changes during maintenance require that parts of the software be tested. Also, the current research indicates that software maintenance activities account for as much as two-thirds of the cost of software production. One necessary but expensive maintenance task is regression test. Regression testing is the process of validating modified parts of the software and ensuring that no new errors are introduced into previously tested code. An important difference between regression testing and development testing is that during regression testing an established set of tests may be reuse. One approach to reusing tests, rerun all such test ( retest-all), but this strategy may consume extensive time and resources. An alterative approach, selective test, chooses a subset of test the old test set and uses this subset to test the modified program [8,11,12,13,15].

Although there are many selective retest approaches have been proposed, we can classify them into three main group. Minimization approached seek to reestablished satisfaction of some structural coverage criterion by identifying a minimal set of test that must be rerun to meet criterion. For example, a minimization approach might select one test through every modified basic block, providing statement coverage of the changed code. Coverage approaches are based on coverage criteria,like minimization approach, but they do not require minimization. Instead, they seek to select all tests that exercise change or affected program component. Safe approaches place less emphasis on coverage criteria, and attempt instead to select every test that will cause the modified program to produce different output than original program.





Generated by latex2html-95.1
Fri Jul 12 14:53:37 EDT 1996