Belying the old saying "cool as a cucumber," the Cucumber open source behavior-driven development tool is one hot technology.
Several hundred people filled an afternoon session on Cucumber at the RailsConf 2009 conference Tuesday in Las Vegas. With Cucumber, software development teams describe in plain text how software should behave. Text is written in a business-readable, domain-specific language. The text serves as documentation, automated tests, and development aid rolled into one format, according to the Cucumber Web site.
[ The new study shows growth in the software developer population is slowing. | Keep up with app dev issues and trends with InfoWorld's Fatal Exception and Strategic Developer blogs. ]
Cucumber, which has been around for a year, was developed by Oslo, Norway-based Aslak Hellesoy, a consultant at Bekk. In an interview at RailsConf Tuesday evening, Hellesoy explained how behavior-driven development improves upon test-driven development.
"Behavior-driven development is kind of an evolution of test-driven development that brings the customer into the picture," Hellesoy said. "Test-driven development is very developer-centric and very code-centric. Behavior-driven development basically lets the customer write the tests. Cucumber is a tool that lets a customer write tests in plain text, because most customers don't really know how to program.
"You use Cucumber to design how you want your system to behave," he said. For example, the tool could be used to describe the behavior of a billing system. Both developers and customers use the tool.
An audience member, while not currently a Cucumber user, was nonetheless eager to become one. "I think Cucumber shows a lot of promise," said Warren Elliott, a development team leader. Cucumber leverages the concept of an executable specification, enabling developers to work with something more than just a Word document stipulating application requirements, he said.
Cucumber was written in Ruby and has been downloaded 33,000 times. It will work with Ruby, Ruby on Rails, Java, Flex, or Web applications written in any language. It soon will work with .Net technology. The tool is a successor to the RSpec Story Runner Tool, offering more ease of use and better feedback, Hellesoy said. A new release is offered every two weeks.