Posted by John Ferguson Smart
20th March 2023
In this tutorial, you will learn how to configure and run your Java automation testing scripts on the LambdaTest Selenium cloud platform using Serenity BDD. Objectives By the end of this topic, you will be able to: Set up an environment for testing your hosted web pages using Serenity framework with Selenium. Understand and configure…
Read More
Posted by John Ferguson Smart
26th November 2021
Serenity BDD is one of the most popular Java test automation libraries, and for good reason! If you are writing automated web tests in Java, using Serenity BDD correctly can reduce the amount of code you need to write by well over 50%, slashing the amount of code you need to maintain yourself. Serenity BDD…
Read More
Posted by John Ferguson Smart
18th April 2019
Join John Ferguson Smart in Madrid this June at Expo:QA and learn the finer points of Advanced BDD Test Automation practices In this workshop with John Smart, author of BDD in Action, you will be introduced to the principles and practices of applying software engineering design practices to test automation, looking at concepts such as…
Read More
Posted by John Ferguson Smart
11th March 2019
Gherkin Refactoring Patterns Good Gherkin is easy to read but hard to write. And while there are many tips and tricks for writing good Gherkin, often teams still struggle to keep their scenarios clean, informative and readable. In this talk, we will take a practical look at some real-world Gherkin scenarios, and see why they…
Read More
Posted by John Ferguson Smart
John Ferguson Smart is an international speaker, consultant, author and trainer well known in the Agile community for his many books, articles and presentations, particularly in areas such as BDD, TDD, test automation, software craftsmanship and team collaboration. John is the author of the best-selling BDD in Action, as well as Jenkins: The Definitive Guide…
Read More
Posted by John Ferguson Smart
It was the time of Da Vinci and Michelangelo. It was also the time of Machiavelli and the Medici. Artists working on timeless masterpieces crossed paths with mercenary captains, contracted to do a very specific job. In this keynote talk, John Smart will address important questions with deep implications for any IT team, or any…
Read More
Posted by John Ferguson Smart
13th February 2019
This tutorial show you how to get started with REST-API testing using Serenity and Cucumber 4. Get the code Git: git clone https://github.com/serenity-bdd/serenity-rest-starter.git cd serenity-rest-starter Or simply download a zip file. The starter project The best place to start with Serenity and Cucumber is to clone or download the starter project on Github (https://github.com/serenity-bdd/serenity-rest-starter). This project…
Read More
Posted by John Ferguson Smart
6th February 2019
Serenity BDD is a library that makes it easier to write high quality automated acceptance tests, with powerful reporting and living documentation features. It has strong support for both web testing with Selenium, and API testing using RestAssured. Serenity strongly encourages good test automation design, and supports several design patterns, including classic Page Objects, the…
Read More
Posted by John Ferguson Smart
19th January 2019
(Learn about more modern agile test automation practices in the Modern Agile Test Automation Playbook) Page Objects are one of the most widely used test automation design patterns around. Most QA engineers have used a variation of Page Objects at some point. However, it is often misunderstood and used poorly, which can result in test…
Read More
Posted by John Ferguson Smart
30th December 2018
In 2019, the Serenity Dojo will be integrating with Accredible. Accredible is one of the most widely recognised digital credentialing platforms. From January 2019 onwards, when you complete one of the Serenity Dojo courses, you will receive a digital certificate that you can download and use as evidence of your training. You can even post…
Read More
Posted by John Ferguson Smart
26th December 2018
When we write acceptance tests, we often need to run them against different environments. Managing the URLs for each environment by hand can be cumbersome, especially when there are not just web pages, but also REST end points, databases etc to think about. Fortunately, Serenity BDD provides a lot of flexibility in configuring environment-specific options….
Read More
Posted by John Ferguson Smart
16th December 2018
Serenity BDD provides a number of ways you can integrate your acceptance tests with JIRA. In this article, we look at a few of the more common ones, focusing on integration with Serenity BDD and Cucumber. Adding links to JIRA in your Serenity reports The first and easiest integration with JIRA is to get Serenity…
Read More
Posted by John Ferguson Smart
2nd December 2018
https://youtu.be/9CSrBMYbfdE In this first episode of Byte Sized Serenity BDD, we look at a new feature: Transitionary Screenshots.
Read More
Posted by John Ferguson Smart
17th November 2018
“BDD is what makes you BE agile, instead of just doing agile” It isn’t hard to find a team that says they are doing Behaviour Driven Development, or BDD. This isn’t too surprising, since, when done well, it is an extremely effective way of delivering high value, high quality solutions to your users. Unfortunately, the…
Read More
Posted by John Ferguson Smart
5th November 2018
Serenity Screenplay helps us write cleaner, more elegant and more maintainable code, and Serenity 2.0.13 has added some great improvements in this area. Read on to find out more! One of the most powerful aspects of Serenity Screenplay is the way it documents user interactions with the system in a clean and readable way, both within…
Read More
Posted by John Ferguson Smart
30th October 2018
REST API testing an increasingly important part of modern software architectures. And in a world where speedy delivery is of the essence, comprehensive automated tests are not an option. From a testing perspective, understanding REST APIs and how to use them is vital, even if you aren’t writing tests for an API directly. Testers can…
Read More
Posted by John Ferguson Smart
20th October 2018
Serenity BDD is a library that helps you write better automated acceptance criteria, and produce better living documentation and executable specifications. In this article, we will look at the key new features in Serenity BDD 2.0. Introduction Serenity BDD is a test automation and reporting library that is used in conjunction with other testing libraries…
Read More
Posted by John Ferguson Smart
6th September 2018
A Serenity user recently wrote to me with the following question: Is there anyway way to reuse Scenarios? Imagine that I’ve created a feature called “WelcomePage” with a Scenario called “Login” with the steps to Login to some webapp. Now, in a different feature file, on the Background part, use like a WelcomePage.Login (Feature.Scenario) and,…
Read More
Posted by John Ferguson Smart
7th August 2018
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
Posted by John Ferguson Smart
12th June 2018
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
Posted by John Ferguson Smart
22nd May 2018
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
Posted by John Ferguson Smart
11th January 2018
Remember when the iPhone came out? Remember how Steve Jobs pitched that it “Changed Everything”, the first time? Maybe he was exaggerating a little, but there is no doubt that the iPhone was a game-changer. It changed the way we thought about what a telephone should do. The iPhone was what we call a market…
Read More
Posted by John Ferguson Smart
2nd January 2018
What is Living documentation Living Documentation comes from the world of Behaviour Driven Development, and is closely related to the idea of Executable Specifications. But what do we mean by “living documentation”? Living documentation is, as the name suggests, both documentation, and living. It is documentation. It describes how an application works, and what business rules affect…
Read More
Posted by John Ferguson Smart
15th December 2017
AngularJS applications have their own challenges when it comes to WebDriver test automation. The asycnhronous nature of Angular apps makes testing these applications particularly tricky when using traditional WebDriver-based technologies. In the JavaScript world, Protractor provides an elegant solution to the problem of testing AngularJS apps. Protractor supports angular-specific locators and knows how to wait…
Read More
Posted by John Ferguson Smart
7th December 2017
Teams don’t actually deliver value. They increase their customers’ capability to generate value. And the key to increasing this capability is not churning out features. It is learning about the problems the customers are trying to solve, and about the best ways to solve these problems. Techniques like Scrum do place a strong emphasis on…
Read More
Posted by John Ferguson Smart
1st November 2017
The legacy of the linear requirements process When I started out in software development, we had a thing called a Requirements Specifications Document. Business Analysts would spend a very long time gathering the requirements, organising them, and writing them down in a large Word document. Over time, folk found this approach to be inefficient and…
Read More
Posted by John Ferguson Smart
24th October 2017
“Cucumber and Serenity are the Dynamic Duo of BDD test automation” Learn real-world BDD test automation practices with Cucumber and Serenity BDD, online and at your own pace. Behaviour Driven Development, or BDD, is an extremely effective software delivery practice that helps teams collaborate better and focus on delivering features that really matter. Cucumber is…
Read More
Posted by John Ferguson Smart
20th October 2017
John delivers a Keynote at the IMWorld 2017 conference in Romania on the topic of bringing teams together to deliver software that makes a difference:
Read More
Posted by John Ferguson Smart
19th October 2017
Intent-Driven Development. It’s not a new agile fad – it’s just articulating an approach that works well for a lot of experienced practitioners. Whether they know it or not. When I train and coach development teams, I like to talk about Intent-Driven Development. Don’t worry – Intent-Driven Development is not the latest agile trend. Rather,…
Read More
Posted by John Ferguson Smart
2nd October 2017
Serenity 1.6.3 comes with a new step library feature called Persona Step Libraries. Persona Step Libraries help you make your test code more intuitive and more readable. You can check out the full release announcement on our new Rocket Chat forum. Serenity has always tried to make it easy to organise your test code into appropriate…
Read More
Posted by John Ferguson Smart
25th September 2017
In Serenity 1.6.0, we have refactored how step libraries are managed, to make them more intuitive and easier to understand. Basic step libraries In Serenity, we use step libraries to better organise our test logic into reusable components. Step libraries are often used to represent actors or persona who interact with the application. For example,…
Read More
Posted by John Ferguson Smart
23rd September 2017
In lean/agile software development, learning is not a byproduct; learning is the most valuable output. To up our game, we don’t just need to learn how to build and deliver better software. We need to learn how to learn better. And one of the keys to learning better and faster is measuring how well we…
Read More
Posted by John Ferguson Smart
14th September 2017
Preparing test data is hard, avoiding duplication and unnecessary setup time are common issues in all test automation. But it is especially important when we automate acceptance criteria using BDD tools such as JBehave and Cucumber. Duplicating setup logic in each scenario can lead to cluttered and hard-to-read scenarios. And having to inject the same…
Read More
Posted by John Ferguson Smart
6th September 2017
Great news! We have launched our brand new BDD with Cucumber and Serenity course! Two modules (about 45 minutes of video) are currently online, with 9 more modules planned for the coming months, with the first one free to try out. Those of you who have enrolled in the The Serenity BDD Combo Package will…
Read More
Posted by John Ferguson Smart
17th August 2017
If you are a large organisation trying to become “agile”, autonomous teams seem to be the Holy Grail. Spotify-style squads are where we want to be. We all want our teams to be lean, mean, agile machines, delivering business value wherever they go. But agile transformation is hard. It isn’t something you can turn on…
Read More
Posted by John Ferguson Smart
10th May 2017
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
Posted by John Ferguson Smart
20th April 2017
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
Posted by John Ferguson Smart
12th April 2017
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
Posted by John Ferguson Smart
29th March 2017
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
Posted by John Ferguson Smart
22nd February 2017
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
Posted by John Ferguson Smart
25th January 2017
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
Posted by John Ferguson Smart
7th January 2017
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…
Read More
Posted by John Ferguson Smart
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…
Read More
Posted by John Ferguson Smart
4th January 2017
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…
Read More
Posted by John Ferguson Smart
1st January 2017
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…
Read More
Posted by John Ferguson Smart
1st December 2016
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…
Read More
Posted by John Ferguson Smart
11th September 2016
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….
Read More
Posted by John Ferguson Smart
11th June 2016
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…
Read More
Posted by John Ferguson Smart
6th May 2016
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…
Read More
Posted by John Ferguson Smart
5th May 2016
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…
Read More
Posted by John Ferguson Smart
18th April 2016
By John Ferguson Smart and Jan Molak “On time, in scope and in budget”. This is the refrain of countless project managers on their LinkedIn profiles: it is the badge of the successful project manager, and they wear it with pride. It is also a misguided and dangerous idea that invariably encourages a short-sighted and…
Read More
Posted by John Ferguson Smart
5th March 2016
As the old saying goes, “Practice makes perfect”. Indeed, a well-established piece of lore, popularly known as “The 10,000 hour rule”, states that to be an expert in any domain, you need to have practiced it for at least 10,000 hours. This rule was coined by Malcolm Gladwell in his book “Outliers” in 2008. According…
Read More
Posted by John Ferguson Smart
29th February 2016
The Screenplay Pattern is a powerful and elegant approach to designing and implementing automated tests, providing a number of improvements over more traditional approaches such as the Page Objects model. Automated tests written using Serenity are faster to write, easier to read and easier to maintain then more conventional approaches. On one recent project, using…
Read More
Posted by John Ferguson Smart
2nd February 2016
An article by John Ferguson Smart with Antony Marcano and Andy Palmer Only the blissfully ignorant or the insanely confident would forgo automated testing in a modern development project. But automated tests have a cost, in terms both of development and maintenance. In this article, we take a look at the economics of automated tests,…
Read More
Posted by John Ferguson Smart
28th January 2016
An article by John Ferguson Smart, Antony Marcano and Andy Palmer Few will deny the importance of Automated Acceptance Testing in modern software development. A high quality set of automated acceptance tests helps you deliver valuable features sooner by reducing the wasted time spent in manual testing and fixing bugs. When combined with Behaviour Driven…
Read More