From: "David A. Black" Date: 2008-08-16T23:50:35+09:00 Subject: Re: BDD and TDD - What are they for? Hi -- On Sat, 16 Aug 2008, Phlip wrote: > David A. Black wrote: > >>> Yes - BDD is TDD with an added layer: A "literate programming" framework >>> that forces you to think in clear English* statements that your client >>> could understand. >> >> I wouldn't call it literate programming in the Knuthian sense > > A> hence the "scare quotes", and > > B> hence Knuthian literate programming is less than useful for us mortals. If you want to do what Knuth created it for, it is, or can be, very useful. As far as I know it has nothing to do with testing. > If Knuth only intended to invent markup languages in his spare time, and did > not intend to split the difference between developer-facing and > customer-facing verbiage, then we are beyond literate programming. > > Here's an example of a test case written in programmer-speak: > > test_strobe_count_down_fields_in_pre_fight_states > > Now reverbiage it: > > specify 'the audience sees an animated countdown before the fight' do > > Figuring out how to say an internal detail in terms a client can understand > is often brain-wrenching. As developers, our brains are prepped with > developer terms. The B in BDD stands for "Behavior the client has > requested"... My point is simply that "literate programming" is already a known term that refers to something other than creating clear phrases to describe tests. I'm not suggesting any kind of fight-to-the-death (or "it 'fights to the death' do :-) between them. David -- Rails training from David A. Black and Ruby Power and Light: * Advancing With Rails August 18-21 Edison, NJ * Co-taught by D.A. Black and Erik Kastner See http://www.rubypal.com for details and updates!