Fitting tests into the development workflow
dbt testing verifies assumptions about your data and models throughout the development workflow, not just at the end. Tests should be run incrementally as you build models, and strategically before merging code or deploying to production to catch issues early.
Must-know
- Run
dbt buildinstead of separatedbt run+dbt testcommands to test each model immediately after it's created, stopping downstream dependents from running on failure by default. - Use
dbt test --select model_nameordbt build --select model_name+to test a specific model and its downstream dependencies during development. - Generic tests (unique,
not_null,accepted_values, relationships) are defined in YAML under a model'scolumns:ortests:key, while singular tests are standalone SQL files in thetests/directory. - Tests can be configured with
severity: warnversus the defaulterrorso that non-critical data quality issues surface without blocking the pipeline. - In CI/CD workflows, dbt tests typically run against a temporary schema built from modified code (often via Slim CI with
state:modified+) so only changed and downstream models are tested, saving compute. - The
--store-failuresconfig (orstore_failures: true) persists failing test records to a database table, making it easier to debug why a test failed without rerunning it.
You add the following generic test to a model's schema.yml:
models:
- name: orders
columns:
- name: customer_id
tests:
- not_null:
config:
severity: warn
When you run dbt build and this test fails, what happens?
What you have tried across dbt Analytics Engineering's objectives, not a readiness score.
Developing and optimizing dbt models
- Tracing and confirming a model's upstream raw sources
- How dbt's core materialization types differ
- Keeping models modular and avoiding repeated logic
- What each core dbt command actually does
- Shaping a model's dependency graph so it stays readable
- Setting project-wide configuration in dbt_project.yml
- Pulling in and using a dbt package
- Writing a model in Python instead of SQL
- Granting model access through the grants config
- Configuring a snapshot to track slowly changing data
- Picking the right incremental strategy for a dataset
- Dry-running a model to check its logic and schema before a real build
- Sampling a model run before a full build
- What microbatch and other advanced materializations are for
Managing dbt models governance
Debugging data modeling errors
Troubleshooting and optimizing dbt pipelines
Implementing dbt tests
Implementing and maintaining external dependencies
Coverage checked against the published exam guide on Aug 5, 2026.
These are independent practice questions, written against this certification's published exam guide. They are not the certification vendor's own questions, and not the real exam.