Das Testen von Pipelines ist entscheidend für die Zuverlässigkeit. Unit-Tests, Integrationstests und automatisierte Quality Checks in CI/CD.
Warum Pipelines testen¶
Ungetestete Pipelines führen zu stillen Fehlern — fehlerhafte Daten in Berichten.
Testpyramide¶
- Unit-Tests — einzelne Transformationen
- Integrationstests — gesamte Pipeline
- Data Quality Tests — Ausgabevalidierung
- Contract Tests — Übereinstimmung mit Verträgen
def test_removes_test_orders():
input_data = [
{"id": 1, "status": "confirmed"},
{"id": 2, "status": "test"},
]
result = run_model("stg_orders", input_data)
assert len(result) == 1
assert all(r["status"] != "test" for r in result)
CI/CD¶
# .github/workflows/data-ci.yml
jobs:
test:
steps:
- run: pip install dbt-duckdb
- run: dbt test
- run: soda scan -d test checks/
Zusammenfassung¶
Das Testen von Pipelines verhindert stille Fehler. Unit-Tests, Quality Checks und CI/CD sind die Grundlage zuverlässiger Daten.
testingdata pipelineci/cddata quality