Testing/QA

You Are Running the Wrong Tests First

Jake Hillion

Jake Hillion

Working on scheduling with sched_ext. Experience deploying novel userspace schedulers to production and building the features needed to outperform existing kernel schedulers, debugging application performance along the way. Previous experience working on debuggers and memory profiling, with a focus on writing high performance memory efficient C++.

Johannes Bechberger

Johannes Bechberger

Johannes Bechberger is a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. This includes improvements to async-profiler and its ecosystem, a website to view the different JFR event types, and improvements to the FirefoxProfiler, making it usable in the Java world. His work today comprises many open-source contributions and his blog, where he regularly writes on in-depth profiling and debugging topics.

He also works on hello-ebpf, the first eBPF library for Java. His most recent contribution is the new CPU Time Profiler in JDK 25.

1 / 2

Having lots of tests is great, but it also takes a long time to run them on every change. While this gives us confidence, it also slows down feedback loops, sometimes dramatically. But what if we could fail faster?

Instead of blindly executing the entire test suite, we identify which tests actually exercise the modified classes, using bytecode instrumentation. These tests are executed first, giving you relevant feedback as quickly as possible.

We’ll introduce an experimental open-source tool that integrates with Maven and JUnit that brings this idea to life. Along the way, we’ll also look at how this works under the hood, using instrumentation techniques to track which classes are actually used during tests.

If you care about developer productivity, fast feedback, and smarter CI pipelines, this talk is for you.