BDD Crash Course Presentation

  • strict warning: Non-static method view::load() should not be called statically in /hermes/walnaweb12a/b57/moo.greydragoncom/nodsw/sites/all/modules/views/views.module on line 906.
  • strict warning: Declaration of views_handler_argument::init() should be compatible with views_handler::init(&$view, $options) in /hermes/walnaweb12a/b57/moo.greydragoncom/nodsw/sites/all/modules/views/handlers/ on line 744.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /hermes/walnaweb12a/b57/moo.greydragoncom/nodsw/sites/all/modules/views/handlers/ on line 607.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /hermes/walnaweb12a/b57/moo.greydragoncom/nodsw/sites/all/modules/views/handlers/ on line 607.
  • strict warning: Declaration of views_handler_filter_boolean_operator::value_validate() should be compatible with views_handler_filter::value_validate($form, &$form_state) in /hermes/walnaweb12a/b57/moo.greydragoncom/nodsw/sites/all/modules/views/handlers/ on line 159.
Leeland's picture

Last night 2 months of poking at my computer almost every evening ended with a room of 30 software professionals looking like the proverbial deer in the head lights. To be honest I was very concerned that I was being too basic and people would demand more in-depth details. I had a Linux build server all set up with source code repository, Hudson build services, a micro-development environment, and a handful of example projects ready to jump into once the questions / demands for details started. As it turned out only a couple of individuals in the room had experience with Behavior Driven Development and they apparently did not have a lot of advanced training on testing.

This is a major concern of mine now. I knew that testing development was not at the forefront of many junior and mid-level developers, but it was interesting that a room full of senior developers was also lacking in the testing background necessary to develop programmer tests for high quality. Further it might explain why even the Agile and Iterative projects are still seeing 20-30% challenged/failed rates.

At the end of the presentation I provided a next steps list of study materials to get into and develop programmer testing skills and BDD performance.

Below are:

  • the slides for the presentation in PDF format
  • source code for the basic example built for this presentation
  • Edited 11/18/2010 17:29 the video of this presentation is up at

And here is the list of resources roughly in order for where to start getting into and developing your BDD skills:

  1. Dan North’s “Introducing BDD” online article (the actual beginning of BDD)
  2. A Beginners Guide to Dependency Injection by Dhananjay Nene (online article)
  3. Spring 3 Tutorial: Setting Up & Configuring The Environment by Jason Tee (online article)
  4. Inversion of Control Containers and the Dependency Injection pattern by Martin Fowler (online article)
  5. C2 “Extreme Programming Roadmap”
  6. Test-Driven Development: A Practical Guide (book) by David Astels
  7. Test Driven Development By Example by Kent Beck (book)
  8. Pragmatic Unit Testing in Java with Junit (book)
  9. The Pragmatic Programmer by Andy Hunt and Dave Thomas (book)
  10. Data Structures and Algorithm Analysis in Java (2nd Edition) by Mark A. Weiss (book)
  11. Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts (book)
  12. Implementation Patterns by Kent Beck (book)
  13. Software Project Survival Guide by Steve McConnell (book)
  14. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development by Craig Larman (book)
bdd-crash-course-v2.pdf2.86 MB
bdd-demo-src.7z2.6 KB

Thread Slivers eBook at Amazon