370
2
부
구현
하지만 팀이 소유한
5
개의 마이크로서비스가 다른 팀이 소유한 다른 시스템과 마이크로서비스
를 호출하려는 경우에는 어떻게 해야 할까? 그것들이 없다면 로컬 개발 및 테스트 환경이 작동
하지 않을 것이다. 여기서도 스텁이 도움이 되며, 우리 팀의 범위 밖에 있는 마이크로서비스를
모방하는 로컬 스텁을 만들 수 있어야 한다. 로컬에서 실행해야 하는 유일한 실제 마이크로서
비스는 여러분이 작업 중인 것들이다. 수백 개의 서로 다른 마이크로서비스에서 작업해야 하는
조직에 몸담고 있다면 이보다 훨씬 더 큰 문제가 있으며,
15
.
7
절 ‘강력한 소유권 대 공동 소유
권’에서 더 깊이 다룬다.
9.79.7
운영 전 테스트에서 운영 중 테스트로 운영 전 테스트에서 운영 중 테스트로
역사적으로 테스트는 운영에 들어가기 전에 시스템을 테스팅하는 데 중점을 뒀다. 테스트를 통
해 시스템이 기능적으로나 비기능적으로 원하는 대로 작동하는지를 입증하려는 일련의 모델을
정의하고 있지만, 그 모델이 완벽하지 않다면 시스템이 격한 상황일 때 문제에 직면하게 된다.
버그가 운영 환경에 유입되고, 새로운 고장 유형이 발견되며, 사용자는 전혀 예상하지 못한 방
식으로 시스템을 사용한다.
이에 대한 한 가지 대응 방법으로, 점점 더 많은 테스트를 정의하고 모델을 개선해 더 많은 문
제를 조기에 발견하고 실행 중인 운영 시스템에서 발생될 문제의 수를 줄이는 경우가 많다. 하
지만 이 방법은 특정 시점부터 수확 체감이 발생한다는 사실을 받아들여야 한다. 배포 전 테스 ...