SQL & dbt test result tracker
Log the result of every SQL/dbt test you run against your warehouse models - not_null, unique, accepted_values, relationships, custom SQL, freshness and row-count checks - and see a leaderboard ranked by which models have the most failing tests right now.
Every model ranked by how many tests are currently failing against it, with a stacked pass/fail/warn/error bar per row - so the model that needs attention right now is always the first thing you see.
not_null, unique, accepted_values, relationships, custom_sql, freshness and row_count - each test case is tied to a model and, optionally, a column, with a severity of error or warn.
Every logged run - pass, fail, warn or error, with source (dbt, CI pipeline, manual or notebook), failed row count and an optional note - stays in the history, searchable and filterable by result.
The leaderboard and summary cards are built from each test case's most recent run, so a model that just got fixed drops off the top immediately instead of a fix being buried under old failures.
Paste or upload a CSV to bulk-create test cases or bulk-log run results, or skip the retyping entirely: paste a dbt schema.yml to create test cases from your existing tests, or paste `dbt test` console output to log results straight from a real run or CI log - matched to the right test case automatically. Any row or line that doesn't match is reported, never silently dropped. Export the full run history to CSV for a report or another tool, or copy a plain-text summary to your clipboard.
Paste the actual query text behind a test case into a small offline code editor - line numbers, syntax highlighting, tab-to-indent and a copy button. It's for your own reference only: stored as plain text, never parsed as anything but display formatting, never executed.
Each test case shows a five-run trend and a "Flaky" badge when its result keeps flipping between pass and fail instead of settling - plus how many days it's been continuously failing. A summary card counts flaky tests portfolio-wide. It's all computed from the run history you already log, not a new thing to maintain.
This is a log of test results you've already produced elsewhere - it does not connect to any database or execute SQL itself, so there's nothing to configure and no credentials to hand over. Even the snippet editor above is just a place to paste text.
Load a realistic rotating sample dataset - models, test cases and a run history - straight away, so you can see how the leaderboard and history behave before logging your own tests.
Light/dark theme remembers your choice, matching the rest of the Metre2 portfolio.
Elementary is a well-known dbt-native data observability tool - an open-source package plus a paid Cloud tier with automated monitoring, column-level lineage and alerting. Here's how a focused, one-off SQL/dbt test result tracker compares for a team that just wants a leaderboard and a history of test outcomes, without connecting anything to the warehouse.
| Feature | SQL Query Validation and Testing Tracker | Elementary |
|---|---|---|
| Pricing model | One-off after trial - no per-model or per-seat fee | Open-source CLI/dbt package is free; Cloud tier (monitoring, lineage, AI agents) is paid and priced above dbt Cloud, per user reports |
| Connects to your warehouse | ✕ | ✓ |
| Works fully offline | ✓ | ✕ |
| Model leaderboard ranked by failing tests | ✓ | ~ |
| Automated anomaly detection / ML monitoring | ✕ | ✓ |
| Column-level lineage and catalog | ✕ | ✓ |
| Manual/CI test-result logging with a note field | ✓ | ~ |
| One account across a whole app portfolio | ✓ | ✕ |
Comparison based on Elementary's publicly available documentation and third-party review sites as of August 2026 (elementary-data.com, github.com/elementary-data/elementary, g2.com) - Elementary Cloud does not publish list pricing, and both products' features and pricing change over time, so check elementary-data.com for current details. Elementary is a trademark of its respective owner; this comparison is for informational purposes and isn't sponsored by or affiliated with Elementary.
The Overview leaderboard, the Test Cases list, and the searchable Run History.
Overview: summary cards and the worst-first model leaderboard
Test Cases: model, column, test type, severity and last result
Run History: a searchable, filterable log of every run logged
No. It is deliberately a record-keeping tool - it does not connect to any database and does not execute SQL itself. You log the result of a test you already ran elsewhere (dbt, a CI pipeline, a notebook, a warehouse job), and the tracker keeps the history and builds the leaderboard from what you log.
The seven test types most dbt and SQL testing setups already use: not_null, unique, accepted_values, relationships, custom_sql, freshness and row_count. Each test case is tied to a model and, optionally, a column.
Worst-first: the model with the most currently-failing tests appears at the top, with ties broken by error count, then warn count, then alphabetically. Each row shows a stacked pass/fail/warn/error bar so you can see the shape of a model's test health at a glance, not just a single number.
No. The leaderboard and summary cards are built from each test case's most recent logged run - older runs still show up in the Run History tab for a full audit trail, but they don't keep counting against a model once a re-run has passed.
Yes - export the full run history to CSV for a spreadsheet, a data quality report, or to feed into another tool. You can also copy a plain-text summary of current model health to your clipboard.
Yes. Paste or upload a CSV to bulk-create test cases or bulk-log run results, or skip retyping entirely: paste a dbt schema.yml to create test cases straight from your existing dbt tests, or paste dbt test console output (or a CI log containing it) to log results, matched to the right test case automatically. Any row or line that doesn't match is reported, never silently dropped or guessed at.
Yes. Each test case shows a five-run trend and a Flaky badge when its result keeps flipping between pass and fail instead of settling, plus how many days it has been continuously failing. A summary card counts flaky tests portfolio-wide. This is computed purely from the run history you already log - there's nothing extra to maintain.
Yes - there's a single Metre2 account behind SQL Query Validation and Testing Tracker, Vector, Forma and the rest of Keystone. Sign in once, use it everywhere.