views:

97

answers:

5

Could anyone explain the word regression test in an understandable way?

A: 

During a regression test, testers run through your application testing features that were known to work in the previous build.

They look specifically for parts of the application that may not have been directly modified, but depend on (and could have residual bugs from) code that was modified.

Those bugs (ones caused by bugs in dependent code even though they were working before) are known as regressions (because the feature was working properly and now has a bug...and therefore, regressed).

Justin Niessner
+10  A: 

Regression test is a test that is performed to make sure that previously working functionality still works, after changes elsewhere in the system. Wikipedia article is pretty good at explaining what it is.

EDIT Your unit tests are automatically regression tests, and that's one of their biggest advantages. Once those tests are written, they will be run in future, whenever you add new functionality or change existing functionality. You don't need to explicitly write regression tests.

Igor Zevaka
The intent of regression testing is to provide a general assurance that no additional errors were introduced in the process of fixing other problems. -- from the wiki.
Gishu
perfect answer A+++++++
thomasrutter
A: 

http://en.wikipedia.org/wiki/Regression_testing

Basically, test the code you've updated to make sure you haven't introduced new bugs and that the functionality still works as before.

Stellios
but if the code passes all tests i write prior i wrote them. shouldn't it be safe? why do i still have to write regression tests?
never_had_a_name
You don't - the unit tests are automatically regression tests. :)
Brian MacKay
A: 

Notwithstanding the old joke, "Congress" is not the opposite of "progress;" "regress" is. For your code to regress is for it to "move backward," typically meaning that some bad behavior it once had, which you fixed, has come back. A "regression" is the return of a bug (although there can be other interpretations). A regression test, therefore, is a test that validates that you have fixed the bug, and one that you run periodically to ensure that your fix is still in place, still working.

Carl Manaster
A: 

Regression testing is any type of software testing that seeks to uncover software errors by partially retesting a modified program.