Tests that help you find defects faster
Next to making sure that your code works now, it’s also important to make sure that developers are able to fix defects in the future. The first step to achieving this is to write tests. Preferably, you are writing the tests before you write the code. But even if you have done that your tests might still be inaccessible to other developers or make it hard for them to figure out what broke. Here’s my list of properties that make tests go from good to great.
source