Data Pipeline Testing
전체 스택을 띄우지 않고 파이프라인·통합 로직을 조기에 검증하는 shift-left 전략
핵심 개념
Data Pipeline Testing은 통합·변환 로직의 결함을 개발 사이클 초기에 잡기 위한 전략이다. 전통적 E2E 테스트는 프로덕션 수준 풀스택(프론트엔드·메시징·캐시·다수 마이크로서비스)을 띄워야 해 느리고, 버그가 늦게 발견될수록 수정 비용이 기하급수적으로 커진다. 핵심 통찰: 시스템 전체를 띄우는 대신, 테스트 대상 주변 생태계를 시뮬레이션한다.
Workflow Simulator 패턴 (Agoda)
Agoda는 항공 공급사 커넥터를 테스트하기 위해 상류 호출자를 모델링하는 경량 시뮬레이터를 구축:
- 확장성보다 명료성: 프로덕션의 캐싱·비동기를 의도적으로 생략, 동기 호출 + 투명한 기록으로 추적·진단 용이
- 4개 컴포넌트: Scenario Builder(시나리오 컨텍스트 + deterministic/randomization 전략) → Test Runner → Workflow Executor → Assertions
- DAG 기반 실행: 복잡한 상호작용(비동기, 캐시 폴링, 메시지 패싱)을 DAG의 노드·엣지로 단순화. executor가 start→end로 순회하며 각 요청/응답 기록 + 공유 상태 carry-over
- 공급사 무관: 내부 contract로 통신 → 새 공급사·미완성 커넥터에도 재사용
2단계 검증
| 단계 | 검증 대상 |
|---|---|
| Endpoint assertion | 단일 엔드포인트의 contract·필드 타입/포맷/길이·논리 일관성(예: 총액 = 승객별 합) |
| Workflow-scenario assertion | 다중 엔드포인트 E2E 일관성, cross-step 데이터 전파, 공급사 측 예약 정보 대조 |
Shift-Left의 가치와 한계
가치: 구현 미완성이어도 endpoint-level assertion으로 검증 가능 → 로컬 빠른 피드백, 이슈 조기 발견, 늦은 사이클 결함 위험 감소.
한계 (E2E를 대체하지 않음):
- 비동기·메시징·병렬성은 최종 E2E 검증 필요
- race condition, rate limiting 등 프로덕션 전용 제약은 풀 스테이징 없이 재현 불가
- 공급사 테스트 환경이 불안정하면 시뮬레이터로 전파
시뮬레이터는 데이터 마이그레이션의 shadow 검증(Large-Scale Data Migration)과 철학을 공유한다 — 프로덕션에 영향 없이 실제와 유사한 동작을 사전 검증. 차이는 마이그레이션이 “출력 데이터 일치”를, 파이프라인 테스트는 “통합 로직 정확성”을 목표로 한다는 점.
노트북 관측성 — Tracked Transformation
프로덕션 의존성이 된 노트북을 실행만 되는 스크립트가 아니라 이해·진단 가능한 시스템으로 만드는 접근(Computational Synapses):
- 노트북 cell이 아니라 tracked transformation을 단위로 — 각 transformation이 입력·출력·실행 전후 검증(schema/row count/join cardinality/null profile)·캐시 가능 여부·다운스트림 소비자를 선언
- 캐싱은 fingerprint 기반 memory: input_hash·schema_signature·row_count 등으로 upstream 변경 없으면 reuse, schema 변경 시 rerun, validation 실패 시 quarantine
- 3계층: dataflow(lineage) + reasoning(각 transformation의 왜 — 비즈니스 가정을 명시 객체로) + memory(실행 중 무엇이) → “왜 숫자가 바뀌었나”를 archaeology가 아닌 쿼리로
- AI 시대: AI 생성 transformation은 “실행된다”가 아니라 입력·출력·가정·검증·다운스트림을 선언해야 신뢰(accountable automation)
시뮬레이터가 배포 전 통합 로직을 검증한다면, tracked transformation은 실행 중·후 파이프라인을 진단 가능하게 만든다 — 둘 다 “실행 성공 ≠ 정확”이라는 인식을 공유한다.
연관 개념
- Data Quality and Validation — 데이터 정확성 검증(런타임)과 보완
- Data Pipeline Fundamentals — 파이프라인 구축·운영 기초
- Large-Scale Data Migration — shadow 검증과 공유하는 철학
- Analytics Engineering — model health·lineage 관측성
- Silent Failures and Data Integrity — “실행 성공이지만 틀린” 결과
- Real-Time Stream Processing — Flink Shadow Testing 패턴
Source: How Agoda Simulates Booking Flows to Test Flight Integrations, Computational Synapses - Notebooks as Stateful Reasoning Systems