프로토콜

    그렇다면 DDT에서 혁신은 어디에 있을까? 바로 어댑터 계층과 독립적으로 해당 도메인의 언어만을 사용해 종단간 테스트(end-to-end test)를 작성할 수 있는 기능에 있다. 이렇게 하면 도메인에 연결하는 다양한 방법을 사용해 테스트를 여러 번 실행할 수 있다. 도메인에 연결하는 메서드를 나는 프로토콜이라고 부른다.

    예를 들어 허브의 인메모리 구현만 사용하면 테스트를 빠르게 실행할 수 있고, 도메인 로직, 즉 도메인 전용 프로토콜의 정확성을 검증할 수 있다. 그런 다음 애플리케이션을 로컬에서 시작하고 HTTP 호출을 사용해 시스템의 전체 기능을 검증할 수 있다. 즉, 로컬 HTTP 프로토콜을 검증할 수 있다. 마지막으로 배포된 서비스를 사용하여 네트워크와 배포 스크립트가 올바른지 확인하고 프로덕션 환경에서 애플리케이션을 테스트할 수 있다. 즉, 원격 HTTP 프로토콜도 올바른지 확인할 수 있다.

    이를 달성하기 위해서는 액션을 나타내는 단일 인터페이스를 채택해 애플리케이션의 다양한 구현(프로토콜)을 추상화해야 한다. 이를 위해 테스트에서 각 프로토콜의 세부 사항과는 독립적인 공통 언어를 정의해 사용하고, 비즈니스 전문가와 대화할 때에도 동일한 용어를 사용해야 한다. 도메인에 따른 단어를 사용해 테스트를 작성하면 소프트웨어 개발자와 나머지 비즈니스 전문가들 사이의 의사소통이 원활해지는 이점이 있다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.