Regression Testing with MarathonITE

Delivery Quality Software

When you fix one bug, you introduce several newer bugs

Regression testing is a type of software testing that tests existing software applications to ensure that a change or addition hasn’t broken any existing functionality.The changes may include not only changes to the code for enhancements or bug fixes but also changes to the configuration like OS upgrade, version changes to the dependent components or patches.

Regression testing helps identify issues that may have been accidentally introduced into the system. By executing the test scenarios and scripts that have been developed when a previous version of software is developed and delivered, regression tests ensure that functionality that was working earlier and fixes made earlier are still working properly.

Regression testing can be performed manually or by using regression test automation tools like MarathonITE. Whereas it is possible to execute regression test suites manually, it is effective only for small projects. For larger software products, regression test automation suites provides multiple benefits – reducing the time execute a regression test suite, ability to integrate it into a Continuous Integration (CI) systems and automatic generation of test reports.

Why do we need Regression Tests?

There is a tendency in development teams to test ‘those that are effected by change’ with the assumption that the developer can foresee and guess all the modules that are effected by a change. This approach is a little naive. Though it may make sense and reduce the amount of time to ‘commit’ a change – but it doesn’t take into consideration all those areas that cause unexpected failures. The more complex an application is, there are more chances of unexpected failures cropping up with a small change. It is important for the development teams to recognize that small and petty changes to the source code can effect seemingly unrelated modules in surprising ways.

 A change in the number of characters in a text field – though solving the an issue at hand – may cause the formatting of a report to go haywire. 

Regression tests when performed makes sure that modification does have the local effect that you are aiming for, but also ensure that there are no inadvertent issues that cause problems in previously working functionality.

Showing Marathon Project on a Desktop

Automating Regression Tests

Regression test automation suites can be developed from day one of the project – including functional tests, integration tests, unit tests.  Any test that verifies the system or a module is working properly at a given time can be included into the regression test suite.

Regression test automation suites can be developed from day one of the project – including functional tests, integration tests, unit tests.  Any test that verifies the system or a module is working properly at a given time can be included into the regression test suite.

Each modification of the source code, either for a bug fix or an enhancement, can always be accompanied by executing your regression test automation suite to build confidence and ensure that nothing unexpected breaks. 

Over the course of the project, the regression test suite tends to grow. What started as a few tens of test scripts as a suite may over a period of time can become few hundreds, then few thousands of test scripts. Having to run these tests manually is error prone and really boring the test engineers. This in effect makes automated testing mandatory for your regression test suite for all but small, self-contained software projects.

At this time, there are various regression test automation tools available. They make it easy to create and maintain regression test suites. You can set-up a few testing parameters and check your latest version of software with a baseline relatively easily. Allowing that you have required resources, it is even possible to run the whole gamut of test cases when a simple change to software code occurs.

Importance of Process for Regression Testing

Once you have a set of tests for regression testing and they all are automated – what can go wrong? Using the same set of tests day in and day out makes your testing process static. If regression testing for a project becomes too automated and rote, instead of catching issues – your process might start to circumvent them.

Regression Testing with MarathonITE

It is advisable, to keep and maintain your regression test automation test suite along with performing some manual tests. Complementing your automated test suite with manual tests and then updating and keeping your test suite current and well-maintained helps you in deriving the most from your regression tests.

Marathon Logo

Regression Test Automation with MarathonITE

MarathonITE has an open and flexible architecture based on open source projects like Marathon, Ruby and Selenium. MarathonITE makes creating, maintaining and executing automated test scripts easy. MarathonITE provides excellent ROI for your test teams.

MarathonITE provides a set of features that are useful for regression test automation.

Close Menu