Overview
“40% to 70% of the time spent by many test automation teams is spent on maintaining their test suites …either refactoring tests because the application changed but also just sifting through the results of the tests when they break…” — John Furguson Smart, creator of Serenity.
Serenity is an open-source reporting library that enables testers to write well-structured, maintainable acceptance criteria. Serenity produces rich and meaningful test reports (“living documentation”) that not only report on the test results, but also document what they did, in a step-by-step narrative format that includes test data and screenshots.
In this instrucor-led, live training participants will learn how to write high quality tests by employing “screenplays” and the idea of “actors, tasks, and goals” to express tests in business terms rather than as interactions between system components. We look at both functional and UI testing scenarios and demonstrate how Serenity can be used to manage their testing. All lecture, notes, quizes and discussions are accompanied by live hands-on practice and implementation.
By the end of this training, participants will understand the Serenity framework and be able to utilize it with comfort. As important, participants will learn to think of and approach test automation from a different light.
Format of the Course
- This course walks participants through real-life cases for Behavior Driven Development (BDD) and demonstrates hands-on how to implement Serenity in various test scenarios.
Requirements
- Experience with test automation.
- Java programming experience.
Audience
- Automation testers
Course Outline
Introduction
- Automated Testing
- ATDD (Acceptance Testing Driven Development)
- BDD (Behavior Driven Development)
Why Serenity?
- Test reports as “living documentation”
- Actors, tasks, and goals
- Screenplay pattern vs page objects
Serenity Architecture
- Pages, Steps, Requirements, Tests, Reports
Setting up and Configuring Your Test Environment
- JUnit, Serenity BDD, and a little Selenium WebDriver
Defining Requirements and Acceptance Criteria
Automating Your Acceptance Criteria
Setting up Your Screenplays
- Screenplay questions
- Serenity abilities
Testing a Web Application with Screenplay
Writing Your First Serenity Test
Screenplay Web Interactions
Screenplay Web Questions
Handling Timeouts and Waits
Running Your Serenity Test
Generating Serenity Test Reports
A Look at the Serenity Project Structure
Integrating Serenity with Cucumber and JBehave
Summary and Conclusion