Boost logo

Boost :

Subject: Re: [boost] [test] Looking for co-developer/maintainer
From: Richard (legalize+jeeves_at_[hidden])
Date: 2014-02-19 14:54:33


[Please do not mail me a copy of your followup]

boost_at_[hidden] spake the secret code
<CADJ=SEMqYFoCaZi9m+MPzu1_n=4QD3Y3Yd1wDH526foFXuxSeA_at_[hidden]> thusly:

>However docs on extending and using the lib beyond basic use cases
>(eg traversing the tests for producing custom result formats) are much
>needed.

That's a reasonable request. However, this information is missing
from the current documentation, so my version doesn't make things any
worse.

I am curious how many people need this advanced functionality. If one
person needs it, then it's lower priority than if a bunch of people
need it.

>The docs on how the library works "internally" are needed to be
>able to use those extension points effectively.

None of this is documented currently.

>FWIW, I suspect there is a large and silent (especially in this forum)
>user base of boost test [...]

>From my discussions with people outside this mailing list (in person,
user groups, code camps, other newsgroups, etc.), most people are not
happy with Boost.Test's documentation. Wait, let me rephrase that. I
don't think I've met or conversed with a single person who was happy
with the existing documentation, not even it's author.

The poor state of the documentation is 's why I wrote tutorials on
how to do TDD with Boost.Test in 2009. That's almost FIVE years ago
at this point. Those tutorials are the most heavily accessed postings
on my blog, by an order of magnitude. That was what told me that the
documentation needed to be overhauled. If the documentation was doing
it's job, then my blog tutorial posts would just be getting the same
amount of hits as other posts on my blog. I waited patiently for the
documentation to get better. I don't think it has hardly changed at
all in that time.

Let's be completely honest here. There are many C++ unit testing
frameworks out there. The main competitor for Boost.Test is
gtest/gmock. Most people, when faced with the poor documentation and
poor response to questions of Boost.Test, simply stop trying to use it
and switch to gtest/gmock. Or the documentation alone is enough to
turn them away towards gtest.

This is making gtest/gmock the pre-eminent unit testing tool for C++
code out there in the wild.

Boost has been losing mindshare and leadership here for a long, long
time -- at least 5 years and probably more.

This is why "Modern C++ Programming with Test-Driven Development"
by Jeff Langr, which came out in Oct. 2013, uses gtest primarily in
it's discussion and examples. Boost.Test barely gets a mention in the
appendix of the book and I know why -- it's difficult to understand
and the community also struggles with understanding and using it
effectively, so it's hard to get good answers from the community.

Even within the boost community several people have come out and
explicitly stated their distaste for Boost.Test, it's documentation
and the way it has been maintained. At least two library authors have
corresponded with me in private stating that Boost.Test too often breaks
their code and the only solution they see to that problem is a *different*
maintainer.

Looking forward, I don't see the current path as changing the ultimate
outcome:

Boost.Test will continue to be used less and less, only people with an
existing investment in using it will continue to use it.

gtest/gmock will continue to be used more and more and will become the
defacto standard for new development.

-- 
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
     The Computer Graphics Museum <http://computergraphicsmuseum.org>
         The Terminals Wiki <http://terminals.classiccmp.org>
  Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk