Boost logo

Boost :

From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2006-09-15 21:07:11


Hi Joel!

On 9/16/06, Joel de Guzman <joel_at_[hidden]> wrote:
>
> The question is how BDD can help write code that clearly reflects the
> algorithms involved. Try the simple for_each, see if you can convince
> me. Then try a more elaborate algorithm, say, quicksort. See if you
> can capture the essence of the algorithm in BDD.
>

I think there's a blurring between the use of documentation and
specification here. Let me try to clarify a few things as to what BDD
wants to be able to achieve:

* Write Specification Suites for validating program behaviour :: In
lieu of calling these specification suites "test suites".

* Allow for writing programmatic specifications for systems,
subsystems, components, and "units" :: in liew of calling them system
level tests, integration tests, and unit tests

BDD does not aim to remove external documentation, but it does aim to
make the specification process programmatically consistent with
natural language.

Instead of "Unit Testing" you have "Behavior Specification".
Contrasting `ASSERT_EQUAL(_expected, _value)' with
`value(_value).should.equal(_expected)'. It's really just that simple.
;-)

-- 
Dean Michael C. Berris
C++ Software Architect
Orange and Bronze Software Labs, Ltd. Co.
web: http://software.orangeandbronze.com/
email: dean_at_[hidden]
mobile: +63 928 7291459
phone: +63 2 8943415
other: +1 408 4049532
blogs: http://mikhailberis.blogspot.com http://3w-agility.blogspot.com
http://cplusplus-soup.blogspot.com

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