
345
9
장
테스트
자동화된 테스트의 세계는 필자가 처음 코드를 작성하기 시작한 이래로 크게 발전했다. 또한
매달 새로운 도구나 기법이 등장해 그 세계는 더욱 향상되고 있는 것으로 보인다. 하지만 기능
이 분산 시스템에 걸쳐 있을 때 코드의 기능을 효과적이고 효율적으로 테스트하는 방법에 관한
문제는 여전히 남아 있다. 이 장에서는 세분화된 시스템 테스트와 관련된 문제를 분석하고 자
신 있게 새 기능을 릴리스하도록 도와주는 몇 가지 해결책을 제시한다.
테스트는 많은 분야를 다룬다. 자동화된 테스트만 이야기하더라도 고려해야 할 사항이 많고,
마이크로서비스를 사용하면 다른 차원의 복잡성이 추가된다. 실행 가능한 테스트 유형을 이해
하는 것은 소프트웨어를 가능한 한 빨리 운영 환경에 보내려는 주장과 소프트웨어의 품질이 충
분한 수준인지 확인하려는 주장이 가끔씩 상충될 때 둘 간의 균형을 잡는 데 도움이 된다. 테스
트의 전체 범위를 고려할 때, 필자는 이 주제를 광범위하게 다루지 않는다. 대신 주로 단일 프
로세스의 모놀리식 애플리케이션 같은 덜 분산된 시스템과 비교할 때 마이크로서비스 아키텍
처의 테스트가 어떻게 다른지 살펴보는 데 중점을 둔다.
테스트가 수행되는 위치도 이 책의 초판이 출간된 이후 변경됐다. 이전에는 주로 소프트웨어가
운영되기 전에 테스트를 수행했다. ...