Pages

Men

rh

7/13/2012

Regression Testing and Re-testing

Regression Testing and Re-testing
Retesting of a previously tested program following modification to ensure that faults have not been introduced or uncovered as a result of the changes made.

Regression Testing is the process of testing the changes to computer programs to make sure that the older programs still work with the new changes.

When making improvements on software, retesting previously tested functions to make sure adding new features has not introduced new problems.

Regression testing is an expensive but necessary activity performed on modified software to provide confidence that changes are correct and do not adversely affects other system components. Four things can happen when a developer attempts to fix a bug. Three of these things are bad, and one is good:

Because of the high probability that one of the bad outcomes will result from a change to the system, it is necessary to do regression testing. A regression test selection technique chooses, from an existing test set, the tests that are deemed necessary to validate modified software.

There are three main groups of test selection approaches in use:
  • Minimization approaches seek to satisfy structural coverage criteria by identifying a minimal set of tests that must be rerun.
  • Coverage approaches are also based on coverage criteria, but do not require minimization of the test set. Instead, they seek to select all tests that exercise changed or affected program components.
  • Safe attempt instead to select every test that will cause the modified program to produce different output than original program.

Factors favour Automation of Regression Testing
  • Ensure consistency
  • Speed up testing to accelerate releases
  • Allow testing to happen more frequently
  • Reduce costs of testing by reducing manual labor
  • Improve the reliability of testing
  • Define the testing process and reduce dependence on the few who know it

Tools used in Regression testing
  • WinRunner from Mercury
  • e-tester from Empirix
  • WebFT from Radview
  • Silktest from Radview
  • Rational Robot from Rational
  • QA Run from Compuware