본문 바로가기
Software Test/Contract Test In Microservice

Test Strategies in a Microservice - Contract Test

by kellis 2020. 6. 7.

마이크로서비스란 '독립적으로 배포 가능한 서비스들의 묶음으로 소프트웨어 애플리케이션을 설계하는 방법'을 말합니다. 마이크로 서비스 아키텍쳐 스타일은 작은 서비스들의 집합으로써 애플리케이션을 개발하는 방법이라고 할 수 있습니다. 마이크로서비스 아키텍처의 각 서비스는 서로 분리되어 비동기적으로 동작하게 되고, 이로 인해 런타임 환경에서 마이크로서비스간의 상호작용을 테스트하기는 매우 까다롭습니다.

 

Contract Testing은 이러한 상호작용을 테스트하기 위해 사용하는 방법으로, 서비스가 다른 서비스와 커뮤니케이션할 수 있는가를 보장합니다. 비용이 크고 취약한 integration 테스트보다 더욱 뛰어난 방법으로 커뮤니케이션이 필요한 두 서비스 사이라면 어느 곳에서나 즉시 적용할 수 있습니다.

 

마틴 파울러는 Testing Strategies in a Microservice Architecture에서 아래와 같이 테스트를 실시하여 각 서비스의 초기단계에서 최대한 Coverage를 높이고, End-to-End 테스트는 최소화하는 전략을 제시했습니다. Unit > Integration > Component > Contract > End-to-End 순으로 테스트를 진행하여 까다로운 End-to-End 테스를 최소화하는 것입니다. 

 

출처 : https://martinfowler.com/articles/microservice-testing/

'Software Test > Contract Test In Microservice' 카테고리의 다른 글

Contract Test using Postman  (0) 2020.06.07
1. Contract Test?  (0) 2020.06.07

댓글