Rethinking Unit Testing: Automating the Generation of Java
summary
Generates unit tests from implementation using symbolic execution, producing human-readable JUnit cases that act as immediate reproducers and safety nets. Integrates into editor or CLI, outputs JUnit4 + Mockito (working toward JUnit5), auto-mocks interfaces, and finds real faults like ArrayIndexOutOfBounds exception, IllegalArgumentException and NPEs. Claims persistent regression protection, fewer manually written tests, and ability to surface security corner cases; proven on enterprise projects and available free for open source, with Java 8 most fully supported today.
AI-written summary · about
chapters (23)
- 0:00Introduction and speaker background
- 1:05Why software testing is so hard
- 3:13The value of automated testing
- 6:03Shift left testing benefits
- 8:49Automating test generation with symbolic execution
- 11:21Demo: Generating unit tests for a copy function
- 12:06Testing without writing tests
- 16:14Testing with existing implementations
- 20:51Test-driven development with generated tests
- 25:08Tool demo and call to action
- 25:51Q&A: Complex dependencies and mocking
- 27:37Q&A: Open source projects and statistics
- 28:42Q&A: Prioritized and existing tests
- 29:46Q&A: Framework support like Spring
- 31:35Q&A: Relation to mutation testing
- 32:36Q&A: Logic testing in TDD
- 33:19Q&A: JUnit 5 and parameterized tests
- 34:26Q&A: Default frameworks and plugins
- 34:46Q&A: Project-level test generation
- 35:48Q&A: Partial answers in testing
- 37:02Q&A: Proving absence of bugs
- 37:43Q&A: Mock MVC for Spring controllers
- 38:25Q&A: Future roadmap and vision
related talks
37mGenerating JUnit test cases Automatically with Evosuite
46mModern Testing Tools for Java Developers
01h 02mReduce Developer Toil: Autonomous AI for Enterprise Testing @ Scale
55mNext-Gen Testing Tools for Java
57mModern Testing Tools for Java Developers
14mAutomated Tests in Java: an Underrated Treasure!
55mUnit Testing Like a Pro - Towards a Testable Design
01h 46mHow Java developers should test their applications (RU)
