Experiment

Regression Testing

definitionopstestingquality-assurance

Run all existing tests after every change. Make sure fixing one thing didn't break ten others.

Regression testing runs your entire test suite after every code change to catch when something that used to work stops working because of a seemingly unrelated edit. The suite grows monotonically: every bug fix earns a test, every feature earns a test, tests are almost never deleted. Continuous integration automates this: push a commit, the suite runs, you know within minutes whether anything broke. A failing test is a signal : deleting it to make the red go away is like disconnecting a fire alarm because the beeping is annoying.

How It Works

Three sources of tests: (1) bugs : write a test that would have caught each bug before fixing it; (2) features : tests become the behavioral contract; (3) CI : automate the full suite on every push. Never skip for speed; fix the flakiness first.

Example

The Rust migration across rusty-dakka, rusty-bloomnet, and rusty-dakka-editor maintains 607 tests across 5 testing layers. Fast unit tests run on every push; integration tests on PR merge; full E2E on cron schedule. The 100% pass rate is enforced as a ratchet : the suite can grow, but the pass rate can never drop. Architecture at Dakka.