Is #regression #testing a subset of re-testing?

Home Forums Software Testing Discussions Is #regression #testing a subset of re-testing?

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
  • #11281

    In simple words Retesting is to execute the test cases which failed in last build. Hence its verifying the fix only occurred in last build. while regression is checking the software once new change is implemented. So to fix software against new change is regression testing. Lets see few more facts to understand the topic in detail. I have found some valuable links that will help to understand and throw deep light on above topic:

    Waiting for your comments…


    Regression Meaning: return to former state, relapse or revision.

    Any Tests that we’ve performed before.

    Testing that we perform after a change in software to check that the change has impact or affects over other functions or functionalities of the software.

    one of the vital things in testing is to make sure software that have been working will work continuously without failure in Future too. To achieve this we have to perform Re-Testing, regression tests after every change occurred.

    I agree that regression tests is subset of Re-testing but there is more than that Regression Tests are the way to explore more about the risks and to understand the failure points, unpredictives and uncommon things of a Software.

    Heuristic: RCRCRC from Karen Johnson is my style of doing regression tests.

    R-recent (What has changed recently?)
    C-Core (What is common and critical?)
    Risk- (Which module or function is risky or core area to business, complex to Test)
    Repaired- (Did it really get fixed? did it introduce any new bugs?)
    Chronic- (patterns of problems and Bugs)

    Heuristic for Regression Testing
    James Bach views


    In my opinion and also what I follow & preach – Retesting is a subset of regression testing.
    Regression testing is not picking up a subset of functional (or new feature or system ) test cases and executing them to see if anything broke after a fix.
    Regression test should be developed separately that capture life-cycle scenarios of the product or application under test – that are mapped to business functionality or a matrix business scenarios – this ensures you cover all the paths or transactions that exist in the product – highly recommended to automate & use a varying the test data set – this again ensures your tests are not static.


    No, I think Regression Testing stands alone. It is checking nothing has been broken, it is a prime candidate for automation, so it can be run daily/nightly, weekly, or as needed so there are no nasty surprises pre-release


    Regression is many a time misunderstood. Regression is definitely done after the changes but even after the normal functional testing for a new functionality we do run regression suite. Re-testing could be related to defects that we encountered but regression could be encompassing more of the basic functionality. So I would ratehr say retest is kind of subset of regression not the number wise but the coverage\scope wise.


    There are two things standing out in discussions like this.

    1) Can we first agree on a definition of either term before even asking the questions. People and organizations have different terminology for different things which is usually a sign of very different processes.

    2) is even more interesting for me: why would you classify tests as such? To make a call on when to run them? And can tests only belong to one or to multiple such classes? For many teams in my org, a tests is only considered a good one if it (a) find defects or checks for critical constraints, (b) is reliable (when it fails its a code defect), (c) is fast (usually a unitish like test with minimal external dependencies), and (d) if people understand what the tests is doing. Everything else is secondary.

    Back to the question: Re-testing for me is not even a class of tests, its a practice, When fixing a defect you want to run tests to verify that the defect is gone. That does not mean that the tests I run will be run from now on as check-in gate or likewise. Usually, you would use a specific regression test for the re-testing but there are other options. A regression test is a test case created to prevent a previous defect to be introduced again (please note that this refers usually to the fact that the same instance of a defect does not occur anymore–fine but essential difference). However, the regression test might have never failed in history as I introduced it after fixing the defect. For me the two terms have nothing in common as one is a practice and the second a test purpose category.


    Dear Ronan

    Now long retired but always fell back on as a reliable source.

    More controversially always thought they should be a sensibly sized set of tests that cable run regularly to check a system is still behaving itself.

    Betty McCarthy

    Ronan Healy

    I think @kimh is right. We might to agree to on a definition of either term before even asking the questions. There are a number of opinions here and I am not even sure myself.


    I agree with Sujay – retesting is a subset of regression testing

    sneha shinde

    In case of regression testing, coders create code test scenarios and activities that will test new units of code after they have been composed. These test cases what turns into the test bucket. Before another rendition of a software product is released,
    in case of retesting, your scope is limited. You need to test the functionality which brought about an error and tossed a bug. This sort of testing is done to ensure that the past bug is resolved.

    [Commercial content removed by mod]


    The Regression testing and Retesting have its own priorities and its objective but both are most important in the success of the project. The retesting is to check can you buy modafinil online whether the previously failed feature is working in this current fixes or not. This is to be carried out by executing the previously failed test case and verify that the previously failed test case is passed. But in the regression testing, we are considering the previously passed test cases, i.e. the functional testing was working the previous build.

    [Commercial content removed by Moderator]


    Hi Sujay,

    you may “preach” as you wish, but you are using the terms “regression testing ” and “retesting” in non-standard ways. There is nothing wrong with this – Agile doesn’t mean agile for example – but you are then forced to explain yourself.

    In common usage Regression Tests are the tests you ran and passed on an earlier version of the software. You run these tests again to show that what was working is still working. You run Regression Tests after change to demonstrate that the change has not adversely affected older code.

    Again, commonly, Retesting is running a test again after a fix is claimed against a Fault. The test(s) you rerun are those which found the Fault. If the test(s) no longer shows the Failure then there is a good chance the underlying Fault has been addressed.



    Thanks for sharing


    There are major two types of testing methods which is basically used by the testing tesm for the regression and the re testing of the subset. Find the main difference between them



    Thanks for sharing

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.