← Back to context

Comment by octoberfranklin

5 hours ago

It’s probably just as well. Having the implementer write the verification is generally a bad idea with people

Nobody (sane) does that.

Lots of people have the implementer write the tests. But this only seems like a bad thing because of an unfortunate terminology collision:

- Microsoft culture: tests are adversarial verification.

- Google culture: tests are executable documentation.

Both of these things are important. It's really unfortunate we call both of them "tests".

At Microsoft, (verification) tests are written by a different engineer than the one who wrote the code under test. VLSI/Hardware works like this too.

At Google, (documentation) tests are written by the person who wrote the code, because it's their job to document it, and because the point of documentation-tests is to make sure other people who modify your code don't break it.