Writing good test suites?

In short, how do I know if I am writing good tests for my code?

When you don't have any bugs in your code, you know that you are
writing good tests.

you might consider rcov - provides C0 test coverage analysis.

"Code coverage shouldn't be abused (in few words, C0 coverage guarantees nothing) but it's still useful for testing: it will at least tell you when your tests need more work, and most importantly where." [1]