12.11.2025
17:35 - 18:20 Uhr

Vortrag
Automation & Tools

Benjamin Bischoff
trivago N.V.

Extending a Java Test Framework with SPI

This talk explores how we improved our UI end-to-end test framework using Java's often overlooked Service Provider Interface (SPI). Despite being a 20-year-old feature, SPI proved to be the key to creating a flexible, extensible plugin architecture that solved several critical challenges in our testing ecosystem.

We will examine the limitations of our initial linear test framework and why a more modular approach was necessary. You'll get an introduction to Java's Service Provider Interface and learn how we implemented it to create a plugin-based architecture, including designing plugin interfaces, implementing plugin discovery and registration, and managing plugin lifecycle within the core framework.

You'll learn about the benefits we've reaped from this approach, including easier maintenance, improved extensibility, and cleaner overall architecture. I will share practical examples of how this architecture allows for easy integration of features without cluttering your core code.

Whether you're working on test frameworks or any extensible Java application, this talk will provide valuable insights into leveraging SPI for creating flexible, modular architectures.

Key takeaways:

  • Unlock flexibility with Java's SPI
  • Transform linear into modular code
  • Get a sense of solutions that have been around for decades

Benjamin Bischoff, trivago N.V.

After 15 years of being a software developer and trainer, I transitioned to test automation in 2016. Currently, I work as a Test Automation Engineer at trivago N.V. in Düsseldorf, Germany. There, I focus on backend and frontend test technologies and pipelines. I authored the book “Writing API Tests With Karate” and maintain some test related open source projects. I am a regular conference speaker and also write blog posts about testing, automation and software craftsmanship on my website, softwaretester.blog.