Monday, May 26, 2008

Regression Testing

Regression Testing:
Any time you modify an implementation within a program, you should also do regression testing. You can do so by rerunning existing tests against the modified code to determine whether the changes break anything that worked prior to the change and by writing new tests where necessary. Adequate coverage without wasting time should be a primary consideration when conducting regression tests. Try to spend as little time as possible doing regression testing without reducing the probability that you will detect new failures in old, already tested code.
Some strategies and factors to consider during this process include the following:
Test fixed bugs promptly. The programmer might have handled the symptoms but not have gotten to the underlying cause.
Watch for side effects of fixes. The bug itself might be fixed but the fix might create other bugs.
Write a regression test for each bug fixed.
If two or more tests are similar, determine which is less effective and get rid of it.
Identify tests that the program consistently passes and archive them.
Focus on functional issues, not those related to design.
Make changes (small and large) to data and find any resulting corruption.
Trace the effects of the changes on program memory.

No comments: