It's an age-old problem of what one defines as functional vs integration vs acceptance testing. I try not to get drawn down that path.
A BDD paradigm can be applied to different forms of testing, because all that changes is the "view" that you decide to fix your attention on. Your usecase of a web test is a very appropriate one, as IMO it works very well with BDD, as it provides a layer that focuses the language of the test on the user interaction with the UI and away from the technicalities of the tool (Selenium in this case). Have a look at this story: http://git.codehaus.org/gitweb.cgi?p=jbehave-web.git;a=blob;f=examples/trader-runner-stories/src/main/java/org/jbehave/web/examples/trader/stories/find_steps.story It tests a web interaction but very little technical details are present in the step description. On 26/08/2010 12:40, [email protected] wrote: > Would BDD not be more accurately analogous with functional system testing > than integration testing as integration testing can a lot of the time > still imply a lot on the low level stuff. > > It seems to me BDD would be best used to write scenarios along with > something like Selenium as the UI is the user's gateway to the behaviour? > > I am not sure how that would work practically with a typical Selenium test > doing something like fill a form, click a button, wait for the page to > load, check the title and response, and check the database state etc. Does > this seem high level enough still to warrant being called BDD? > > Chris > >> Historically, BDD evolved out of attempts to improve TDD (sometimes >> you'll hear things like "BDD is TDD done right"), >> but nowadays I see it as something complementary and orthogonal to TDD >> (where by TDD one assumes unit-level testing). >> >> I agree with your interpretation of TDD as lower-level testing and BDD >> as higher-level. >> >> I don't quite agree with Rob's diagram: scenarios --> unit-tests >> >> True BDD scenarios may be run "technically" via JUnit but that does not >> make them unit-tests, just like one can run integration tests via >> JUnit. The nature of testing has more to do with the objective it has >> and the elements it interacts with. >> > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
