Talk

Debug Once, Test Forever: Turning Execution Paths into Tests

In Russian

In this talk, I will discuss the new functionality of the explyt-test plugin for IntelliJ IDEA. This feature allows you to capture real executions of Java/Kotlin code and automatically generate complete tests from them.

You run your application—either locally or remotely—and interact with it as you normally would. In the background, the system records all key data: arguments, return values, exceptions, the call chain, and the state of objects. Based on this trace, a test is built that is clear, accurate, and reproducible. Simple objects are restored via constructors, complex dependencies are replaced with mocks, and serializable structures are converted to JSON.

Finally, an LLM (Large Language Model) is used to refine the test, making the code clean, readable, and consistent with the project's style. We will dive into how this technology works internally, including how objects are reconstructed, what heuristics are used for generation, and how to ensure the tests are not only useful but also elegant.

I will demonstrate everything with a live demo, from interacting with the web interface to generating a test that captures a backend service call.

Speakers

Talks