Difference between Regression Testing and Sanity Testing

Testing is very important phase in the software development life cycle. In testing all the bugs and errors are reported by the Testing Team or by Quality Assurance group. It is important as the customers’ acceptance a criterion is also defined in the testing phase. Separate time is allocated for the testing phase and experienced testers are hired. The person performing testing will check the result written on test cases.

Regression Testing

In regression testing the working of the software is checked after making amendment. When changes are made to software it is quite obvious that new errors and bugs are found in the software in order to reveal those bugs and errors regression testing is performed by the tester. Changes are made to the software and then the system is checked which means that what is the impact of that change to the software working.

Sanity Testing

It is part of regression testing and it is preferred when the development team is out of time and the product is to be delivered within short period of time. In this testing the Quality Assurance Group ensured that all the functionalities and commands are developed and are working perfectly.

Regression Testing VS Sanity Testing

Level of testing:

Regression testing is not a superficial level testing. On the other hand it is detailed testing of the software by making changes in the software.

In Sanity Testing there is no detailed testing of the software only superficial testing is done. And it is part of regression testing.

Time of performance:

Time required to perform regression testing is comparatively higher than sanity testing as in regression testing detailed testing is performed.

Time needed for performing Sanity is less than Regression testing as superficial testing is performed.

Manually or Automated:

The regression testing is performed on automated tools available in the market.

Most of the time Sanity testing is manually performed by the Quality Assurance Team although there are also tools available for performing Sanity Testing.

Effect on budget and time:

Regression Testing is not done superficially so in order to perform this testing the more manpower and cost is required.

Sanity testing is not a detailed level testing due to this reason there is no need of extra people, time and cost.

Details in testing:

The product is tested with detail as each and every aspect is tested.

Sanity testing is done thinly.

Execution of Test cases:

All the test cases written by the Quality Assurance Group are executed in order not check the quality of the product.

In Sanity Testing all the test cases are not executed due to shortage of time.

Use of script:

In regression testing the Quality Assurance make use of Script.

In sanity testing no such script is used.

Conditions for performing:

Regression Testing is performed when the development have sufficient time to move towards regression testing.

Sanity testing is performed when the development team has shortage of time.

Conclusion

Regression and Sanity testing are used for the same purposes but the major difference is of the conditions under which they are performed.