BDD was created by Dan North in 2003 as an evolution of TDD to improve communication between customers and developers. It uses examples written in a business-readable language to define requirements and tests. Cucumber is a tool that supports BDD using a natural language syntax for writing tests in Ruby.