From c1f0ae602a20ba1515d2f8d7d706a61dc0094098 Mon Sep 17 00:00:00 2001
From: faithebear <149540831+faithebear@users.noreply.github.com>
Date: Wed, 27 Nov 2024 09:41:04 -0700
Subject: [PATCH 01/42] Create 2024-11-27-test-smarter-part-2--initial commit
---
website/blog/2024-11-27-test-smarter-part-2 | 123 ++++++++++++++++++++
1 file changed, 123 insertions(+)
create mode 100644 website/blog/2024-11-27-test-smarter-part-2
diff --git a/website/blog/2024-11-27-test-smarter-part-2 b/website/blog/2024-11-27-test-smarter-part-2
new file mode 100644
index 00000000000..3193d06babe
--- /dev/null
+++ b/website/blog/2024-11-27-test-smarter-part-2
@@ -0,0 +1,123 @@
+---
+title: "Test smarter: Where should tests go in your pipeline?"
+description: "Testing your data should drive action, not accumulate alerts. We take our testing framework developed in our last post and make recommendations for where tests ought to go at each transformation stage."
+slug: test-smarter-where-tests-should-go
+
+authors: [faith_mckenna, jerrie_kumalah_kenney]
+
+tags: [analytics craft]
+hide_table_of_contents: false
+
+date: 2024-12-09
+is_featured: true
+---
+
+đ Greetings, dbtâers! Itâs Faith & Jerrie, back again to offer tactical advice on *where* to put tests in your pipeline.
+
+In [our first post](https://docs.getdbt.com/blog/test-smarter-not-harder) on refining testing best practices, we developed a prioritized list of data quality concerns. We also documented first steps for debugging each concern. This post will guide you on where specific tests should go in your data pipeline.
+
+**Note that we are constructing this guidance based on how we [structure data at dbt Labs.](https://docs.getdbt.com/best-practices/how-we-structure/1-guide-overview#guide-structure-overview)** You may use a different modeling approachâthatâs okay! Translate our guidance to your dataâs shape, and let us know in the comments section what modifications you made.
+
+First, hereâs our opinions on where specific tests should go:
+
+- Source tests should be fixable data quality concerns. (See the callout box below for what we mean by âfixableâ)
+- Staging tests should be business-focused anomalies specific to individual tables, such as accepted ranges or ensuring sequential values. In addition to these tests, your staging layer should clean **up **any nulls, duplicates, or outliers that you canât fix in your source system. You generally donât need to test your cleanup efforts.
+- Intermediate and marts layer tests should be business-focused anomalies resulting specifically from joins or calculations. You also may consider adding additional primary key and not null tests on columns where itâs especially important to protect the grain.
+
+## Where should tests go in your pipeline?
+
+![Screenshot 2024-11-27 at 9.11.17âŻAM.png](Test%20Smarter%20Where%20should%20tests%20go%20in%20your%20pipelin%20128bb38ebda7803bb5c2e274c49b2599/Screenshot_2024-11-27_at_9.11.17_AM.png)
+
+This diagram above outlines where you might put specific data tests in your pipeline. Letâs expand on it and discuss where each type of data quality issue should be tested.
+
+### Sources
+
+Tests applied to your sources should indicate **fixable-at-the-source-system** issues**.** If your source tests flag source system issues that arenât fixable, remove the test and mitigate the problem in your staging layer instead.
+
+
+
+Hereâs our recommendation for what tests belong on your sources.
+
+- **Source freshness**âtesting data freshness for sources that are critical to your pipelines.
+ - If any sources feed into any of the âtop 3â [priority categories](https://docs.getdbt.com/blog/test-smarter-not-harder#how-to-prioritize-data-quality-concerns-in-your-pipeline) in our last post, put [`dbt source freshness`](https://docs.getdbt.com/docs/deploy/source-freshness) in your job execution commands. If your sources are stale, dbt Cloud will fail your job.
+ - If none of your sources feed into high priority categories, check the box in the dbt Cloud UI so source freshness doesnât fail your job.
+- **Data hygiene** tests that are ***fixable*** in the source system (see our note above on âfixabilityâ).
+ - Examples:
+ - Duplicate customer records that can be deleted in the source system
+ - Null records, such as a customer name or email address, that can be entered into the source system
+ - Primary key testing where duplicates are removable in the source system
+
+### Staging
+
+In the staging layer, focus on business anomaly detection as well as cleaning up or mitigating data issues that can't be fixed at the source.
+
+- **Data cleanup and issue mitigation:** You will probably have data quality or hygiene issues that you canât fix in your source system. This is what your staging layer is for. Use our [best practices around staging layers](https://docs.getdbt.com/best-practices/how-we-structure/2-staging) to clean things up. Donât add tests to your cleanup efforts. If youâre filtering out nulls in a column, adding a not_null test is repetitive! đśď¸
+- **Business-focused anomaly examples:** these are data quality issues you *should* test for in your staging layer, because they fall outside of your businessâs defined norms. These might be:
+ - Values inside a single column that fall outside of an acceptable range. For example, a sale amount that may indicate excessive discounting and require intervention.
+ - A transaction size that usually indicates fraud and spurs further investigation into the offending transaction.
+ - An monthly invoice amount that varies more than a certain % from other invoices in its category. This could indicate anything from a clerical error to improper spending, and is worth flagging with a test.
+
+### Intermediate (if applicable)
+
+In your intermediate layer, focus on data hygiene and anomaly tests for new columns. Donât re-test passthrough columns from sources or staging. Here are some examples of tests you might put in your intermediate layer based on the use cases of intermediate models we [outline in this guide.](https://docs.getdbt.com/best-practices/how-we-structure/3-intermediate#intermediate-models)
+
+- Intermediate models often re-grain models to prepare them for marts.
+ - **Add a primary key test** to any re-grained models.
+ - Additionally, consider adding a primary key test to models where the grain *has remained the same* but has been *enriched.* This helps future-proof your enriched models against future developers who may not be able to glean your intention from SQL alone.
+- Intermediate models may perform a first set of joins or aggregations to reduce complexity in a final mart.
+ - **Add simple anomaly tests ****to verify the behavior of your sets of joins and aggregations. This may look like:
+ - An [accepted_values](https://docs.getdbt.com/reference/resource-properties/data-tests#accepted_values) test on a newly calculated categorical column.
+ - A [mutually_exclusive_ranges](https://docs.getdbt.com/reference/resource-properties/data-tests#accepted_values) test on two columns whose values behave in relation to one another (ex: asserting age ranges do not overlap).
+ - A [not_constant](https://docs.getdbt.com/reference/resource-properties/data-tests#accepted_values) test on a column whose value should be continually changing (ex: page view counts on website analytics).
+- Intermediate models may isolate complex operations.
+ - The anomaly tests we list above may suffice here.
+ - You might also consider [unit testing](https://docs.getdbt.com/docs/build/unit-tests) any particularly complex pieces of SQL logic.
+
+### Marts
+
+Marts layer testing will follow the same hygiene-or-anomaly pattern as staging and intermediate. Similar to your intermediate layer, you should focus your testing on net-new columns in your marts layer. This might look like:
+
+- **Unit tests:** validate especially complex transformation logic. For example:
+ - Calculating dates in a way that feeds into forecasting.
+ - Customer segmentation logic, especially logic that has a lot of CASE-WHEN statements.
+- **Primary key tests:** primarily ****where your mart's granularity has changed from its staging/intermediate inputs.
+ - Similar to the intermediate models above, you may also want to add primary key tests to models whose grain hasnât changed, but have been enriched with other data. Primary key tests here communicate your intent.
+- **Business focused anomaly tests:** focus on **new** calculated fields, such as:
+ - Singular tests on high-priority, high-impact tables where you have a specific problem you want forewarning about.
+ - This might be something like fuzzy matching logic to detect when the same person is making multiple emails to extend a free trial beyond its acceptable end date.
+ - A test for calculated numerical fields that shouldnât vary by more than certain percentage in a week.
+ - A calculated ledger table that follows certain business rules, i.e. todayâs running total of spend must always be greater than yesterdayâs.
+
+### CI/CD
+
+All of the testing youâve applied in your different layers is the manual work of constructing your framework. CI/CD is where it gets automated.
+
+You should run a [slim CI](https://docs.getdbt.com/best-practices/best-practice-workflows#run-only-modified-models-to-test-changes-slim-ci) by default, unless thereâs good reason to build everything in your project.
+
+With CI/CD and your regular production runs, your testing framework can be on autopilot. đ
+
+If and when you encounter failures, consult your trusty testing framework doc you built in our [earlier post.](https://docs.getdbt.com/blog/test-smarter-not-harder)
+
+### Advanced CI
+
+In the early stages of your smarter testing journey, start with dbt Cloudâs built-in flags for [advanced CI](https://www.notion.so/Test-Smarter-Where-should-tests-go-in-your-pipeline-128bb38ebda7803bb5c2e274c49b2599?pvs=21). In PRs with advanced CI enabled, dbt Cloud will flag what has been modified, added, or removed in the âcompare changesâ section. These three flags offer confidence and evidence that your changes are what you expect. Then, hand them off for peer review. Advanced CI helps jump start your colleagueâs review of your work by bringing all of the implications of the change into one place.
+
+We consider usage of Advanced CI beyond the modified, added, or changed gut checks to be an advanced (heh) testing strategy, and look forward to hearing how you use it.
+
+## Wrapping it all up
+
+Judicious data testing is like training for a marathon. Itâs not productive to go run 20 miles a day and hope that youâll be marathon-ready and uninjured. Similarly, throwing data tests randomly at your data pipeline without careful thought is not going to tell you much about your data quality.
+
+Runners go into marathons with training plans. Analytics engineers who care about data quality approach the issue with a plan, too.
+
+As you try out some of the guidance above here, remember that your testing needs are going to evolve over time. Donât be afraid to revise your original testing strategy.
+
+Let us know your thoughts on these strategies in the comments section. Try them out, and share your thoughts to help us refine them.
From ee54a2eb1bd8bcc3f42aab54373bf26c5663d010 Mon Sep 17 00:00:00 2001
From: faithebear <149540831+faithebear@users.noreply.github.com>
Date: Wed, 27 Nov 2024 09:46:42 -0700
Subject: [PATCH 02/42] Create testing_pipeline.png
---
.../img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png | 1 +
1 file changed, 1 insertion(+)
create mode 100644 website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png
diff --git a/website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png b/website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png
new file mode 100644
index 00000000000..8b137891791
--- /dev/null
+++ b/website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png
@@ -0,0 +1 @@
+
From 5436b185b004e8814eb9cf9e17056c493ccaf29c Mon Sep 17 00:00:00 2001
From: faithebear <149540831+faithebear@users.noreply.github.com>
Date: Wed, 27 Nov 2024 09:47:15 -0700
Subject: [PATCH 03/42] Add files via upload
---
.../testing_pipeline.png | Bin 1 -> 407661 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png b/website/static/img/blog/2024_11-27-test-smarter-part-2/testing_pipeline.png
index 8b137891791fe96927ad78e64b0aad7bded08bdc..bb6e49249a7140be8c873a319f979e35a28ba4cf 100644
GIT binary patch
literal 407661
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
2&JMH4j
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