docbrown/docs/tests/regression-tests.md
Jacob Herrington 8c4fd87599
Update maintainers documentation and contribution guides (#8939)
* Update contributing guide

In this change, I tried to simplify the language of the contributing
guide to make it more accessible and less wordy.

I also updated the information in a few places and fixed a couple of
typos.

* Remove table of contents

Since moving this doc to the docs site, our theme generates a ToC
automatically, hardcoding this one is redundant.

* Move the contributing guides

* Update maintainer documentation

This chnage updates the maintainers guide to include information on PR
reviews, deployments, and CI.

Housing this documentation here increases transparency with our
community.

* Edit with PR feedback

* Edit based on PR feedback
2020-06-30 09:11:59 +02:00

1.5 KiB

title
Regression Testing

Regression Testing

Regression testing is a technique for detecting breaking changes over time in a codebase.

Proper Regression testing is one of the most powerful tools in a programmer's arsenal for avoiding the bugs that crop up as a project grows in size.

Generally speaking, Regression testing is accomplished by a combination of Acceptance tests and Integration tests performed on areas where bugs have been found in the past. As it happens, software bugs tend to exist in groups; writing tests around buggy code will almost always uncover new bugs as code evolves.

The practice of Regression testing usually takes place after code has been written, and is used to detect if recent changes have introduced new bugs by breaking previously functional software.

There is no perfect prescribed method for Regression testing, and it has evolved with the introduction of Continuous Integration practices like the ones that DEV uses. However, CI doesn't replace the need for Regression testing. Regression tests should still be added to the codebase when bugs are discovered.

If you submit a bug patch to the DEV application, you might be asked to write a Regression test around your patch to help warn future DEV contributors if that bug ever makes another appearance. This practice has the added benefit of helping to ensure your patch fixes the bug.