Regression testing - re-testing after fixes or modifications of the software or its environment. It can be difficult to determine how much re-testing is needed, especially near the end of the development cycle. Automated testing tools can be especially useful for this type of testing.
Re testing: Re-Executing the test cases with multiple test data is called re-testing or iteration testing or data driven testing.
Both Regression Testing and Retesting are reexecution of test cases.
In Regression testing reexecution of test cases is done on a modified form of a build or code (due to new functionality added or due to integration of modules or any future enhancement done, to check whether any functionality that were working correctly in previous build, is working fine in current build or not ) near the end of testing cycle. It
usually verifies that a change in one area doesn't affect other or unrelated areas.
Whereas in Retsting reexecution of test cases is done in the same application with
different input values after fixing bugs to ensure that bugs are actually fixed.( If the test case is pass ,the bug will be closed otherwise it is reported to developer again and cycle repeats still bugs are finally passed or postponed.)
Regression Testing:
1. Regression testing means either with bug fixing or enhancements ,if previously existing module effects we can perform regression testing by writing regression matrix.
2. Testing the application before fixing the bugs.
Re- Testing:
1. Executing the build with previously existed test cases for declaring the software is working as before we can do the Re-testing
Re-testing: After fix the bug or modifying the build, we will verify the same functionality with different inputs.
Regression testing: After the bug fixed, testing the application whether the fixed bug is affecting remaining functionality of the applicatin or not.
Regression Testing: The process of testing an application to identify an impact of the bug fixed part of the existing build of the application on the other functionalities of the same build of application, or to test the impact of the newly added functionality (enhancements in the application) on the existing functionality of the current version of the application is Regression testing, (Impact analysis process is carried out in this case)
Re-Testing: The process of testing the application rigorously with all the possible inputs to gain more confidence on the functionality of the application. This process is rarely carried out, where we have ample time.
Regression Testing: This is done for the particular module to check whether the previous found bug is fixed and because of which a new bug has arises or not.
Retesting: Is to ensure the application works fine with multiple set of data. This is done on the whole application
Permalink Reply by Kiran on September 8, 2008 at 10:56pm
Re -testing: Suppose, you have found a few bugs while testing..Developers will fix those bugs for you.You will again execute the testcases which have caused those bugs.. this is re-testing...
Regression testing: Take the similar kind of scenario as above, there are few bugs reported ,that are related a piece of functionality..Now, those bugs are fixed.
So, To ensure the quality of the product, you will execute the testcases related to impacted areas of bug fixes...
Say example, Functionality is A is dependent or related or has effect on functionality B and C
So if a bug fix happens to functionality A then after verifying the bug fix, you will execute all the testcases related to Functionality A,B and C
Several respondents have got this right. May I summarise, with the addition of a couple more technical terms?
Progression testing. This is Boris Beizer's useful term for running tests (or test cases) that have never been run before. You're making progress!
Confirmation testing. A term adopted by the ISTQB syllabus authors from medical practice, to replace "re-testing", because re-testing could simply mean "re-running some test or other." In fact, re-testing (confirmation testing) means re-executing tests or test cases that previously found bugs, to confirm that the bugs are indeed fixed.
Regression testing. A regression is an unintended side-effect of a legitimate change to a work product or its operational environment. (Regressions can occur in respect of documents as well as executable software.) Regression testing means re-running tests or test cases that previously failed to find bugs, to discover whether regressions have affected those pre-tested areas of the software.
When you're doing progression testing, your project is moving forward. When you're doing re-testing/confirmation testing or regression testing, you're re-doing work already done, and your project is temporarily stalled (and possibly going backwards in some respects).
Actually retesting is a part of the regression testing. But retesting is to test whether the bug is fixed or not. Regression testing is that testing is done due to that fixing of the bug whether other fuctionality is effected.
Retesting is nothing but ,testing the application with multiple sets of test data .
For eg: login application we test with different sets of multiple instanced test data like valid username and invalid usernames,valid pwd and invalid pwds.
Regression testing is nothing but testing done on the modified build to make it confirm whether the bug resolved updates and new enhancements effects existing system or not.
Regresseion Testing:
The term "Regression testing" can be applied two ways. First, when a code problem has been fixed, a regression test runs tests to verify that the defect is in fact fixed; "Imagine finding an error, fixing it, and repeating the test that exposed the problem in the first place. This is a regression test" (Kaner in Testing Computer Software). Second, regression testing is the counterpart of integration testing: when new code is added to existing code, regression testing verifies that the existing code continues to work correctly, whereas integration testing verifies that the new code works as expected. Regression testing can describes the process of testing new code to verify that this new code hasn't broken any old code.
Re-Testing:
Suppose you have tested an application or a product by executing a test case. The end result deviates from the expected result and is notified as a defect. Developer fixes the defect, then the tester executes the same test case that had originally identified the defect to ensure that the defect is rectified.
Regression Testing: Cross verification of existing functionality after some modification which ensures that is there any fault/Bug/Defect is raised ? or not? It's called Regression Testing.
Retesting: Re-Verification of exact steps which was given to DEV as BUG/Defect/Error. Means a bug was found in which approach and after fixing that bug again repeat that exact approach it's called Retesting.