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…

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…

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…

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…

BDD, Microservices, and Serenity BDD

Posted by John Ferguson Smart
bdd | cucumber | microservices | serenity-bdd |

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…

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

Posted by John Ferguson Smart
acceptance criteria | bdd | feature mapping | test automation |

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…

Generating focused reports with Serenity BDD

Posted by John Ferguson Smart
serenity |

Many Serenity users that I work with and talk to have projects with a very large number of tests, spread over many functional areas and many different teams. It is useful to have an overall view of all of the test results, but it is also useful to limit the test results to show only…

Configuring different output directories with Serenity BDD and Maven

Posted by John Ferguson Smart
serenity |

Serenity BDD is an open source automated testing library geared towards writing high quality, highly maintainable automated acceptance testing, and using these acceptance tests to produce world-class living documentation. In this article, we look at how to get Serenity to generate its reports in different directories, in both simple and multi-module Maven projects. By default, Serenity…

Serenity Tricks with Java 8

Posted by John Ferguson Smart
serenity |

Java 8 came out back in 2014, but I still find many teams not making as much use of it’s features as they could. Arguably the biggest new feature in Java 8 were Lambda Expressions, which finally brought a taste of functional programming to the Java world. In this article, I want to give a…

A Test Pyramid Heresy

Posted by John Ferguson Smart
Agile | testing |

The Test Pyramid is a staple in Test Automation theory, and is used by many teams as the basis of their test automation strategy. But does it still work for modern development practices? Are there better and more efficient ways of thinking about test automation today? One of the more well-known models in the Test…

© 2019 John Ferguson Smart