We invite you to the free Webinar: Writing Tests Like Shakespeare — Organize Complex Test Code with the Screenplay Pattern.
The webinar will take place on August 8th, 2022. Start at 19:30 (GMT+3).
Automated tests—especially UI tests—often lack readability. They have either a very fine-grained description of the performed actions, or a too sophisticated abstraction which leaves the reader guessing or digging deep into the code base. This becomes a serious problem when we try to understand the context of a test failure. A NoSuchElementException only tells us which element was missing, not why we expected it to be there at the specific point in our test.
Another common issue in complex tests is code duplication. Either we just copy and paste long sequences of dull commands, or we forget to use the functions and utils we hide. This makes maintenance a very frustrating experience. Finally, such code is often not fit for being shared among teams working on the same product, or for being reused in different tests.
The Screenplay pattern offers a user-centric way of writing tests which abstracts fine-grained interactions into simple non-technical tasks and questions. These make it easy to introduce just the right level of abstraction for the use case at hand. The resulting test code is almost plain natural language with only a few extra “cody” characters, but I assertThat(averageReader.does(understandThis())).isTrue(). As every failure is happening in the context of performing a task or answering a question, understanding failures also automatically becomes a much easier endeavor. Sharing Screenplay code between tests or even among teams is pretty easy as the tasks and questions are implemented as simple immutable objects. This also makes it easy to implement Screenplays in any preferred language and framework.
So if this sounds like a good idea to you, come to the Webinar and learn how to write tests like Shakespeare.
- Why we need abstraction in tests
- Why Page Objects are sometimes not enough
- What is Screenplay and how does it solve problems
- Where to get more info and resources
- Q & A
Theoretical knowledge that you will gain:
— Learn what the Screenplay pattern is and how it can help you to write better tests.
— Get to know the key concepts of Screenplay to implement your own or use an existing framework supporting it.
— Discover how object-oriented design can help to make test code less cumbersome.
— Find out about a way to keep your tests concise and readable, while using all the Selenium tweaks and tricks to keep them fast and reliable.
— See how Screenplays allow you to write tests that use different media: like web, email or APIs, a surprisingly easy experience.
Practical skills that you will gain after the webinar:
— Know sources to apply the screenplay pattern in your project.
Who will be interested:
Developers, Testers and everything in between
The minimum level of knowledge that a listener should have:
— Java or a similar object oriented language
Michael Kutz (Germany)
- I’ve been working in professional software development for more than 10 years now. I love to write working software, and I hate fixing bugs. Hence, I developed a strong focus on test automation, continuous delivery/deployment and agile principles.
- Later I came to the insight that the most sustainable way of fixing code is to optimize those who code. For that reason I dug deeper into psychological safety, cognitive biases and ways to spread knowledge within software producing organizations.
- Since 2014 I work at REWE digital as a software engineer and internal coach for quality assurance and testing. As such my main objective is to support our development teams in QA and test automation to empower them to write awesome bug-free software fast.