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

It can sometimes be a challenge to get people to attend and then participate in sprint reviews. Here [...]

- mike@mountaingoatsoftware.com

The standard “As a...I...so that…” user story template has stood the test of time. Here’s why each o [...]

- mike@mountaingoatsoftware.com

From helping teams understand the boundaries of self organization to creating safety around things l [...]

- mike@mountaingoatsoftware.com

Your team is probably spending too much time in sprint planning meetings. Here’s how to spend less t [...]

- mike@mountaingoatsoftware.com

Debating between Scrum and Kanban? Guest author Brendan Wovchko offers five advantages Kanban has ov [...]

- Scott Hanselman

There's been a lot of folks, myself included, who have tried to install VS Code on the Raspberr [...]

- Scott Hanselman

I don’t speak in hyperbole very often, and I want to make sure that you all understand what a big de [...]

- Scott Hanselman

I recently needed to refactor my podcast site which is written in ASP.NET Core 2.2 and running in Az [...]

- Scott Hanselman

.NET code (C#, VB, F#, etc) compiles (for the most part) into Intermediate Language (IL) and then ma [...]

- Scott Hanselman

Almost ten years ago I posted abut the SpaceTec SpaceOrb 360 Controller and that was 15 years after [...]

Meta