John Ferguson Smart

John's latest articles

User-centric and task-driven: a better way to automate

Posted by John Ferguson Smart

Too often, our acceptance tests end up as sequences of “click”s and “select”s running against a web application. This makes our tests hard to understand and hard to maintain. User-centric, task-driven test automation shows us a better way. When we learn something new, it is easy to get stuck in a low-level, details-focused way of…

Read More

Screenplay with Serenity BDD: the next stage in automated acceptance testing

Posted by John Ferguson Smart

I spoke recently at the CraftConf conference in Budapest on writing higher quality automated tests using the Screenplay pattern. The last half of the talk contains a live demo of using the Screenplay pattern with Serenity BDD. Learn how to write robust and articulate tests using the Screenplay Pattern, an innovative approach to writing BDD-style…

Read More

Multi-browser and multi-environment testing in Serenity BDD

Posted by John Ferguson Smart

Sometimes we might want to run the same test in different environments, or on different browsers, and still see each test run appear in the reports. The latest version of Serenity BDD allows you to implement multi-browser and multi-environment testing using the notion of contexts. A context is a way of running the same test several…

Read More

Running Serenity BDD tests with Tags

Posted by John Ferguson Smart

Tags are a powerful feature of Serenity, making it much easier to read, understand and navigate through the test reports. But tags also allow you to be more selective about what tests you run. This article shows you how. There are many times when it comes in handy to run just a subset of our…

Read More

When what we ask for is not what we get, and what we get is not what we need

Posted by John Ferguson Smart

Great teams deliver great products by solving problems their customers had but didn’t fully express, in ways they didn’t imagine possible. To deliver truly great products, software or otherwise, we need to go beyond what the customers or users ask for. We need to discover, understand and deliver what they really need. “If I had…

Read More

John Ferguson Smart comes to Dublin!

Posted by John Ferguson Smart

John Ferguson Smart, author of BDD in Action and well-known BDD thought leader, will be returning to Dublin in June for an exclusive tour of seminars, meetups and workshops. Book your place now to avoid missing out! Breakfast Seminar with John Ferguson Smart Shift-Left – Bringing Requirements Discovery and QA Together to Deliver Software that…

Read More

In the “three amigos” band, the BA sets the tune. But it shouldn’t always be that way

Posted by John Ferguson Smart

During Requirements Discovery and Definition activities, products owners and business analysts lead the dance. The ideas they propose, the problems they present, and the solutions they suggest, set the tone for the requirements that are discovered and ultimately the solution that will be delivered. This can be good or bad. Done well, you can instil…

Read More

Broad brushes and narrow brushes: there’s more to BDD than Given/When/Then

Posted by John Ferguson Smart

IT teams today are under constant pressure to deliver more value sooner, and Behaviour Driven Development (BDD) is one of the more effective ways to help teams deliver the high quality software that their business needs. When they adopt BDD, many teams look to tools like Cucumber to help them. But BDD isn’t simply about…

Read More

BDD, Microservices, and Serenity BDD

Posted by John Ferguson Smart

Introduction Many people still associate Behaviour Driven Development (BDD) and automated acceptance testing with User-Interface tests. But BDD and automated acceptance criteria works equally well for service-level tests, notably for Microservices. In fact, automated acceptance tests for Microservices are easier to write and much quicker to run than UI-based tests. In this article, we will look at…

Read More

Feature Mapping – a simpler path from stories to executable acceptance criteria

Posted by John Ferguson Smart

Introduction Writing good acceptance criteria is one of the keys to effective software delivery. But it’s hard. This article looks at Feature Mapping, a new technique that can help teams write higher quality acceptance criteria more easily. An Executable Specification is a Definition of Done that you can run as a test. In Behaviour Driven…

Read More

Page 2 of 41234