What is a Regression Test?


In the subject of Software Testing the teacher approached a term called Regression Test , this within the discipline of software testing. So this term gave me some doubts about this software.


  • What would the Regression Test be?
  • What are the benefits of doing Regression Testing?
  • What is this test-related "regression"?
  • asked by anonymous 27.03.2018 / 16:01

    2 answers


    What would be the Regression Test?

    Identifying previously non-existent errors after code changes


    What are the benefits of doing Regression Testing?

    Move into the winning team and keep winning.


    What is this test-related "regression"?

    Regression is just something that works and does not work anymore, is to walk backwards, spoil what was good. It is a bug introduced by a later change in the code. There is no regression in early development.


    This is effectively the most important test you have to do formally. Without it you always run the risk of changing something and what worked would stop working.

    We can say that it is the opposite of TDD, although they do not object, I say only in the sense that TDD is concerned with defining what to do next, and regression testing is concerned with ensuring that what has been done always be done so.

    It is especially useful in code bases that will be used publicly and / or on a large scale.

    It is common to use unit tests to establish regression tests. Regression testing is not a specific technique, it is a broader methodology that uses specific tools.

    Another goal of it is to not let a found error occur again. So when a bug is found it writes the unit test and it happens to be part of the regression test.

    The unit test is not the only technique. A load test can be a regression test. What's the use of everything working correctly if the change you made brought a loss of performance, scalability, etc.?

    Do you know these sites that evaluate whether your code produced the correct result and gives you points? At least the most sophisticated are doing a sort of regression test. You have to give a specific output, at the specific time, with a specific consumption.

    Regression testing can be fully automated and does not require special access to implementation details.

    It gives you confidence to change the code, either by a change of requirement, or by refactoring.

    Testing without a clear purpose does not serve much. Even TDD, which I'm often critical of, but not all, has a clear purpose, though I disagree that it's so useful or that it hits it with this tool. The regression test has a clear purpose.

    I say this because a lot of the tests they do out there are meant to be tested. People do not even know what they are doing, what they want to combat, what to solve, they do not have a methodology to achieve results. I'm not saying it's just a waste of time, but I could be better employed.

    27.03.2018 / 16:22

    What would be the Regression Test?

    Imagine that a program was designed and built with well-defined steps, followed by software testing to check for possible failures or incompatibilities. Everything was fine until the software received a small update. This is where the regression test comes in. It is done after modifications, updates, feature additions or bug fixes to check if the changes did not cause any problems in the program, causing instability or errors.

    But it is time-consuming, and may be more or less the same as before when it was time to run the tests in the previous steps. But it is extremely important because a new analysis can help identify shortcomings that have gone before. You can also use test automation software in this task, although it is worthwhile for the evaluator to try to re-check the components as much as possible.

    It is possible to perform the regression test again throughout the system, only in the modified part or where it is believed that there was change due to the update. Parts that have had their functions changed by it.

    What are the benefits of doing Regression Testing?

    The regression test avoids problems that were solved to return, harming and invalidating almost all previous tests. It is a kind of final check, to evaluate if everything is well, according to what was planned, avoiding future hassles.

    What is this "regression" related to the test?

    Well, the regression would be as if after inserting a new functionality the system does not get in the way of some "bug" because regression test prepares system for this type of error by returning it and identifying the moment when the system was not able to recognize the new functionality

    27.03.2018 / 16:22