qualitylab

the station / sector 04

Determinism

works on my machinesame input, same result, anywhere

How to tell where you areRun your suite twice on an unchanged tree, on a machine that is not yours. If you cannot do that in one command, you are at the bad end of this line — and of change coupling too, because you have no answer that does not route through a person.

Whether the same input reliably produces the same result — in the build, in the tests, in the deploy.

Determinism is upstream of almost everything else here, which is why it is dull and why skipping it is expensive. A non-deterministic build makes every bisect a coin flip. A non-deterministic test suite trains the team to re-run red builds until they go green, which is the same as having no suite while paying for one.

The failure is progressive rather than sudden. Nobody decides to tolerate a flaky test; they decide to tolerate this flaky test, on a Friday, and then the norm exists and the next one costs nothing to admit.

Controls that move you along it