|
Boost : |
From: Emil Dotchevski (emildotchevski_at_[hidden])
Date: 2019-10-23 05:25:03
On Tue, Oct 22, 2019 at 8:39 PM Robert Ramey via Boost <
boost_at_[hidden]> wrote:
> On 10/22/19 3:42 PM, Emil Dotchevski via Boost wrote:
>
> > I get your point that it's easier to reason about correctness if you can
> > trust the individual components.
> Right.
> > This reflects a "white box testing"
> > mentality.
> I have heard the term - but I never knew what it meant
>
It means, you approach testing with knowledge of how the program works. In
this case, you reason about the correctness of a JSON parser based on the
correctness of Spirit. For example, you might skip testing certain input
sets because you'd reason that their impact is limited to Spirit, and you
*know* it works. In contrast, "black box" testing specifically ignores such
reasoning and focuses on testing the correct behavior not knowing how the
program works.
Ideally, whether or not you can rely on a component to be bug-free should
have no impact on the thoroughness of the tests.
> > But if Spirit is bug-free, logically it does not follow that a
> > library that uses it has better chance of being bug-free, compared to a
> > library that does not.
>
> > on balance it is better if you don't depend on another library.
>
> Also I disagree with this. All things being equal, I'd rather depend on
> someone else's work than my own. I want to focus on only those things
> that are unique to my situation. And I get no satisfaction from doing
> something that someone else has already done better.
>
What I mean is that your users would appreciate that your library has one
fewer dependencies.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk