368
2
부
구현
제삼자가 제공하는 서비스를 사용하는 경우
CDC
를 동작시키기 위한 의사소통이나 신뢰의 기
회를 자주 갖지 못할 수 있다. 이 상황에서는 신뢰할 수 없는 구성 요소를 포함해 더 큰 범위의
제한된 통합 테스트를 수행해야 할지도 모른다. 또는 공개적으로 사용 가능한 웹 서비스
API
와
같이 수천 명의 잠재적인 소비자를 위한
API
를 만드는 경우라면, 이러한 테스트를 정의하는 과
정에서 소비자 역할을 직접 수행해야 할 수도 있다(또는 소비자의 하위 집합과 함께 작업해야
할 수도 있다 ). 엄청난 수의 외부 소비자를 중단시키는 것은 매우 나쁘기 때문에
CDC
의 중요
성은 더욱 커진다.
9.5.29.5.2
결론 결론
이 장의 앞부분에서 자세히 설명했듯이, 엔드투엔드 테스트는 테스트에 포함되는 구성 요소가
더 많이 추가됨에 따라 단점이 많아진다. 지금까지 필자는 마이크로서비스를 대규모로 구현해
온 사람들과 이야기를 나누면서 대부분의 사람들이 시간이 지남에 따라 소프트웨어 품질을 검
증하는 다른 메커니즘 (예: 명시적 스키마와
CDC
사용, 운영 환경 내 테스트, 또는 카나리아
릴리스와 같은 점진적 제공 기술 중 일부 )을 선호해 엔드투엔드 테스트가 불필요해진다는 사
실을 알게 됐다.
또한 보조적으로 운영 환경 배포 전에 엔드투엔드 테스트를 수행하는 것을 보게 된다.
CDC
의
작동 방식을 배우고 운영 환경 모니터링 및 배포 기술을 향상시키는 동안 이러한 엔드투엔드
테스트는 유용한 안전망을 형성할 수 있으며, 그 과정에서 주기 시간과 위험을 ...