Composable Tests
You cannot test every combination of inputs, so the confidence gained from one test has to combine with the confidence from others. Composable is the property that makes that possible: test the dimensions of variability separately and combine the results, and you cover far more than enumerating cases ever could (Beck).
The goal is universal. Beating the combinatorial explosion by composing confidence is what the test pyramid, property-based testing, and plain unit testing all lean on. What is contested is the mechanism: the mockist program formalizes it (Rainsberger: collaboration tests plus contract tests let confidence compose by induction across the layers), while classicists get the same confidence from sociable tests that exercise real collaborators. This list names the goal and takes no side, leaving the mechanism to the mechanics and process axes it does not adjudicate.
Not to be confused with Run in Any Order: that property is about tests not interfering, this one is about confidence combining. Its macro expression is Predict Success in Production: the composed confidence is what lets a green suite stand in for the combinations you never ran. That same isolation is where it trades against Behavioral: covering each dimension in its own slice gives up the end-to-end fidelity of exercising them together, one of the trade-offs among the properties.
Part of Test Desiderata.
Measuring: no single number. Proxy with whether each dimension of variability has its own focused test (so the suite is not leaning on end-to-end combinations), and with contract-test coverage at the boundaries where the induction has to hold.
Sources
- Kent Beck, Test Desiderata: the Composable property, “test different dimensions of variability separately and combine the results”.
- J.B. Rainsberger, Integrated Tests Are a Scam: confidence composing by induction across layers.