- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Intelligent Test Runner is Datadog’s test impact analysis solution. It automatically selects and runs only the relevant tests for a given commit based on the code being changed. Significantly reduce time spent testing and overall CI costs, while maintaining test coverage.
Intelligent Test Runner works by analyzing your test suite to identify the code each test covers. It then cross-references that coverage with the files impacted by a new code change. Datadog uses this information to run a selection of relevant, impacted tests, omitting the ones unaffected by the code change and reducing the overall testing duration. Find out more details about How It Works.
By minimizing the number of tests run per commit, Intelligent Test Runner reduces the frequency of flaky tests disrupting your pipelines. This can be particularly frustrating when the test flaking is unrelated to the code change being tested. After enabling Intelligent Test Runner for your test services, you can limit each commit to its relevant tests to ensure that flaky tests unrelated to your code change don’t end up arbitrarily breaking your build.
With the default configuration, there are known situations that can cause Intelligent Test Runner to skip tests that should have been run. Specifically, Intelligent Test Runner is not able to automatically detect changes in:
In these scenarios, Intelligent Test Runner might skip impacted tests with the out-of-the-box configuration.
There are several configuration mechanisms that you can use in these scenarios to ensure that no tests are skipped:
ITR:NoSkip
(case insensitive) anywhere in your Git commit message.Before setting up Intelligent Test Runner, you must configure Test Visibility for your particular language. If you are reporting data through the Agent, use v6.40 or 7.40 and later.
Choose a language to set up Intelligent Test Runner in Datadog:
Once you have set up your Datadog library for Intelligent Test Runner, configure it from the Test Service Settings page. Enabling Intelligent Test Runner requires the Intelligent Test Runner Activation Write
permission.
For Intelligent Test Runner to work, Git needs to be available in the host running tests.
Due to the limitations described above, the default branch of your repository is automatically excluded from having Intelligent Test Runner enabled. Datadog recommends this configuration to ensure that all of your tests run prior to reaching production.
If there are other branches you want to exclude, add them on the Test Service Settings page. The query bar supports using the wildcard character *
to exclude any branches that match, such as release_*
.
Excluded branches collect per-test code coverage, which has a performance impact on the total testing time. However, this performance impact is mitigated by only collecting code coverage when Datadog detects that running with code coverage generates enough new coverage information that it offsets the cost of collecting the coverage. You can check whether a test session has code coverage enabled or not by looking at the @test.code_coverage.enabled
field.
Tracked files are non-code files that can potentially impact your tests. Changes in tracked files could make your tests fail or change the code coverage of your tests. Examples of files that are good candidates to add as tracked files are:
pom.xml
in Maven, requirements.txt
in Python, or package.json
in Javascript)When you specify a set of tracked files, Intelligent Test Runner runs all tests if any of these files change.
All file paths are considered to be relative to the root of the repository. You may use the *
and **
wildcard characters to match multiple files or directories. For instance, **/*.mdx
matches any .mdx
file in the repository.
You can explore the time savings you get from Intelligent Test Runner by looking at the test commit page and test sessions panel.
When Intelligent Test Runner is active and skipping tests, purple text displays the amount of time saved on each test session or on each commit. The duration bar also changes color to purple so you can identify which test sessions are using Intelligent Test Runner on the Test Runs page.
Track your organization’s savings and adoption of Intelligent Test Runner through the out-of-the-box Intelligent Test Runner dashboard. The dashboard includes widgets to track your overall savings as well as a per-repository, per-committer, and per-service view of the data. View the dashboard to understand which parts of your organization are using and getting the most out of Intelligent Test Runner.
The dashboard also tracks adoption of Intelligent Test Runner throughout your organization.