A thought to consider when you first start writing (unit) tests: the developers' initial intuition might be that they are writing tests to show that their code works. It's much more effective though to write tests that are trying to prove the code *doesn't* work - and then fix the code.
Like @JoSSte just said - adding a test case to document a real incident (i.e. a test that fails because of a bug you're about to fix). Or before you write any code, a test case for a corner case that you suspect won't be treated correctly by the initial implementation.