Characterization tests are cheap now, reviewing them is not

A red spider lily with long, curling stamens on a slender stem, set against dry mulch and small green leaves.

Most test suites check what someone meant the code to do, and users depend on what it actually does. A Stack Overflow blog essay makes the case for characterization tests, which pin current behavior, likely bugs included, so any change becomes a diff someone has to explain.

The essay says teams skip them because they are tedious. I think that reason is mostly gone. An AI coding assistant can generate the inputs and record the outputs in an afternoon. What it cannot do is answer the question every red test asks, which is whether anyone meant that.

When an assistant rewrites a module and its tests together, a green suite only agrees with itself. A baseline captured first is independent, but only if someone who knows the users reads the diff. My view is that the cost has moved from writing these tests to reviewing them, and leads should plan time for it.

After years of watching upgrades and rewrites trip over behavior nobody had written down, I have come to believe the undocumented behavior is the real contract.

Which service would you least like to refactor, and could anyone describe what it does today without reading the code?

Photo source: https://photos.robertstowe.com/flowers