PHILOSOPHY

How I test systems

Most systems do not break in the clever places. They break at the edges, in the parts nobody tested and the failure modes nobody mapped. This holds for AI systems too, the model is rarely the problem, the missing testing around it is. Five things I hold to.

  1. 01

    Identify the risk before any test exists

    Map what can break and what it costs, before any test. No risk model, no testing.

  2. 02

    Test the boundaries

    Systems fail at the edges. Contracts, schemas, the seams between components. Concentrate there, not on the internals.

  3. 03

    Maximum coverage for a fraction of the effort

    Model based and property based generation. Large coverage from little written code, not more tests for their own sake.

  4. 04

    Right test, right layer

    Each test at the cheapest layer that can hold it. E2E is the last resort, not the reflex.

  5. 05

    Every test earns its place

    No test by default. If it guards no real risk, it is cut. A suite is a liability as much as an asset.