Regression Testing in Software Engineering

Regression Testing

  • In software engineering, regression refers to the “return of a bug”.Regression is the term which means re-testing the modified parts of the application.
  • Regression Testing is a type of performance testing which is used to check the software functionality after changes.
  • This testing is used to ensure that changes in the existing code or modified code does not impact the existing functionality of the software product.
  • It is done when new features are added in the software or changes are made in the requirements or fixing the defects/bugs.
  • This is done to make sure that the application works correctly with the modified functionality.
  • Previous test cases are re-executed to verify the effect of change.
  • Automated test cases are executed because executing test cases manually are time consuming. Hence automated test cases in time saving and efficient method.
Regression testing

Need of Regression Testing :

  • New features are added in the software system
  • To fix the defects/bugs
  • When changes in the environment
  • When changes in the requirements and code is modified
  • When fix the performance issues of the software 

Levels Applicable For :

  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

Regression Testing Tools : 

  • Ranorex Studio
  • Testim
  • actiWate
  • Selenium
  • vTest
  • Watir
  • TimeShiftX
  • SilkTest
  • Quick Test Professional (QTP)
  • Rational Functional Tester (RFT)

Advantages of Regression Testing :

  • It ensures that new functionality does not impact the existing functionality of the software product.
  • It improves the quality of the software system.
  • This testing increase the performance of the application.
  • It provides more reliability.
  • Automation test cases are executed on this testing.
  • This testing is ideal for small applications.

Disadvantages of Regression Testing :

  • If manual test cases are executed then it can be time-consuming.
  • It has to be done if small changes in the code are made.
  • It can be resource consuming if automated tools are not used. 
  • Select the best automation tool for continuous regression. 
  • It can be costly to test.
  • Defects are find at a very late stage