Introducing DPE University — Explore free, self-paced training courses on Gradle and Maven
Logo

Predictive Test Selection

Overview

Speed up your test suite through AI-powered test selection that leverages machine learning models to identify, prioritize, and run only tests that will provide meaningful feedback. Develocity Predictive Test Selection saves software testing time by running only tests that are likely to provide useful feedback during test runs. Predictive Test Selection accomplishes this by applying a machine learning model that uniquely incorporates fine-grained code snapshots, comprehensive test analytics, and flaky test data. It supports Gradle and Maven build tools.


How It Works


When a software testing run starts, Develocity submits a test input snapshot and test set to a machine learning model. Develocity automatically develops a test selection strategy by learning from historical code changes and test outcomes from your Build Scan® data to predict a subset of relevant tests, which are then executed by your build.


Code change and test results data are processed immediately after a Build Scan is uploaded to Develocity, and the test selection strategy is updated based on the new results.

Key Benefits

  • Faster test feedback cycles: By avoiding test runs that are not adding value, 35-70% of test time for most builds can be saved without reducing test quality.

  • Improved DevProd and Developer Experience: Minimizing test time makes developers more productive and happier since they spend less idle time waiting for test feedback.

  • Lower development costs: Developer time saved translates directly into developer cost savings and lower cloud computing costs for hosted deployments.

Key Features

  • Flaky test mitigation: Predictive Test Selection fully leverages the breadth of test data captured by Develocity, allowing it to filter flaky test outcomes from model training. This leads to highly accurate predictions.

  • Environment awareness: To train the model, Predictive Test Selection learns from changes to data inside and outside of the project repository file system, not just what is available from the version control system.

  • Proactive risk analysis: Predictive Test Selection compares actual test results to simulated selection results, before you enable it, so you can fully understand the risks and benefits.

  • Predictive Test Selection simulator: Before deployment, you can simulate predictions by comparing them against actual test results, allowing teams to decide which test sets should be optimized. These results can be inspected through the Predictive Test Selection simulation dashboard.