Welcome To TestQSpider

It's Testing World.Lets Explore Your Life Here

When a bug is fixed by the development team than testing the other features of the applications which might be affected due to the bug fix is known as regression testing. 

Regression testing is always done to verify that modified code does not break the existing functionality of the application and works within the requirements of the system.

Regression Testing Example - Real and Practical 

Example of regression testing with its process is explained below:

For Example there are three Modules in the Project named Admin Module, Personal Information, and Employment Module and suppose bug occurs in the Admin Module like on Admin Module existing User is not able to login with valid login credentials so this is the bug. 

Now Testing team sends the above - mentioned Bug to the Development team to fix it and when development team fixes the Bug and hand over to Testing team than testing team checks that fixed bug does not affect the remaining functionality of the other modules (Admin, PI, Employment) and also the functionality of the same module (Admin) so this is known as the process of regression testing done by Software Testers.

What is Regression Testing with its Strategies?

Regression testing is achieved after the bug fixed, means testing the operation whether the fixed defect is affecting remaining functionality of the application or not. Usually in regression testing bug fixed module is tested. During regression testing tester always check the entire system whether the fixed bug make any adverse affect in the existing system or not.

There are mostly two strategies to regression testing, 1) to run all tests and 2) always run a subset of tests based on a test case prioritization technique.

When will we do Regression Testing?

Regression testing is the re-testing of features to make safe that features working earlier are still working fine as desired.

It is executed when any new build comes to QA, which has bug fixes in it or during releasing cycles (Alpha, Beta or GA) to originate always the endurance of product.

Conclusion:

Regression testing will be conducted after any bug fixed or any functionality changed.
Distinction between Smoke and Regression Testing - Simple

              Smoke testing
               Regression testing
1. Smoke testing is a surface level testing to verify/ensure that build provided/given by development team to QA team is ready to accept for further testing.
1. Regression testing is not considered as a surface level testing and it is performed/ executed by testers only.
2. Smoke testing is known as a quick-and-dirty test means that the major/crucial functions of a piece of software work/perform without bothering with finer details.
2. Regression testing is not known by the quick-and-dirty test and in this testing testers test the application with more details.
3. It is executed/ performed when testers have to accept a build for further testing.
3. It is executed/performed when tester's have enough time for testing.
4. Smoke testing may be conducted manually or by using automation tools.
4. Regression testing is also conducted manually or using automated tools.
5. Performing smoke testing will not enlarge the product cost and budget because it didn't requires more manpower and time.
5. Performing Regression testing definitely will enlarge the product cost and budget because it requires more manpower and time.
6. It is also called as BAT (Build Acceptance Test) or BVT (Build Verification Testing).
6. It is not known by any other name.
7. It is done by developers before the build is released or by testers before accepting a build for further testing.
7. It is usually done by testers only.
8. We use script for smoke testing.
8. We use script for regression testing.


People are confusing regression testing definition with its meaning and approach although they look like similar but there are few minor changes on regression testing meaning and approaches which are shown below.


Regression Testing Definition with Example

Checking that fixed bug do not affect the other sections of the modules by checking the functionality and other scenarios of testing on different modules and within the similar module in which bug is fixed is known as regression testing.

Note:Do not confuse regression testing with re-testing because in re-testing tester only test whether the fixed bug is getting fixed or not by re-testing it.

On the other hand in regression testing tester only tests that fixed bug do not affect the other parts of the modules and do not bother and take less stress about whether the bug is fixed or not.


Exact Meaning of Regression Testing


Regression Testing Meaning is given below:

Regression Meaning is relapse or reverting so meaning of regression testing is "relapse testing" means it is done in two situations or you can shortly say in two conditions.

1. First condition is after fixing the bug by checking and ensuring that fixed bug does not affect the other parts and functions of the modules.

2.Second condition deals with change in requirements means when client change the previously done requirements than tester have to test that changing requirements do not affect the other requirements of the application which are done means completed.

Significant Approach of Regression Testing

Regression Testing Approach is given below:

As you know there are two approaches for integration testing like top down integration and bottom up integrationsimilarly we have the two approaches for regression testing.

1. First approach is doing the regression testing when bug is fixed.

2. Second approach is doing regression testing when change in requirements of the client.
Regression Testing may definitely be performed manually, and it is also performed by re-executing a subset of complete and full test cases or by using some sort of automated capture playback tools too.


SOME BENEFITS OF REGRESSION TESTING

1. Regression testing increases our chances of detecting bugs caused by changes to a software and application- either enhancements or defect fixes. Also keep one thing in mind that we also don't give any sort of guarantee that for performing regression testing there are never any sort of side effects also.

2. Regression testing also detects undesirable side caused always by changing the operating environment. 

3. The set about regression test is much useful for a new way about doing integration testing. This new mode is quite faster and little confusing than the old way about doing integration testing- but you always need a some sort of set about regression test to do it.


WHY WE PERFORM REGRESSION TESTING?


Regression testing will be considered after a bug fixed or when any area of functionality changed. During bug fixing method some part of coding may be changed or even functionality may be also manipulated so due to this change we have to perform Regression Testing.

Conclusion:

At end we conclude that regression testing may be considered manually or using some sort of automated tools too.

The purpose behind regression testing is very simple and straight. We obviously know that changes to an existing sort of system often cause some other things to break and decline.