Sixteen weeksscene 26 / 34~2 min

The test pyramid

The exams come in sizes.

Before the cheer feature may climb the ladder, it must pass its exams, and the exams come in sizes.

The smallest is a Concept · lights on your mapunit testingTesting one small piece, usually one function, in isolation: call it with known inputs, check the outputs. Thousands of them, run in seconds, and when one fails the culprit’s address is precise. exam: one function, alone, interrogated. Does deliver_cheer drop a cheer when the runner has finished? Does it survive the runner nobody follows, the one Priya found in week two? There are forty-one of these for the cheer feature alone, they run in under a second, and when one fails it names the guilty function directly.

The middle size is Concept · lights on your mapintegration testingTesting several components together: the logic actually writing to a real test database, actually calling a fake payment service. Slower and fewer; they catch failures living in the seams.: several parts working together, the delivery logic actually writing to a real test database, actually pushing through a real queue. Slower, fewer, and they catch the failures that live in the seams between parts, which is where failures prefer to live.

At the top, Concept · lights on your mapend-to-end testingTests that drive the whole product the way a user would: a robot browser clicking, sending, checking what appears. Realest and slowest; a handful cover the journeys that matter most. drives the product like a person: a robot browser logs in as a fake spectator, follows a fake runner, types go faster, and checks the message lands. Realest, slowest, fewest. A handful of these guard the journeys that matter most, and one of them now guards cheering.

Robots and humans

Everything above is Concept · lights on your mapautomated testingChecks written as code and run by machines, identically, thousands of times a day, never bored on the four-hundredth run. What the pyramid is made of.: checks written as code, run by machines, incapable of boredom on the four-hundredth identical run. Its partner is Concept · lights on your mapmanual testingA human actually using the product, exploring and judging. Slower and unrepeatable, and the only way to catch what nobody thought to write a check for., a human wandering the feature with intent, and it is not the obsolete one. On Thursday a teammate manually sends themselves cheers for an hour and finds the thing no robot was told to look for: on a cracked old Android, the cheer banner covers the pace display. A robot verifies what you thought of. A person finds what you did not.

The pyramid passes. Next: the strange nightly world where the exams sit themselves.

End of scene

This scene covers: unit testing, integration testing, end-to-end testing, automated testing, manual testing

The four worlds