Menu

How We Cut Maven & JUnit 5 Test Runs by 61% Across Apache Repos Without Missing Regressions
πŸ“°

How We Cut Maven & JUnit 5 Test Runs by 61% Across Apache Repos Without Missing Regressions

DEV Community: cicdΒ·BaoKhangΒ·2 days ago
#EhD6Lz6V
#devtocicd#devto#dev#testtimeout#testgetinputstream
Reading 0:00
15s threshold

How We Cut Maven & JUnit 5 Test Runs by 61% Across Apache Repos Without Missing Regressions

Most "predictive test selection" write-ups for Java come from vendors, and most of them give you a percentage with no way to check it. This one comes with the commit hashes. We replayed 800 consecutive commits from four open-source Java projects and counted what a dependency-based test selector would have run, what it would have skipped, and whether any skipped test would have caught a real bug.

The tool is blastradius , an Apache-2.0 test impact analysis plugin for Maven (and Gradle) with JUnit 5. The headline: 61.4% fewer test executions across the four replays, with 0 would-miss cases after the exclusions described below. The rest of this post is about what those two numbers do and do not mean.

The idea: record what tests actually load

Test impact analysis (TIA) answers one question on a pull request: which tests could be affected by this diff? Static guesses (package names, module graphs) are cheap but loose.…

Continue reading β€” create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.