# Buildkite Test Engine Documentation > Buildkite documentation for Buildkite Test Engine, covering test suites, test collection, flaky test management, workflows, bktec client, and API integration. ## Test Engine - [Overview](https://buildkite.com/docs/test-engine.md): Overview of Test Engine for tracking test performance, reliability, and flaky test management across CI/CD. ### Introduction - [Getting started](https://buildkite.com/docs/test-engine/getting-started.md): Step-by-step tutorial to create a test suite, clone a Ruby example project, and collect test results. - [Speed up builds with bktec](https://buildkite.com/docs/test-engine/speed-up-builds-with-bktec.md): How bktec (Test Engine Client) speeds builds using intelligent test splitting and quarantines flaky tests. - [Reduce flaky tests](https://buildkite.com/docs/test-engine/reduce-flaky-tests.md): Strategy for detecting, quarantining, and remediating flaky tests using workflows, labels, and notifications. - [Glossary](https://buildkite.com/docs/test-engine/glossary.md): Definitions of Test Engine terms: action, alarm, execution, flaky test, monitor, quarantine, run, tag, and more. ### Test suites - [Overview](https://buildkite.com/docs/test-engine/test-suites.md): How test suites collect and organize tests, including parallelized builds and the Tests tab on build pages. - [Test state and quarantine](https://buildkite.com/docs/test-engine/test-suites/test-state-and-quarantine.md): Managing test states (enabled, muted, skipped) and quarantining flaky tests automatically or manually. - [Tags](https://buildkite.com/docs/test-engine/test-suites/tags.md): Adding key:value tag dimensions to test executions for filtering, aggregation, and comparison. - [Test ownership](https://buildkite.com/docs/test-engine/test-suites/test-ownership.md): Assigning team ownership to tests using a TESTOWNERS file with Buildkite team slugs. - [Labels](https://buildkite.com/docs/test-engine/test-suites/labels.md): Creating and applying labels to tests manually, using workflows, execution tags, or the REST API. - [Saved views](https://buildkite.com/docs/test-engine/test-suites/saved-views.md): Creating and managing saved filter/display views for test suite data in Test Engine. - [Public test suites](https://buildkite.com/docs/test-engine/test-suites/public.md): Making a test suite publicly accessible with read-only access to run results and analytics. ### Test collection - [Overview](https://buildkite.com/docs/test-engine/test-collection.md): Overview of test collectors for sending test data from various languages and test runners to Test Engine. - [Android](https://buildkite.com/docs/test-engine/test-collection/android-collectors.md): Setup instructions for the Android test collector package with unit and instrumented tests. - [Elixir](https://buildkite.com/docs/test-engine/test-collection/elixir-collectors.md): Setup instructions for the Elixir ExUnit test collector. - [Go](https://buildkite.com/docs/test-engine/test-collection/golang-collectors.md): Configuring Go tests with gotestsum to generate JUnit XML and upload to Test Engine. - [JavaScript](https://buildkite.com/docs/test-engine/test-collection/javascript-collectors.md): Setup for JavaScript test collectors supporting Jest, Cypress, Playwright, Mocha, Jasmine, and Vitest. - [.NET](https://buildkite.com/docs/test-engine/test-collection/dotnet-collectors.md): Setup instructions for the .NET xUnit test collector. - [Python](https://buildkite.com/docs/test-engine/test-collection/python-collectors.md): Setup instructions for the Python pytest test collector. - [Ruby](https://buildkite.com/docs/test-engine/test-collection/ruby-collectors.md): Setup instructions for Ruby test collectors supporting RSpec and minitest. - [Rust](https://buildkite.com/docs/test-engine/test-collection/rust-collectors.md): Setup instructions for the Rust cargo test collector. - [Swift](https://buildkite.com/docs/test-engine/test-collection/swift-collectors.md): Setup instructions for the Swift XCTest test collector, including Xcode configuration. #### Other test collectors - [Overview](https://buildkite.com/docs/test-engine/test-collection/other-collectors.md): Options for unsupported test runners: JUnit XML import, JSON import, or custom collectors. - [Importing JUnit XML](https://buildkite.com/docs/test-engine/test-collection/importing-junit-xml.md): Importing JUnit XML test results to Test Engine using the test-collector plugin or curl. - [Importing JSON](https://buildkite.com/docs/test-engine/test-collection/importing-json.md): JSON format specification and import methods for uploading test results to Test Engine. - [Writing your own collectors](https://buildkite.com/docs/test-engine/test-collection/your-own-collectors.md): Guidance on building custom test collectors, with reference to the Ruby collector source code. - [CI environment variables](https://buildkite.com/docs/test-engine/test-collection/ci-environments.md): CI environment variables auto-detected by test collectors for Buildkite, CircleCI, and GitHub Actions. ### Tutorials - [Getting started with a Ruby project](https://buildkite.com/docs/test-engine/tutorials/setting-up-a-ruby-project.md) ### Workflows - [Overview](https://buildkite.com/docs/test-engine/workflows.md): How workflows map test observations (flakiness, new tests) to automatic actions using monitors and events. - [Monitors](https://buildkite.com/docs/test-engine/workflows/monitors.md): Monitor types for detecting test issues: transition count, passed on retry, probabilistic flakiness, new test. - [Actions](https://buildkite.com/docs/test-engine/workflows/actions.md): Workflow actions triggered on alarm/recover: add/remove labels, change state, send webhooks, Slack, Linear. ### Test Engine Client (bktec) - [Installing and using the client](https://buildkite.com/docs/test-engine/bktec/installing-and-using-the-client.md): Installation and configuration of bktec on Linux, macOS, and Docker, plus test splitting and retry settings. ### Notifications - [Email](https://buildkite.com/docs/test-engine/notifications/email.md): Scheduling a weekly email summary of the flakiest tests owned by your teams. ### Integrations - [Linear](https://buildkite.com/docs/test-engine/integrations/linear.md): Connecting Linear to Test Engine for automatic issue creation from workflow actions. - [Usage and billing](https://buildkite.com/docs/test-engine/usage-and-billing.md): How managed tests are counted and billed, including 90th percentile billing and legacy execution-based plans. - [Permissions](https://buildkite.com/docs/test-engine/permissions.md): Team-based permissions for test suites at organization and suite levels, including security settings. ## Platform ### Team management - [Overview](https://buildkite.com/docs/platform/team-management.md): Overview of team management features: permissions, 2FA enforcement, system banners, and API token management. - [User and team permissions](https://buildkite.com/docs/platform/team-management/permissions.md): Configuring user and team permissions at organization, team, pipeline, suite, and registry levels. ### Integrations - [Slack Workspace](https://buildkite.com/docs/platform/integrations/slack-workspace.md): Connecting a Slack workspace for pipeline build and Test Engine workflow notifications. ## APIs - [Overview](https://buildkite.com/docs/apis.md): Overview of Buildkite APIs: REST, GraphQL, webhooks, MCP server, agent API, and authentication. - [Managing API access tokens](https://buildkite.com/docs/apis/managing-api-tokens.md): Creating, editing, auditing, and securing API access tokens with scopes and IP restrictions. ### REST - [Overview](https://buildkite.com/docs/apis/rest-api.md): REST API overview: schema, authentication, pagination, endpoints, and response conventions. #### Teams - [Overview](https://buildkite.com/docs/apis/rest-api/teams.md): REST endpoints to list, get, create, update, and delete teams. - [Suites](https://buildkite.com/docs/apis/rest-api/teams/suites.md): REST endpoints to list, create, update, and delete team-suite associations. #### Test Engine - [Flaky tests](https://buildkite.com/docs/apis/rest-api/test-engine/flaky-tests.md): Deprecated REST endpoint for listing flaky tests; use the tests endpoint with label=flaky instead. - [Quarantine](https://buildkite.com/docs/apis/rest-api/test-engine/quarantine.md): REST endpoints to skip, mute, and enable tests for quarantine management. - [Runs](https://buildkite.com/docs/apis/rest-api/test-engine/runs.md): REST endpoints to list and get test suite runs. - [Suites](https://buildkite.com/docs/apis/rest-api/test-engine/suites.md): REST endpoints to list, get, create, update, and delete test suites. - [Tests](https://buildkite.com/docs/apis/rest-api/test-engine/tests.md): REST endpoints to list and get individual tests with filtering by label, state, and scope. ### GraphQL - [Overview](https://buildkite.com/docs/apis/graphql-api.md): GraphQL API overview: endpoint, authentication, explorer console, introspection, and IDs. ### Webhooks #### Test Engine - [Overview](https://buildkite.com/docs/apis/webhooks/test-engine.md): Test Engine webhooks triggered by workflow alarm/recover actions with JSON payloads. ## See also - [Buildkite APIs Documentation](https://buildkite.com/docs/llms-buildkite-apis.txt): Buildkite documentation for APIs, covering the REST API, GraphQL API, webhooks, MCP server, agent API, model providers, API token management, portals, and rate limits. - [Buildkite Integrations Documentation](https://buildkite.com/docs/llms-integrations.txt): Buildkite documentation for integrations with third-party tools and services, including plugins, source control providers, notifications, observability, deployments, and platform integrations.