Peter Ritchie raised concern about TDD and BDD keeping practitioners from writing good unit tests. He cites an over-reliance on “interaction testing", a core mantra and essence of TDD and BDD, as a driver with tendency to result in incomplete unit testing.
Even the most successful project becomes a failure when a new technology comes out and everything has to be rewritten from the ground. This is why business logic has to be separated from technology. And, according to Kathleen Dollard, code generation is a promising approach to achieve it.
RSpec has become a poster child for both Domain Specific Languages and Behavior Driven Development (BDD), a type of Test Driven Development. The new RSpec 1.1 release adds improved support for Rails and other improvements.
Where does one start when practicing test driven development? With the requirements or with the design? Or, put another way, top-down or bottom-up? When one starts to write a test first, without any code, what does that test represent? Both approaches are practiced in the Agile community, but there is little consensus on which provides more value.
RSpec is a Behaviour-Driven Development acceptance testing framework for Ruby or Java that enables developers to turn acceptance specifications from the business into executable examples of expected behaviour. Dan North built a separate extension, RBehave, to express story-level integration tests with RSpec. David Chelimsky has now incorporated RBehave-like functionality into the RSpec trunk.
A blog post titled "Debugger Support Considered Harmful" claims that Ruby debugging support is lacking - and that that's a good thing. We look at the various rebuttals and the state of Ruby debuggers.
InfoQ interviews Dave Astels and Steven Baker, two of the authors of the successful Rspec framework about enabling Behavior-Driven Development in Ruby, and the implications of moving from a test-centric point of view to one that is more specification-driven.
On her Creating Passionate Users blog, Kathy Sierra recently envisioned software that's not just usable, but transparent, helping users achieve "flow" in their work without intrusive distractions, delays or constraints. Perhaps end-user "flow" is the next big differentiator - and if so, what will the development processes look like that support the creation of such software?
RSpec, the Behavior Driven Development(BDD) library for Ruby, is now running on JRuby. This is great news for the RSpec developers but it has wider positive implications for the JRuby and Java communities.