Try our free Gradle and Maven training courses on DPE University

Develocity

Flaky Test Detection

Find and address flaky tests. Develocity™ Flaky Test Detection provides a wealth of data and insights to help you track down and mitigate inconsistently failing tests.

Flaky tests, be gone!

Flaky Test Detection captures data during testing to provide you with a variety of information on test performance. By analyzing test retries and comparing executions of tests across builds, it surfaces insights about test flakiness. With this data at your fingertips, you can find and mitigate erratically failing tests before they become a drain on your productivity.

Restore confidence in tests

When you trust your test suite, you can confidently modify the codebase without fearing you'll miss bugs during the testing phase.

circle with arrows around it and text saying test at the center

Make better use of resources

Developers re-run builds they know have flaky tests since the build will often pass on the second or third try. Eliminating flakiness means you're re-running fewer builds, saving developer time and compute resources.

a graph showing tests per day

Improve software quality

A flaky test can be caused by a bad test or it can be caused by bad code. Proactively addressing flaky tests allows you to focus on the real issues in the application—and as a result, ship a better, more stable product.

a blue circle with the word quality in the middle

Boost developer morale

When you don't know whether a test failed because it's flaky or because there's a real problem in the code—well, that's downright frustrating. Identifying and eliminating flaky tests means a smoother development process and happier developers.

a stack of dark cards with a blue heart in the middle

Identify

Develocity automatically monitors a build's test results and identifies “flaky” tests—tests that have both passed and failed with no change in the inputs.

Diagram illustrating various test selection profiles for predictive test strategy

Investigate

Find out why an erratic test is failing using data from Build Scan®. Get a detailed examination of each build and test run so you can determine in what context the test passed or failed, and identify why that test was flagged as flaky.

Diagram illustrating the process of running remaining tests in a predictive test selection strategy

Resolve

Use the Tests API to fetch a list of all flaky tests from a particular time period and assign them out for resolution.

Diagram illustrating Maven and Gradle Build Tool are supported

Monitor

Ensure flaky tests don't reappear with on-demand monitoring. You can keep an eye on the health of your tests over time, and so be alert to any potential regressions.

Diagram illustrating various test selection profiles for predictive test strategy

For this particular problem, data is key. Investing time in keeping track of the previous and historic runs helps you understand where tests are flaky. This allows you then to perhaps prioritize those tests on subsequent runs so you can get faster feedback cycles and fail earlier.”

Robert Keith, JP Morgan Chase

Read more

Learn more about Flaky Test Detection

Need help getting set up?