~/talk

Extending a Java Test Framework with SPI

Talkat TestCon Europe 2025 · 2025-10-21..10-24· [testing, developer-experience]
slides:none on file

Concrete claim: Java's decades‑old Service Provider Interface (SPI) is the core of a plugin architecture that turns a monolithic end‑to‑end test framework into modular components. The team implements tiny plugin interfaces, maps implementations via META-INF/services and ServiceLoader, and manages plugin lifecycle and properties. Results: many 10–20‑line plugins for grids, Kafka logging, Slack and reports, internal vs external plugins, fast POCs and easier maintenance. The framework runs in production at Tvago for nine years and the approach demonstrably reduces coupling and speeds integration.

AI-written summary · about

  1. 0:00Introduction
  2. 1:34Java and framework challenges
  3. 3:20Test framework evolution
  4. 7:38SPI as solution
  5. 9:03SPI fundamentals
  6. 13:29Interface segregation
  7. 14:11Plug-in examples
  8. 15:37Plug-in discovery
  9. 17:49ServiceLoader loading
  10. 20:19Runtime plug-in invocation
  11. 23:49Plug-in lifecycle
  12. 26:13Internal vs external plug-ins
  13. 27:17Property management
  14. 28:43Tvago use cases
  15. 30:31SPI benefits and trade-offs
  16. 32:20Demo and GitHub walkthrough
  17. 32:43Happy 30th birthday to Java
  18. 33:05Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.