Behavior driven development (BDD) can be used to improve communication between testers, developers and the business. For example you can use given-when-then scenarios to develop test scripts and at the same time define the requirements of the system. BDD involves all team members and helps them to think about the product.
At the recent CukeUp 2015 conference an attempt was made to describe what Behaviour-Driven Development (BDD) actually is, and for Paul Rayner it was clear that BDD is a community centred on key values and principles still open to adding new practices, not a community focused on boundaries and exclusion.
Behavior Driven Development (BDD) uses examples, preferably in conversations, to illustrate behavior. A lot of people focus on the tools if they are doing BDD but having the conversations is more important than writing down conversations and automating them said to Liz Keogh. An exploration of using BDD to do experiments to deal with complex problems and do discoveries.
Cucumber was created as a way to overcome ambiguous requirements and misunderstandings, targeting both non-technical and technical members of a project team, but if you think Cucumber is a testing tool you are wrong, Aslak Hellesøy, who created Cucumber in 2008, recently stated. Julien Biezemans and Liz Keogh recently expressed similar opinions.
InfoQ did an interview with Gil Zilberfeld about managing the expectations that organizations have of agile and how to prevent misconceptions, valuable ideas and practices from agile and what the future will bring for agile.
At the Agile Singapore conference last year Steve Freeman spoke about the way TDD has been misinterpreted and frequently misapplied in many adoptions and how the SOLID architectural principles are still important, perhaps more important now than in the past.
Matt Wynne, founder at Cucumber Ltd spoke at QCon London 2015 on how BDD can leverage the benefits of Agile on teams struggling with common patterns like lack of predictability, communication and quality.
Behaviour-Driven Development (BDD) is very much about conversations and examples but there is a software design part that can be used to bring BDD and Domain-Driven Design (DDD) practices together, combining the conversional bits with a domain-focused design activity, Konstantin Kudryashov explains in a presentation.
Behaviour-Driven Development (BDD) can help in overcoming the gap between the developer’s understanding of what needs to be built and the business’ understanding of the technical challenges caused by the requirements. The reason is improvement in communication between the two groups, Alistair Stead and Konstantin Kudryashov explains in their Beginner’s guide to BDD.
Stephen de Vries, ContinuumSecurity founder, promoted the idea of continuous and visible security at Velocity Europe 2014. Stephen argued that the same kind of processes and tools that embedded QA in the whole workflow of an agile development process can be applied to security. BDD-Security is a security testing framework that follows the Given-When-Then approach and is built on top of JBehave.
Since DHH's opening keynote at Railsconf 2014 in which he questioned the use and value of TDD, and his subsequent post titled "TDD is Dead, Long Live Testing" have generated a lot of reaction and controversy. Much of the reaction has been focused on how TDD is, or should be, applied and used.
The single most important of Behaviour-Driven Development (BDD) is the conversation, not the tooling, Liz Koegh states in a presentation about 10 years of doing BDD at the recent Cucumber conference. Liz believes we have made some big mistakes during these years of practicing BDD, but she is quite excited about some of the developments over the last few years.
Meez is a new gem that will help get started with test-driven infrastructure for Chef cookbooks. It creates all the boilerplate necessary to assess a cookbook’s quality using tools such as Test Kitchen, Foodcritic, ChefSpec and others, allowing the user to focus on writing actual tests and infrastructure code.