Serenity BDD

Overview

Serenity is an open source library that helps you write higher quality automated acceptance tests faster.
Serenity helps you :
  • Write tests that are more flexible and easier to maintain
  • Produce illustrated, narrative reports about your tests
  • Map your automated tests back to your requirements
  • See how much of your application is actually being tested
  • And keep tabs on project progress
What is Serenity

Define your requirements and acceptance criteria

When you use Serenity, you start with the requirements you need to implement. These are often expressed as user stories with acceptance criteria that help clarify the requirements. It is these Acceptance Criteria that we automate with Serenity.

Automate your acceptance criteria

Next, you describe your acceptance criteria in high-level business terms. Developers record these acceptance criteria using either a BDD tool such as Cucumber or JBehave, or simply in Java using JUnit, so that Serenity can run them.

Implement the tests

Developers now implement the acceptance criteria, so that they can run against the actual application. Under the hood, tests are broken down into nested steps for better readability and easier maintenance. If you are testing a web application, Serenity provides great built-in support for the popular open source Selenium 2/WebDriver library.

Report on test results

Serenity provides detailed reports on the test results and execution, including:

  • A narrative for each test
  • Screen shots for each step in the test
  • Test results including execution times and error messages if a test failed

Report on functional test coverage

But Serenity goes beyond just reporting on test execution. It also tells you:

  • How many of your requirements have been tested (and therefore have been completed)
  • What works, and what doesn't, and - How much remains to be done

Training And Support
Wakaleo Consulting CEO and Principal Consultant John Ferguson Smart is the founder and lead developer of Serenity. Wakaleo Consulting can provide both training and full enterprise support for your Serenity tests, including help with installation, configuration and usage guidelines, as well as feature requests and bug fixes. We also offer yearly support contracts backed with a service level agreement, and yearly mentoring programs to help bring the best out of your developers.
Want to learn more about serenity?
Learn More

Tools & Infrastructure support

JFrog hosts the Serenity binary artifacts on their Bintray. Bintray offers developers the fastest way to publish and consume OSS software releases. Whether you are distributing software packages or downloading ones.

EJ Technologies is kindly supporting open source projects with its full-featured Java Profiler JProfiler. JProfiler's intuitive UI helps you resolve performance bottlenecks, pin down memory leaks and understand threading issues.

3WKS specialises in validating new mobile/web products. We build and deploy quickly using cloud technology which enables us to remove waste, and scale as needed. Our entrepreneurs handle everything from creative and build through to customer and business process support. 3 Weeks - The fastest developers in the cloud.

BrowserStack provides Serenity BDD with a free license for integration and demonstrations of cloud-based web testing solutions.