Share via


Unit tests: How much is enough?

Looking back on some of my earlier projects, I noticed that  UTs account for roughly 20% of my total code lines.   I was wondering if anyone else has similar numbers for their unit tests?   It seems to me that my numbers are a bit low,  to achieve total test coverage I would expect over 50% (meaning more UT  code then project code). On the other hand, I have yet to come across an application which actually achieved that kind of testing completeness other than certain open source libraries.  

I know what the literature says,  now can anyone come up with some real world numbers to back up my theory?

Comments

  • Anonymous
    November 05, 2003
    I use test-first development practices, so I am not allowed to write code unless a test has failed - and then only enough code to pass the test.

    • In my first iterations my tests are about 35% of the codebase.
    • In later iterations, this proportion tends to rise as more tests are written to describe more obscure cases, and as the core code is simplified by refactoring.
    • By the end of the main development, the proportion is up to around 50%.
    • During defect management (test-first doesn't banish all defects) this proportion rises further as defects have to be described by tests before you are allowed to resolve them (which is a good way of enforcing the reproduction of defects) the proportion rises further.
    • In a fully mature codebase, I would expect up to 75% of the codebase to be tests.
  • Anonymous
    November 06, 2003
    Hi Addy!
    In my oppinion this is not right approach - to count lines of code.
    Check what diffs in the development and QA time - before and after using NUnit.