docs/extend/testing/index.md
Kibana plugins are tested at three levels. Each level has a different scope, speed, and tooling:
| Level | Scope | Tools | When to use |
|---|---|---|---|
| Unit | A single function, class, or component in isolation | Jest + mocks | Fast, exhaustive coverage of logic and edge cases |
| Integration | Interactions between systems (HTTP APIs, Elasticsearch, plugin contracts) | Jest + TestUtils or FTR | Verifying real behavior without full browser |
| End-to-end (E2E) | User-facing behavior through the browser or HTTP | Scout (Playwright) | Validating complete user flows and UI interactions |
Follow the testing pyramid: many unit tests, fewer integration tests, and a small number of E2E tests.
Use Jest for unit and integration tests:
Scout is Kibana's modern E2E test framework built on Playwright. Use it for UI and API tests.
Core concepts:
How-to guides:
The Functional Test Runner (FTR) is Kibana's legacy E2E framework. Existing FTR tests continue to run, and teams can migrate incrementally to Scout.
If you're testing a plugin developed outside the Kibana repository, see Testing Kibana plugins in the Tutorials section.