Regression Testing is a software testing type to confirm that a current program or code change has not unfavorably affected existing features. In Regression Testing test cases are re-executed to check whether the previous functionality of the app is working well and the new changes have not introduced any new flaws or bugs.
Regression testing attempts to mitigate two major risks:
· A modification that was intended to fix a bug failed
· Some change had an adverse effect, introducing a new bug or unfixing an old bug
Necessities of Regression Testing:
Regression Testing is required when there is a
· Performance issue fix
· Defect fixing
· Change in needs and code is modified according to the condition
· New feature is added to the software
The short examples illustrating the use of regression tests:
· Reappearance of a WinAmp ID3 HTML Bug
· Removing Form Data in FireBird and Firefox
· Reappearance/Mutation of Buffer Overflow in ID3v2 tags
Some broad regression testing examples are here:
1. When new functionalities are added to the app- For instance, a website has a login functionality that allows users to do login only with Email. Now the new features look like “providing a new feature to do login using Gmail or Facebook”.
2. When there is a Performance Issue Fix- For instance- Loading the home page takes 5 seconds. Reducing the load time to 2 seconds
3. When there is a change in the environment- For instance: Updating the Database from MySQL to Oracle)
Regression Testing Best Practices:
As you and your team perform regression testing, there are some best practices to bear in mind.
Regression testing attempts to mitigate two major risks:
· A modification that was intended to fix a bug failed
· Some change had an adverse effect, introducing a new bug or unfixing an old bug
Necessities of Regression Testing:
Regression Testing is required when there is a
· Performance issue fix
· Defect fixing
· Change in needs and code is modified according to the condition
· New feature is added to the software
The short examples illustrating the use of regression tests:
· Reappearance of a WinAmp ID3 HTML Bug
· Removing Form Data in FireBird and Firefox
· Reappearance/Mutation of Buffer Overflow in ID3v2 tags
Some broad regression testing examples are here:
1. When new functionalities are added to the app- For instance, a website has a login functionality that allows users to do login only with Email. Now the new features look like “providing a new feature to do login using Gmail or Facebook”.
2. When there is a Performance Issue Fix- For instance- Loading the home page takes 5 seconds. Reducing the load time to 2 seconds
3. When there is a change in the environment- For instance: Updating the Database from MySQL to Oracle)
Regression Testing Best Practices:
As you and your team perform regression testing, there are some best practices to bear in mind.
- Regularly Update Your Regression Pack: A Regression testing can be time-consuming work, the last thing you need is to include tests that check whether an older feature that has been removed is still working.
- Concentrate on Highly-Trafficked Paths: Your regression pack must include tests that ensure this core functionality is working as it should.
- Re-Run Successful Test Cases: Tests that have previously identified bugs and defects are also worth including in your regression pack.
- Automate regression testing: Automated regression testing can make the process much more efficient. Running the same tests over and over again can result in testers becoming bored and losing motivation. Automation software can handle more tedious tests.
Follow me on:
ReplyDeleteSoftware regression testing should be performed and taken up as soon as the programmer adds new functionality to an application. This is because of the dependency between the newly added and previous functionality that is critical for the software to function according to the requirements defined.