On Feb 4, 2014, at 11:20 AM, Aaron France <aaron.l.fra...@gmail.com> wrote:

>> If you thoroughly test all your code when you write it why do you need a 
>> tool to tell you you missed something?
> 
> This is just so brain-dead stupid.
> 
> How do you *know* that you thoroughly tested your code? Where do you
> get these metrics? There are various methods you need to employ before
> you can even beging to feel comfortable about saying you have
> 'thoroughly' tested code. Coverage is one method amongst many.

If you practice test-driven design in its strict form, it's relatively easy to 
show that you'll get 100% multicondition coverage (which is a bit stronger than 
branch coverage). 

In practice, you don't really achieve that because (1) humans err, and (2) it's 
fairly easy to degrade the coverage of a test suite as you evolve the system.

Nevertheless, reasonably disciplined testing gets high enough coverage that I 
consider missing coverage a third-order problem. The first order problem is 
faults of omission, which coverage doesn't speak to at all. 
(http://www.exampler.com/testing-com/writings/omissions.html)

In my own coding practice, it's not common that I later find a bug that a 
coverage tool would have forced me to find. I wouldn't mind having a Clojure 
code coverage tool, but not having one isn't much of a problem.

> 
> At this point I'm beginning to suspect you've never really used a
> coverage tool properly. 

I don't know about Colin, but I've written or supervised the writing of four 
coverage tools (3 for C, 1 for Java). That in itself doesn't show that I've 
used them properly, but a number of people have appreciated my writings on 
coverage. Such as: 

http://www.exampler.com/testing-com/writings/coverage.pdf
http://www.exampler.com/testing-com/writings/experience.pdf

--------
Latest book: /Functional Programming for the Object-Oriented Programmer/
https://leanpub.com/fp-oo

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to