What is ‘Regression Testing’?

What is ‘Regression Testing’?

A regression in behavior means an undesirable behavior that was present and fixed once before, or a previous feature that worked before and is now broken. During the process of developing the fix, there should also be an automated test developed, that would fail before and pass after the fix is applied. This test then becomes a regression test. Such tests are almost always automated.

Regression testing is ideally triggered by a CI (Continuous Integration) system, in response to receiving changes to software under development in a revision control system. Its purpose is to determine whether a particular change has caused a regression in some part of the program. It usually is performed by running a set of the program’s automated test cases. Regression testing is important because changes and bugfixes may be prone to errors, and may re-introduce problems that did not exist in previous versions of the software.

Squish is a tool that is ideally suited to help automate regression tests against GUI software under development. The Squish command line tools and addons allow you to easily integrate Squish with your favorite CI system, such as Jenkins, so that your regression tests are run at the appropriate times, and failed tests will show up in a nicely formatted HTML page so you can clearly see precisely where and when the regression was introduced for a particular change set (not to mention, which developer is the guilty one!).


Trainer and Consultant for Froglogic and Qt. Co-author of "Introduction to Design Patterns in C++ and Qt"

1 Comment

  1. Alisha Henderson 3 weeks ago

    Regression Testing is defined as a type of software testing to confirm that a recent program or code change has not adversely affected existing features. Regression Testing is nothing but full or partial selection of already executed test cases which are re-executed to ensure existing functionalities work fine.

Leave a reply

Your email address will not be published. Required fields are marked *