John Ferguson Smart

John's latest articles

BDD Discovery Pitfalls – When the gherkins hide the garden

Posted by John Ferguson Smart

In this article, we will take a look at a real-world example of BDD scenario refactoring. Sue’s team had just received a new story to work on. Sue’s team works in an international bank, in the regulatory department: they are building a workflow application that makes it easier for auditors to review risky or suspicious…

Read More

BDD and the four pillars of business agility

Posted by John Ferguson Smart

People often ask where Behaviour Driven Development, or BDD, fits with regards to other agile practices. Managers might say “BDD sounds great. But how do we align our agile transformation strategy with BDD adoption?”. Some ask “Does BDD work with Scrum/SAFe/Kanban/<insert your favourite agile methodology here>”? Some folk even simply ask “So are we doing…

Read More

Testing REST APIs with Cucumber, Rest Assured and Serenity BDD – a tutorial

Posted by John Ferguson Smart

Nowadays, applications rely more and more on well designed, well documented and well tested APIs, and the number of these APIs is steadily increasing. Simply writing test scripts for our REST end points is no longer enough – our APIs need not just tests, but living documentation. The Screenplay pattern is a powerful way of…

Read More

Working with REST APIs using Serenity Screenplay

Posted by John Ferguson Smart

An extract from The Serenity Book The Screenplay pattern is an approach to writing automated acceptance tests that helps us write cleaner, more maintainable, more scalable automation code. A Screenplay test talks first and foremost about the tasks a user performs, in business language, rather than diving into the details about buttons, clicks and input…

Read More

What is Behaviour Driven Development? The executive summary

Posted by John Ferguson Smart
bdd | Requirements Discovery | test automation |

Behaviour Driven Development (or BDD) is a powerful collaborative methodology that helps teams focus on delivering high value features sooner and more reliably. BDD builds on and extends standard agile practices such as sprint planning and backlog grooming, user stories and acceptance criteria, and makes them much more effective.  Teams practicing Behaviour Driven Development routinely…

Read More

Embedding Custom Data in Serenity Reports

Posted by John Ferguson Smart
Living documentation | reporting | serenity-bdd |

Executable specification written in Gherkin are a great way both to document an application’s behaviour, and to demonstrate that it works. QA folk can use the generated living documentation to verify both that the feature does what the business expects of it, and that the feature actually works. Because of this, BDD living documentation plays…

Read More

BDD Treaties

Posted by John Ferguson Smart
bdd | cucumber | Xscale |

Better cross-team coordination with collaborative governance and executable specifications Getting multiple teams to work together effectively on large projects can be tricky. We expect teams to be autonomous and independent. But at the same time we expect them to coordinate with other equally autonomous and independent teams, so that their modules or services mesh seamlessly…

Read More

Can you use BDD for legacy applications? Sure you can!

Posted by John Ferguson Smart

A few folk have been asking me about how BDD works with legacy applications. So here are my thoughts. BDD is a collaboration process that involves multiple team members working together with BAs, business or product owners to discover and refine requirements using structured conversations about examples of user and system behaviour. It is an…

Read More

BDD has crossed the chasm

Posted by John Ferguson Smart

In the latest InfoQ Engineering Culture and Methods Report, for the first time, the essential agile practices of Behaviour Driven Development (BDD), Craftsmanship and Coaching/Mentoring appear in the Early Majority category. It is not to soon. High performing organisations and teams have long realised that Scrum alone is not enough. One survey actually found that…

Read More

Who owns your Gherkin scenarios

Posted by John Ferguson Smart
Gherkin scenarios | Requirements Discovery | Xscale |

“In a team practicing BDD, who owns the Gherkin scenarios?” I’ve been asked this question more than once, so I thought I’d pen an answer. Gherkin is the Given..When..Then notation commonly used to express acceptance criteria in agile projects. It is notably used by Cucumber and other related Behaviour Driven Development tools. Cucumber lets you…

Read More

Page 1 of 612345...Last »