1. What is Regression testing?
What is regression testing?
Regression Testing seeks to detect and fix new software bugs or problems in the existing functional and non-functional areas of the system in case of upgrades, bug fixes, configuration changes and any changes. Minor changes or major changes are raised in the system during the error correction process.
Basically, regression tests are being performed after each modification or change is introduced into the software application to ensure that these new changes have no impact on existing and existing core functions. have.
The scope of regression testing depends on the amount of change given in the code. If the change is small, a minimum set of test cases will be sufficient to perform regression tests. While for large numbers of changes, selective input based on the developer’s input to the modifications made can be a time and money saving solution.
Regression testing example
Regression Testing Example
There is a software application with the function: A + B. When testing the application, an error is identified and detected. Later versions include changes to address the bug. However, in the process of removing the error, the existing function of the application is also affected: BA. Therefore, regression testing is performed to evaluate whether existing functions are affected, along with the appearance of any new errors or problems in the event of changes and corrections.
Moreover, we can also see that in the process of upgrading or adding new features; C, the existing functions of the application; A + B has been affected with functional changes; A * B. Here, regression tests are also performed on the software application to find out if existing functions are affected.
2. When do regression testing be performed?
Regression testing is usually performed throughout the software testing life cycle at different levels; “Unit”, “Integration”, “System” and “Accept”. However, regression testing should be performed when the following events occur:
- After fixing errors are identified and detected (s).
- Modify the code based on needs and requirements.
- Add any new features or functions or upgrades.
- Patches and changes in configuration.
3. Steps to conduct regression testing?
A basic approach to performing regression testing includes the following actions:
Repeated tests have been conducted. Compare old test results and new test results.
4. Types of regression testing
- Functional regression test / test: These tests execute a complete program with various inputs. The test can be a series of program inputs, possibly even including an automated mechanism to control movements and clicks.
- Unit regression testing / Testing: They perform individual functions, subroutines or object methods. Testing can be a set of separate functions within the code itself or the driver class associated with the code without changing the code being tested.
In addition to functional and unit tests, regression tests can be classified into two more categories as detailed below:
- Partial regression tests.
- Complete regression test.
5. How to check regression?
Regression tests can be performed, using the following methods:
- Re-check strategy: This approach simply involves reworking all existing and available test cases or sets. However, it is worth mentioning that considering and implementing the entire “regression test suite” will require a great deal of time, money and resources.
- Selective test cases: Re-checking all test cases, seems impossible. Another approach, perhaps, is to select a limited number of test cases, based on needs and requirements. Moreover, this option, can be further considered under two categories: Test cases can be reused. Case for outdated testing.
- Prioritize test cases: Prioritize the wise execution of test cases based on business requirements, essential and commonly used functions that significantly reduce the regression test set.