더북(TheBook)

4.3.2 예약 게시

수직 슬라이스의 목적은 시스템의 동작을 확인하는 것입니다. 일단 각각의 구성요소를 잘 배치하는데 신경을 썼습니다. 새로운 코드베이스에서는 이런 작업을 먼저 진행하는 것이 일반적이며, 이제는 모든 준비가 끝났습니다.

첫 번째 수직 슬라이스의 기능을 선택할 때는 몇 가지를 고려해야 합니다. 제 경험을 통해 발견한 것들이므로 휴리스틱(heuristic)이라고 할 수 있겠네요.

1. 구현하기 간단한 기능이어야 합니다.

2. 되도록이면 데이터 입력이 가능해야 합니다.

영구 데이터(persisted data)를 사용하는 시스템을 개발할 때 다른 부분을 테스트하기 위해서는 약간의 데이터가 필요하다는 것을 금방 알게 됩니다. 시스템에 데이터를 추가하는 기능으로 시작하면 이 문제를 깔끔하게 해결할 수 있습니다.

따라서 웹 애플리케이션이 레스토랑 예약 정보를 수신하고 저장할 수 있도록 만드는 것이 좋겠습니다. 외부 접근 테스트 주도 개발(outside-in test-driven development) 방식을 사용하여 예제 4-7과 같은 테스트를 작성할 수 있습니다.

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