The first one
Phase one of Routine Machine shipped with passing tests on both services. Then I ran the whole thing through Docker Compose and a list endpoint returned a 500, a lazy-loading exception. No test caught it, because only the create path checked the response body. I added a regression test, and the testing doc now says every list endpoint gets a body assertion, not just create.
The second one
Phase two added streaks and completion rates. The same manual run caught a second bug: the two numbers disagreed about how to treat a log backdated before its routine existed. Both were computed from the same data. Neither was wrong on its own terms. Together they told two stories.
Twice is not yet a pattern
Two bugs in a row surfaced by running the system rather than by the suite. That’s worth watching. It isn’t a rule yet.
What I took from it
- A green test suite says the tests pass, not that the system works.
- Assert on the response body of every endpoint, not only the one you wrote first.
- Run the whole thing by hand before calling a phase done.
Amwayi
Comments