Skip to content

#testing

21 pages tagged.

Articles

1

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.

Jul 14, 2026 · 4 min · 1 backlinks

Concepts

20

Automated Checks

The suite runs and judges itself without a human. Beck's "Automated", renamed to concede what automation actually automates.

Budding5 links

Behavioral Tests

Tests specify the contract a caller can observe, not the implementation behind it.

Budding9 links

Composable Tests

You cannot test every combination of inputs. Structure tests so confidence composes across dimensions of variability, and you beat the combinatorial explosion.

Budding5 links

Continuous Integration

Everyone pushes to the mainline at least daily, and every push is verified by an automated build. Running a CI server is not the same thing.

Seedling4 links

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.

Budding9 links

Deterministic Tests

Same code, same result, every run. One flaky test and the suite's verdict stops meaning anything.

Budding6 links

Diagnosable Tests

When a test fails, the cause should be obvious from the failure alone. One defect, one failure.

Budding5 links

Extreme Programming

A discipline of software development organized as values, principles, and practices. The second edition rebuilt the practice list so a team can adopt one piece at a time.

Seedling11 links

Fast Tests

Speed is not a nicety; it is the precondition for the tests being run at all.

Budding8 links

Minimal Test Data

If you can change a value without changing the result, it's irrelevant data, and irrelevant data hurts.

Budding5 links

Predict Success in Production

The macro goal every property serves. Green means safe to ship, within the limits of what was specified.

Budding4 links

Readable Tests

A test is documentation that happens to execute. Tell the reader what you're testing, not that you're testing.

Budding5 links

Refactoring

Changing a program's structure without changing its observable behavior. Not a named practice in XP's second edition, and load-bearing for two that are.

Seedling4 links

Run in Any Order

The failure of one test can never make another test look broken. Bache's sharper name for Beck's Isolated.

Budding5 links

Structure-Insensitive Tests

A behavior-preserving refactor should never change a test's result. The one property still awaiting its cross-author audit.

Seedling7 links

Ten-Minute Build

Build the whole system and run all the tests in ten minutes. A budget, deliberately arbitrary, that makes two other practices affordable.

Seedling2 links

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.

Budding17 links

Test-First Programming

Write the failing test before the code that satisfies it. A design technique that happens to leave a regression suite behind.

Seedling5 links

Testing vs. Checking

Checking verifies propositions and automates; testing asks which propositions matter, and doesn't.

Budding5 links

Writable Tests

Tests should be cheap to author, but authoring cost is design feedback, not a lever to pull directly.

Budding6 links