#test-desiderata
16 pages tagged.
Articles
Test Desiderata, remade
Rebuilding Beck's Test Desiderata from the field's evidence. What survives cross-author scrutiny, what gets renamed, and what quietly took sides.
Concepts
Automated Checks
The suite runs and judges itself without a human. Beck's "Automated", renamed to concede what automation actually automates.
Behavioral Tests
Tests specify the contract a caller can observe, not the implementation behind it.
Composable Tests
You cannot test every combination of inputs. Structure tests so confidence composes across dimensions of variability, and you beat the combinatorial explosion.
Desiderata in Tension
The eleven properties are not independent. Some reinforce each other, some pull against each other, and you cannot maximize them all at once.
Deterministic Tests
Same code, same result, every run. One flaky test and the suite's verdict stops meaning anything.
Diagnosable Tests
When a test fails, the cause should be obvious from the failure alone. One defect, one failure.
Fast Tests
Speed is not a nicety; it is the precondition for the tests being run at all.
Minimal Test Data
If you can change a value without changing the result, it's irrelevant data, and irrelevant data hurts.
Predict Success in Production
The macro goal every property serves. Green means safe to ship, within the limits of what was specified.
Readable Tests
A test is documentation that happens to execute. Tell the reader what you're testing, not that you're testing.
Run in Any Order
The failure of one test can never make another test look broken. Bache's sharper name for Beck's Isolated.
Structure-Insensitive Tests
A behavior-preserving refactor should never change a test's result. The one property still awaiting its cross-author audit.
Test Desiderata
Eleven properties, one macro goal, one outcome. A field-grounded remake of Beck's and Bache's lists that keeps what the evidence supports.
Testing vs. Checking
Checking verifies propositions and automates; testing asks which propositions matter, and doesn't.
Writable Tests
Tests should be cheap to author, but authoring cost is design feedback, not a lever to pull directly.