John Ferguson Smart

John's latest articles

How not to prepare test data in JBehave and Cucumber

Posted by John Ferguson Smart

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

Announcing the Serenity Dojo’s “BDD with Cucumber and Serenity” online course

Posted by John Ferguson Smart

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

Running Cucumber with Serenity feature files directly from IntelliJ

Posted by John Ferguson Smart

IntelliJ provides excellent integrated support for Cucumber feature files. You can even run features simply by right-clicking on the feature file. But this won’t work when you are using Cucumber with Serenity, as Serenity needs to instrument the feature file before execution. Fortunately, this is easy to fix. Here’s how: Click on the feature file you…

Read More

Sharing state between steps in Serenity BDD

Posted by John Ferguson Smart

Whether you are using Cucumber, JBehave or just JUnit, Serenity BDD encourages a layered, structured approach to automation. The reason for this is simply that it makes the tests easier to understand and maintain, and faster to write in the medium term. But people often wonder what is the best approach to share information between…

Read More

The Art of Building Autonomous Teams

Posted by John Ferguson Smart

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

Beyond Page Objects: liberate yourself from the chains of UI-think!

Posted by John Ferguson Smart

So you have Page Objects in your test automation suite? That’s great! But it’s not enough! Page Objects are a great start, but you need to go further if you want truly sustainable, high quality test automation. The Page Objects origin story Page Objects are a popular automated web testing pattern first implemented for Selenium by Simon…

Read More

Don’t let automation sabotage your BDD adoption

Posted by John Ferguson Smart

Test Automation can be a powerful aid for teams adopting Behaviour Driven Development. But do it too early, or in the wrong way, and your efforts can have the opposite effect. We all want to deliver great products. We all want to delight our customers. But sometimes, reality gets in the way, and delivering features…

Read More

A way for testers to learn top-notch test automation skills in Java, at their own pace

Posted by John Ferguson Smart

The Professional Java Development Skills for Testers course is a new online programme for both manual testers with basic Java knowledge, and more experienced Engineers in Test, who want to take their test automation skills to the next level. Test automation is tricky. Writing high quality automated tests that are easy to read, easy to extend and easy to…

Read More

The Three “A”s, building blocks for a great test suite

Posted by John Ferguson Smart

Writing high quality automated tests is not easy, especially for manual testers who are relatively new to automation. There is a learning curve. But the cost of not writing high quality test code, both in terms of maintenance and time wasted on unreliable or hard-to-update tests, is unsustainable for any but the smallest project. This…

Read More

A short guide on how to configure ChromeDriver in Serenity BDD

Posted by John Ferguson Smart

Serenity BDD is an open source library that makes it easier to write high quality, maintainable automated acceptance tests. Serenity BDD has strong WebDriver integration, and manages the WebDriver instances for you. You almost never need to create or close your own WebDriver instance. Chrome gives WebDriver developers a great deal of control, with many…

Read More

Page 1 of 41234