분산 시스템의 모든 비결정적 요소(네트워크, 디스크, 타이밍 등)를 시뮬레이션하여 재현 가능한 테스트를 수행하는 패러다임. FoundationDB가 개척하고 여러 데이터베이스 프로젝트가 채택했다.
핵심 내용
기원: FoundationDB
FoundationDB가 이 테스팅 방식을 개척했다. 특정 워크로드에 맞게 설계된 아키텍처를 시뮬레이션으로 광범위하게 테스트한다 (출처: 7 Databases in 7 Weeks for 2025).
확산
FoundationDB에서 시작된 이 접근이 여러 프로젝트로 퍼졌다 (출처: 7 Databases in 7 Weeks for 2025):
- TigerBeetle — VOPR(Viewstamped Operation Replayer)로 금융 거래 DB를 테스트
- Antithesis — 전 FoundationDB 멤버들이 설립. 시뮬레이션 테스팅을 범용 서비스로 제공
참고 자료
- Tyler Neely의 시뮬레이션 테스팅 노트: https://sled.rs/simulation.html
- Phil Eaton의 결정론적 시뮬레이션 테스팅 노트: https://notes.eatonphil.com/2024-08-20-deterministic-simulation-testing.html
- FoundationDB 테스팅 문서: https://apple.github.io/foundationdb/testing.html
관련 링크
- FoundationDB — 이 패러다임의 기원
- TigerBeetle — 금융 특화 DB에서의 적용
- 결정론적 빌드 — “결정론적”이라는 원칙의 빌드 영역 적용