Software Engineering · Cluster

Testing

Test design, doubles, and suite economics.

  1. 01 Deriving Test Inputs from Equivalence Partitions and Boundaries How partition analysis narrows an enormous input space to a small set of cases, why defects concentrate at the lines between classes, and where the technique stops paying. foundational · Nov 7, 2022
  2. 02 Test Oracles and Where Expected Values Come From Why deciding whether an observed result is correct is harder than producing the input, and the five practical oracle constructions with their failure modes. foundational · Jan 6, 2026
  3. 03 Stubs, Fakes, and Mocks: What Each Double Actually Verifies The distinction between state verification and interaction verification, why a hand-written fake survives refactoring better than a mock, and what mock assertions couple. foundational · Oct 2, 2026
  4. 04 Fixture Isolation and the Cost of Shared Test State How ordering dependencies and leaked state turn a suite into a fragile sequence, and the four isolation strategies that restore independence at different prices. intermediate · Aug 1, 2024
  5. 05 Coverage Criteria and What They Cannot See How statement, branch, and condition coverage are defined as adequacy criteria, why 100 percent coverage is reachable without testing the requirement, and how data-flow coverage closes part of the gap. intermediate · Feb 19, 2024
  6. 06 Property-Based Testing and How Shrinking Finds the Minimal Case Why random generation finds inputs a hand-written table misses, how generators compose, and the reduction algorithm that turns a failing 400-element list into a failing 3-element one. intermediate · Jan 6, 2024
  7. 07 Model-Based Testing with Explicit State Machines How a reference model plus a generator of valid operation sequences tests stateful systems, why the model must be simpler than the code, and how traces localize a divergence. intermediate · Nov 10, 2022
  8. 08 Sources of Nondeterminism That Make Tests Flaky The mechanisms behind intermittent test failures — scheduling, clocks, unordered iteration, unseeded randomness — and the controls that make each source reproducible rather than merely rarer. advanced · Oct 2, 2025
  9. 09 Mutation Testing as a Measure of Assertion Strength How generated mutants expose tests that execute code without checking it, which mutation operators matter, why equivalent mutants cap the score, and what the technique costs. advanced · May 22, 2026
  10. 10 Suite Economics: Runtime, Feedback Delay, and Test Selection Why the value of a test decays with the time it takes to report, how to partition a suite by feedback latency, and what selective running buys and costs. advanced · Sep 26, 2026