Quality is delighting customers
Retesting is done after bug fixing for the particualr module.
Regression testing is done at the end .The main function of regression testing is to check whether the changes in particular module affects other module in functionality wise.
these guys have answered well but I wud add one more point:---
Regression is done in two situations
1) If software has been changed ( because of fixes or Adding extra functionality or deleting existing functionality )
2) If the Environment changes still we will do regression...
ok ok ok..............
Retesting:- ( also called Confirmation testing : ):- when testing is done to confirm that the bug which we reported earlier has been fixed in new build is called retesting .... but Regression testing means :- testing to ensure that the fixes has not introduced new bugs to be appear... !
Example:-- You execute 5 test case in which 2 test cases failed ...
Now in new build ( After fixes ) You will execute 2 test cases which failed earlier in Retesting to ensure that the defect has really been fixed....
but You will execute 3 test cases which passed earlier ( in 1st test run ) to ensure that the test cases which were passed has not been affected because of Bug fixes...
on the whole :--- Retesting after bug fixes to ensure that bug really got fixed ..
but Regression will be done to find out the side effect of the changes....
Now My 2nd point :---- Suppose the S/W has not been changed but the Environment has been changed (like a S/W was developed to work with XP but The Client wants that S/W to work with Windows 7 too ) in that case too Regression will be done...!
Hope Its Clear now.......??
I understood now.
Thanks a lot!