May 21, 2023

Regression Testing

Great job on starting a new lesson! After reading this lesson, click Next 👉 button at bottom right to continue to the next lesson.

Regression testing

Regression testing is a test type of software testing that tests if the existing functionalities of your software still work as expected, after any changes in the code. Changes may be new features, defect fixes, enhancements, performance improvements, configuration updates or platform update. Regression testing helps to finds defects that may have been introduced by the changes. In my experience, regression testing was sometimes skipped by the team due to lack of time, which resulted in more effort to fix the missed regression defects later.

Regression testing examples

  • The developer adds a new feature to your e-commerce website that allows customers to apply coupons for discounts. You perform regression testing to see if the new feature works well with the existing features such as shopping cart, checkout, payment, etc.
  • Your mobile developer fixes a defect in your mobile app that caused it to crash when users tapped on a certain button. You perform regression testing to see if the bug is fixed and if the app still functions normally on different devices and operating systems (regression compatibility testing).
  • Your web developer optimizes the code of your web application to make it load faster and use less memory. You perform regression testing to see if the optimization has improved the performance and if it has not affected the functionality of the web application (regression performance testing and functional testing).
  • You update the configuration of your software system to integrate with a new external system. You perform regression testing to see if the integration works smoothly and if it has not caused any issues with the existing features of your software.

Tips for regression testing

  • Update and maintain your regression test cases after software changes to make them effective.
  • Select and prioritize the regression test cases (that cover the most critical and frequently used features of the software).
  • Use test automation tools to perform regression testing faster and more efficiently.
  • Use your project test management tool to track and report the test results and defects.

FAQ (interview questions and answers)

  1. What is the difference between regression testing and re-testing?
    Re-testing is testing if a specific defect or issue has been fixed. Regression testing is testing the entire software or a subset of it after any changes in the software system.
  2. What are some tools for regression testing in your knowledge?
    Some tools for regression testing are Katalon Studio, Selenium, TestComplete, UFT, etc.
  3. Is user acceptance testing a type of regression testing?
    No, user acceptance testing is a type of functional testing that tests whether the software meets the end user needs and business requirements.
  4. How do you select test cases for regression testing?
    Based on factors such as risk, impact, complexity, frequency of use, etc. using techniques such as impact analysis, traceability matrix, or test case prioritization.
Remember to just comment if you have any doubts or queries.


No comments:

Post a Comment

Note: Only a member of this blog may post a comment.