Tests as communication

Automated tests aren't just checks to verify your software is working.

They're a communication tool that shows people working on the code how it's supposed to be used.

It's a form of documentation.

They are living examples of how to use the code with the benefit that you can run them and see if they still work, which isn't the case for markdown files or other types of static documentation that can become outdated.

Something I often do when evaluating or using software that has a test suite is review the tests and see how it's supposed to be used.