code-coverage

  • Ten years of a codebase, read in one week

    A decade of an application, and a week spent reading it rather than changing it. Decisions re-litigated because nobody knows what is already there.

  • A test suite that runs on every commit, in ninety seconds

    Four minutes forty is fine and ninety seconds changes behaviour. The threshold below which running the suite stops being a decision.

  • A year of an assistant in the editor, measured

    A year of using a model-backed assistant, and an attempt to say something specific about it. Every claim about this is a demonstration or a complaint.

  • A pipeline that deploys on merge, and the four gates before it

    Eight deploys a week performed by a person, an hour after merge, by whoever was free. Continuous deployment needs confidence rather than automation.

  • 188 tests deleted with the code they covered

    A directory of tests excluded from every tool since 2023, examined and removed along with what they tested. Three independent checks — coverage to find what the tests…

  • PHPUnit 12, and the tests we deleted instead

    A two-hour upgrade, and a directory of 188 tests excluded from every tool since 2023 and running on every push.

  • The snapshot I approved without reading

    A snapshot test that failed, an approval taken on the basis that the change was intentional, and a diff nobody opened. A snapshot test moves the verification from…

  • Mutation testing on a second directory

    A technique applied to one directory in 2023, extended to a second, with a much worse result and a better reason. A low score on code that implements…

  • Sampling a generated diff, and what sample size means

    An automated refactor across four hundred files, and a review that cannot read eight thousand lines. Splitting the run by rule and reviewing each separately is what makes…

  • A coverage driver change that broke one CI image

    PHPUnit 11 dropping support for one coverage driver, on a CI image that had it and not the other. The upgrade forced a change that was overdue for…