Every test answers a question. The problem is that teams often ask the right question at the wrong layer.
A unit test that tries to prove "does checkout work?" is too high-level for its layer. A BDD scenario that tries to prove "does this regex validate email?" is too low-level for its layer. Both tests might pass. Neither is doing its job well.
That is how test suites become slow, fragile, and full of blind spots at the same time. Teams add more tests to compensate. The suite gets slower. Confidence does not improve much. Eventually someone decides the tests are too expensive to maintain, and coverage starts to erode.
The goal is not to maximize the number of tests. The goal is to put each test in the layer where it provides the most confidence for the least cost.
The Four Layers






