dbt tests are very powerful. The ease of use, simplicity, and usefulness in the dev process is unmatched. When you adopt any observability tool, you will still use dbt tests. This is why in Elementary, dbt tests are first class citizens.

There are several benefits to this approach:

  • Single interface for all observability - Prevent the distribution of monitoring between different tools. All configuration is in code, all the results are in one interface.
  • Avoid duplicate work and vendor lock in - The tests you implemented already are effective in Elementary, as well as additional configuration. The future tests you add will remain in your code if you decide to offboard.
  • Control of schedule and cost - You have control of configuration and scheduling, tests can be executed when data is actually loaded and validation is needed.
  • Prevent bad data from propagating - As tests are in pipeline, you can leverage dbt build and fail the pipeline on critical test failures.
  • Rich ecosystem - The community of dbt users developes and supports various testing use cases.

dbt Test Hub

To help you find the test that is right for your use case, we created the dbt Test Hub. It's a searchable catalog of all the tests supported in Elementary, with their descriptions and example use cases.

The tests are also segmented to use cases, so you can easily find the different options for addressing your detection use case.

Supported dbt tests and packages

Elementary collects and monitors the results of all dbt tests.

The following packages are supported in the tests configuration wizard:

  • dbt expectations - A dbt package inspired by the Great Expectations package for Python. The intent is to allow dbt users to deploy GE-like tests in their data warehouse directly from dbt.
  • dbt utils - A package by dbt labs that offers useful generic tests.
Note that you need to import these packages to your dbt project to use them.

Elementary dbt package tests

The Elementary dbt package also provides tests for detection of data quality issues. Elementary data tests are configured and executed like native tests in your dbt project.