기타
[MSA] 소비자 주도 계약 테스트(Consumer-Driven Contract Test, CDC)
Nhahan
2025. 5. 7. 21:35
엔드투엔드 테스트는 시스템 전체의 통합적인 동작을 검증할 수 있다. 하지만 실행 시간이 오래 걸리며, 실패 시 원인 분석이 복잡하다. 테스트 환경 구축도 매우 어렵다.
따라서 엔드투엔드 테스트는 최소화하는 것이 좋다. 엔드투엔드 테스트는 깨지기 쉽고, 유지보수 및 실행 비용이 높다.
이러한 엔드투엔드 테스트의 단점을 극복할 수 있는 방법으로 소비자 주도 계약 테스트가 효과적이다.
소비자 주도 계약 테스트란, 소비자가 자신이 실제로 서비스의 API를 어떻게 사용할 것인지에 대한 명세를 작성하고, 이 내용을 기반으로 실제 사용 사례에 맞춰 엔드투엔드 테스트를 설계하고 검증하는 방식이다.
즉, 불필요한 테스트 작성을 줄이고 꼭 필요한 시나리오 위주로 테스트를 작성하여 전체적인 테스트 비용을 줄일 수 있는 것이다.
소비자 주도 계약 테스트를 위한 도구로는 Pact와 Spring Cloud Contract 등이 있다.