regression test
noun
A regression test checks that previously working parts of software still behave as expected after a change, revealing unintended effects.
After the payment page changes, a regression test also checks whether customers can still sign in and view their orders.
A software change can affect more than the modified component. A new discount rule might also change VAT or shipping calculations. Regression testing reruns existing test cases to check whether previously working features still behave as expected.
When should you run a regression test?
Regression tests are relevant after changes to software or its environment. Examples include new functionality, a bug fix, a Glossary · In briefdependencyA dependency is a software component or system that other software needs in order to build or run, such as a library, framework or external service.Read more update or different database configuration. Which tests to repeat depends on the risk and potential effects of the change.
A regression test can be manual. For frequently changing software, repeatable checks are usually automated. A test suite can then run on every change or before a Glossary · In briefreleaseA release is an identifiable software version prepared to be made available to users. It brings together one or more checked changes.Read more. Automation gives results sooner, but only if the test cases still reflect the intended behaviour.
Regression testing and retesting
Retesting specifically checks whether a reported bug has been fixed. The tester repeats the steps that previously caused it. Regression testing looks more broadly: did the fix or another change break something that used to work?
Both may be needed after the same change. Retesting first confirms the bug is gone. Regression testing then checks relevant existing features, for example through Glossary · In briefintegration testAn integration test checks whether several parts of a software system work together correctly, focusing on their communication and the data they exchange.Read more or an Glossary · In briefend-to-end testAn end-to-end test checks whether a complete user journey through an application works, including the components and systems that must work together.Read more. A passing regression test does not prove the whole application is error-free; the result covers only the test cases run.