Unit Testing and Code Coverage: When is Enough, Enough?

I've been writing quite a number of unit tests to backfill our existing code base (obviously we are not TDD... yet...) and according to Code Coverage analysis, I am over 80% covered. However, I have begun noticing that I don't even have unit tests for some of the classes that I've written and they are getting exercised as a result of the object chaining of other classes that are being tested on a unit level.

When is enough, enough?

Just because the Code Coverage says that every fork in execution is covered, doesn't necessarily mean that every bit of testing possibility is covered, it's only a good yardstick. I think I at least need to run through each unit individually to see the Code Coverage independent of each other.

After that, I should have a solid foundation of tests on which to build as we discover bugs (or they are reported to us).

Tags: code coverage, unit testing, tdd, visual studio 2005, amino software, software