Data Engineering
Testování datových pipeline — strategie a nástroje
Testování pipeline je klíčové pro spolehlivost. Unit testy, integration testy a automatizované quality checks v CI/CD.
Proč testovat pipeline
Netestované pipeline vedou k tichým chybám — špatná data v reportech.
Pyramid testů
- Unit testy — jednotlivé transformace
- Integration testy — celá pipeline
- Data quality testy — validace výstupů
- Contract testy — shoda s kontrakty
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/
Shrnutí
Testování pipeline předchází tichým chybám. Unit testy, quality checks a CI/CD jsou základ spolehlivých dat.