Go to previous article – Microservices Testing introduction
Regression Testing –
Let us help you understand it better. Regression Testing is a basic quality control procedure, whose main purpose is to confirm that a recent program or code change has not adversely affected existing well-functioning features.
What is Regression Testing?
It is absolutely common to have changes in the code during software development and maintenance. As such a software program that happened to work properly earlier might stop functioning the same way after the changes are employed. This is the importance of re-running the test cases of a program, which functioned correctly before the changes, and with the mission of identifying failures, this process is called “Regression Testing”.
Why do people employ changes in a functioning code?
- To fix problems, once they have identified bugs in the system, it´s necessary to eliminate them, however this correction sometimes cause more problems
- To improve the general performance
- To include new, better working functions
So basically Regression Testing is a quality control measure whose purpose is to achieve the following two conditions:
a) Guarantee that the newly modified code meets the specified requirements.
b) Check that the unmodified code has not been affected by the change implemented
This test should be performed when there is a significant change to the original functionality or even when it is a single bug fix.
Regression Testing is the method of verification, validating that the bugs are fixed and the newly added features have not created in problem in previous working version of the software.
How are these tests done?
Basically it is a process of rerunning previously conducted tests and comparing current results with previously executed test results. When it is properly executed it is a continuous process performed at various stages throughout the software testing life cycle. It is highly recommended to conduct regression tests both after the sanity or smoke testing and at the end of functional testing for a short release. To conduct effective testing, a Regression Test plan should is essential.
What types of Regression Test exist?
As most of these are repetitive tests, test cases can be automated so that sets of tests can be easily deployed after a change is implemented. It is essential that Regression Test cases are selected very carefully so that in a minimum set of test cases maximum functionality is evaluated. These sets of test cases need continuous improvements for more functionality. When selective tests are properly implemented, they are great to save testing costs and time. These selective test cases are picked based on the enhancements made to the system and parts where it can affect the most, keeping in mind that in most cases 80% of users use 20% of the functions so maintaining this 20 percent is a priority.
There are many Automation Practices for regression, when selecting an Automation tool for regression tests, you should check if the tool allows you to add or update the test cases easily. In most cases we need to update automated regression test cases because of frequent changes in the system.
Read more about Regression Testing Best Practices.