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…

A day (or a sprint) in the life of a BDD team

Posted by John Ferguson Smart
Agile | bdd | business analysis | testing |

Introduction Behaviour Driven Development is a collaboration practice that uses conversations around concrete examples and requirements, expressed in an executable form, to deliver higher value software more effectively. In this article, we walk through a typical BDD process. While every BDD team is different, and mature teams adapt and refine their process to suit their…

Serenity BDD Tip: fine-tuning screenshots in your living documentation

Posted by John Ferguson Smart
bdd | junit | serenity | testing |

One of the distinguishing features of Serenity BDD is its powerful reporting capabilities. If you organise and structure your tests well, Serenity can help you turn your tests into a sort of light-weight functional documentation, describing both what your application does in high level terms, and how users use the application to achieve specific goals….

The role of QA in a DevOps world

Posted by John Ferguson Smart

If you believe what you hear, DevOps is the latest “big thing”. According to a recent survey, high performance teams practicing a DevOps culture deploy 30 times faster and have 60 times fewer failures than low performing teams. Companies having adopted DevOps have been reported reducing the average time it takes to get a feature…

I don’t ask devs to commit, and neither should you

Posted by John Ferguson Smart

I’ve seen the ‘C’ word floating around the Agile blogosphere again recently – yes, “Commit”. And I’m not talking about Git. I’m talking about that stick that incompetent scrum-masters use to beat their team members into submission so they can look good in the eyes of their managers. You see, “commitment” to delivery individual stories…

The five stages of BDD (and Agile) Adoption

Posted by John Ferguson Smart

An article by John Ferguson Smart and Jan Molak. More and more organisations are looking to Behaviour Driven Development (BDD) and related practices, as a way to gain or maintain their competitive advantage in software delivery. This is generally a good thing, and the teams I see that succeed in embracing a BDD and Agile…

© 2019 John Ferguson Smart