VOOZH about

URL: https://docs.datadoghq.com/tests/test_parallelization/

⇱ Test Parallelization


This product is not supported for your selected Datadog site. ().
Join the Preview!

Test Parallelization is in Preview. Complete the form to request access.

Request Access

Overview

Test Parallelization helps you reduce CI testing time by distributing test files across CI nodes or local workers. It uses Test Optimization data to detect which test files should run, estimate their duration, and create an execution plan.

Test Parallelization is designed to work with Test Impact Analysis. Test Impact Analysis skips tests that are not affected by a code change. Test Parallelization splits the remaining test files evenly across the selected CI nodes.

Use Test Parallelization when your test suite takes a long time to run. When used with Test Impact Analysis, Test Parallelization runs only files with non-skipped tests. It also helps reduce CI costs by choosing only as many CI nodes as needed, which can lower total CPU minutes.

Setup

Before setting up Test Parallelization, set up Test Optimization. Optionally, also set up Test Impact Analysis if you plan to use it with Test Parallelization. Then follow Set Up Test Parallelization to install ddtest and configure your CI provider.

Compatibility

Test Parallelization is supported for the following language and frameworks:

LanguageFrameworks
RubyRSpec, Minitest

Ruby projects require the datadog-ci gem version 1.31.0 or later.

How it works

Test Parallelization uses the ddtest CLI to plan and run tests:

  1. Run ddtest plan once to create a reusable .testoptimization/ plan.
  2. Share the .testoptimization/ directory with each CI job that runs tests.
  3. Run ddtest run --ci-node <CI_NODE_INDEX> in each CI job to execute only the files assigned to that CI node.

For single-node and multi-node examples, see Set Up Test Parallelization.

Next steps

Install ddtest, configure your CI provider, and customize how Test Parallelization splits test files.