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 Sanity and Regression Testing

                Sanity Testing
             Regression Testing
1. Sanity testing is a surface level testing where QA engineer verifies that all the menus, functions and commands available/presented in the product are working fine.
1. Regression testing is not a surface level testing.
2. Sanity testing is considered as a subset of regression testing.
2. Regression testing is not considered as a subset of any.
3. This testing is performed/executed when testers have not much/enough time for doing testing.
3. This testing is performed/executed when tester�s have enough time for testing.
4. Sanity testing is usually conducted manually not by using any automation tools.
4. Regression testing may be conducted/consider manually or using automated tools.
5. Performing this type of testing will not enlarge the product/project cost and budget because it didn't require much manpower and time.
5. Performing this type of testing definitely will enlarge the product cost and budget because it requires more manpower and time.
6. Not complete test cases are executed/ performed in the product during sanity testing.
6. During this testing complete test cases are executed/ performed in the product.
7. During this testing tester test the application or product with finer details.
7. During this testing tester test the application or product with more details.
8. We do not use script for sanity testing.
8. We use script for regression testing.

Conclusion

At end we conclude that these are the quick and simple Differences between Sanity and Regression Testing in tabular form but the main difference is in its use. We use Regression Testing when we have enough time for Testing, and we use Sanity Testing when we do not have enough time for Testing.

But keep one thing in mind that purpose of both the Regression and Sanity Testing is same; the only difference is in its use. 
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.