4장 테스트 주도 주기 시작
최초 기능의 역설
- 도구를 마련하고 동시에 마련한 도구로 테스트를 하면서 기능까지 구현하기 어려움 -> 안정적이지 못한 개발 환경
-
해결 : 2가지 문제로 쪼개기
- 동작하는 골격을 대상으로 빌드, 배포, 테스트하는 방법 파악
- 기반 구조(동작하는 골격)을 이용해 유의미한 첫 기능에 대한 인수 테스트 작성
동작하는 골격이란 무엇인가?
- 전 구간을 대상으로 자동 빌드, 배포, 테스트를 할 수 있는 실제 기능을 가장 얇게 구현한 조각
- 빌드, 배포, 테스트를 나중으로 미루는 것은 위험하다.
- 프로젝트가 올바른 방향으로 나아가고 있는지 최대한 미리 파악해야 한다.
-
동작하는 골격 개발 = 애플리케이션의 개괄적인 구조를 결정하기 시작
- 초기 구조 설계하려면 시스템의 목적을 이해해야 한다.
- 팀에서 자신들의 해법을 전체적으로 조망하는 데 이바지하게 끔 첫 테스트를 작성하는 과정을 활용해 프로젝트의 맥락을 짚어내는 것
동작하는 골격을 먼저 만들어야 하는 이유는 무엇인가?
- 동작하는 골격은 프로젝트 초기에 각종 쟁점을 드러낸다.
- 불확실한 것을 먼저 발견하는 것이 중요하기 때문이다.
- 점진적 개발 = 프로젝트 초에는 불안정한 상태로 시작하지만 일부 기능을 구현하고 프로젝트 자동화가 구축되고 나면 반복적인 과정으로 안정화된다.
- 동작하는 골격 만들기 = 알아서 굴러가게 만들기
스터디
-
칠판에 간략하게 그리는 것
- 배포는 뭐로 할끼? aws로 할까?
- 자동화는?? 트래비스로 할까 github action을 쓸까??
- 동작하는 골격 = CI /CD까지
- 가장 얇게 구현한 기능 = 리액트 기본 구조까지만 적는거??
- 지도앱을 만든다 -> 어떤 지도를 사용하는 지에 대해 기본만 구현하는 것 까지 동작하는 골격에 포함
- 지도에 대한 의존성을 분리하는 것은 프로젝트를 진행하면서 리팩터링 해 프로젝트를 진행시킬 것