Test Driven Development (TDD) – Code Coverage

Home » General Topics » Test Driven Development (TDD) – Code Coverage
TDD (Test Driven Development) Letters

Should you aim for 100% code coverage on Test Driven Development (TDD) projects?

My view is that for TDD projects, only the business logic layer should be under TDD, not every line of code in every layer. This way it gives you maximum benefit developing the core unique thing you are developing, and lets the common and garden plumbing in other layers be produced without 5 lines of test code for each line of application code produced.

Controversial? Many projects blindly use tools like NCrunch and aim for every line of code to be covered by a test somewhere.

I personally don’t think this is necessary and adds a lot of overhead to a project where if you are following SOLID or similar rules your MVC views will only contain formatting and your data access layer will contain lots of small very simple functions. So what if you miss a where clause off a select? It will be really obvious really quickly especially if the repository method is used in more than one place, and fixing it once will fix it everywhere. I think a balanced approach is much more productive, although like a lot of my views, these are strong views, weakly held – that is, the client can easily convince me that if they want to do it differently they can, because they are the client after all.

About Phil

I have been working as a software developer since 1983. This blog could have been called "From Fortran 77, C and Cobol to C# in 20 (not so) easy years", but it doesn't sound quite right somehow. Besides I'm talking about what's happened since 2003, not before!

Leave a Reply

Your email address will not be published.


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">




Top Posts & Pages

Categories

Recent Posts

Recent Comments

Archives

Blogroll

  • Mike Cohn's Blog
  • Scott Hanselman's Blog
- mike@mountaingoatsoftware.com

The iterative and incremental nature of agile makes an agile approach seemingly less compatible with [...]

- mike@mountaingoatsoftware.com

Velocity can be great for predicting how much a team can deliver in a given period. But it needs to [...]

- mike@mountaingoatsoftware.com

Succeeding with agile isn’t just about knowing where to start, it’s about knowing where to go next—w [...]

- mike@mountaingoatsoftware.com

Here’s what to do when facing a complex user story that cannot be split but is too large for one spr [...]

- mike@mountaingoatsoftware.com

A lot of organizations claim to be agile. Here’s a quick way to see if they really are. [...]

- Scott Hanselman

ASP.NET Core 2.2 is out and released and upgrading my podcast site was very easy. Once I had it upda [...]

- Scott Hanselman

Well crap. I was typing really fast and got a squiggly, so I right-clicked on it and rather than sel [...]

- Scott Hanselman

Buckle up friends! Microsoft is open sourcing WPF, Windows Forms (winforms), and WinUI, so the three [...]

- Scott Hanselman

Naming things is hard. I've talked before about the term "evangelism" and my dislike [...]

- Scott Hanselman

Hey friends! This is my FIFTH year doing a list of Great STEM Christmas Toys for Kids! Can you belie [...]

Meta