Regression Testing is conducted to check whether new modifications in the code have introduced any errors in the overall functioning of the application. It verifies that software which was previously developed and tested still performs the same way after it was changed or interfaced with other software.
This has to be conducted after every iteration or Intermediate release. Features that have not been changed, where there is a low possibility of defects being found, also need to be tested. This makes Regression Testing time consuming; hence many organizations opt to automate this process.
There are a number of benefits of Automated Testing:
- Speed:- Drastically reduces the time required to execute repetitive tests
- Flexibility:- Can be performed at any time
- Accuracy:- Greater precision and lower errors than manual testing
- Wide Application:- Can be used in almost all the testing processes
- Reporting:- Reports on the tests are generated for future improvements
Some key questions that need to be examined before deciding to adopt Automated Regression Testing are as follows:
- Which features are to be considered
- What architecture is to be used
- Which tool is to be used for automation
An 8 step process that will help you to consider Automation for your Regression Testing is as follows:
- Start with the most repeated tests in your Regression Testing
- Work on the positive scenarios
- Start automation when you have a stable build
- Do not focus on optimizing quality straight away. Automate to minimize manual QA efforts
- Keep your scripts short and maintainable, bigger ones are expensive to build and maintain
- Test could fail at the second step, as the first part of the test usually brings the system to a certain state
- Run tests in parallel (where there are no interdependencies)
- Longer and critical scenarios should be run manually (as there are chances of failure due to minor bugs in the system)
Automated and manual testing are interrelated and complementary testing methods, and each has its pros and cons.
Before considering automation of Regression Testing, do estimate the time required for writing tests and their support.
Also, do keep in mind that test automation is more expensive then manual tests.