What Is Regression Testing?
Regression testing is the repeated testing of an already tested program, after modification, to discover any bugs that were introduced or uncovered as a result of the changes in the software being tested. It is also used to uncover defects in other related or unrelated software components.
Software testers do regression testing by re-executing the tests against the modified application to evaluate whether the modified code breaks anything that was working during an earlier stage of the product development life cycle.
When Should Regression Testing Be Done?
Anytime an application is modified, regression testing should be done. Regression testing gives the development team the assurance that there are no broken functionalities after the production code has been modified. It ensures that there are no unexpected side effects after any part of the code has been changed.
Scenarios That Require Regression Testing
As mentioned above, regression testing is done whenever the production code is modified. Regression tests are usually done in the following cases:
- When new functionalities are added to the application. Example: A website has a login functionality that allows users to log in with email only. A new feature has now been created to allow users to log in with Facebook usernames.
- When there is a change to an existing requirement. Example: When “Remember Password” was initially available on the login page but has since been removed.
- When there is a defect fix. If a ‘Login button’ is not working, a tester will report the bug. Once the bug is fixed by the developers, testers test it to make sure that the Login button has been fixed and is working correctly.
- When there is a performance issue fix. Example: Loading the home page takes 5 seconds. The performance fix could be to reduce the load time to 2 seconds.
- When there is a change in the environment. Example: The database gets changed from MySQL to Oracle.
Regression Testing: Manual Or Automated?
Regression tests are generally very time-consuming. Regression tests are done after every deployment, so it saves time and money to automate test cases instead of running each one manually. If there are thousands of test cases, it is better to create automation test scripts for the test cases that are done on every build.
Need software testers who can do a comprehensive and thorough test on all your applications and software? Then contact Inspired Testing today.