But due to a few hours of poring over The RSpec Book yesterday, I can now see that this title is not a vegetable. It is, in fact, a can of worms.
BDD, or Behavior Driven Development, is a methodology that arose out of TDD (Test Driven Development). Wikipedia says that its creator, Dan North, describes BDD as
a second-generation, outside–in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
Clearly, it is not a vegetable. It's a system of writing tests in a language that's understandable by people of diverse backgrounds (i.e. non-programmers). By describing what the code is supposed to do in normal language, it's easier to see whether or not you should be writing the code at all. One of the goals of the BDD method is to minimize extraneous work and stop wasting time and money.
RSpec and Cucumber are tools for writing tests and adhering to BDD principles. I'm a Ruby newbie, so a lot of what I'm learning feels as foreign as this post title. However, I accept the process, so I'll continue working through The RSpec Book today and hopefully begin writing some tests for Mastermind.
No comments:
Post a Comment