테스트 주도 개발의 궁극적인 목표는 clean code that wroks(작동하는 깔끔한 코드)이다.
이것이 훌륭한 이유를 몇가지 알게 되었다.
- 발생할 버그와 오류를 예측 가능한 개발 방법이다.
- 코드를 그냥 생각나는 대로 짜버리고 마는 것 보다 코드가 주는 모든 것을 생각할 수 있다.
- 소프트웨어의 질을 높인다.
TDD의 규칙
1. 오직 자동화된 테스트가 실패할 때에만 새로운 코드를 작성한다.
2. 중복을 제거한다.
이 규칙에 의해서 다음의 개발순서가 정해진다.
1. 빨간색 - 실패하는 작은 테스트 작성. 컴파일조차 되지 않을 수 있다.
2. 초록색 - 빨리 테스트가 통과하게 만든다. 어떤 수단과 방법을 가리지 않는다.
3. 리펙토링 - 테스트를 통과하게 만드는 과정에서 발생한 중복을 제거한다.
이 외에도 테스트 규칙이 가지는 기술적 , 사회적 함의도 언급되었지만 사실 정확하게 어떤 것을 해당하는지 아직 감이 오지 않는다. 뒤의 내용을 계속 읽어 봐야 할 것 같다.
저자는 테스트 주도 개발로 용기를 얻을 수 있다고 한다. 어떻게 문제를 해결해야 할지, 불확실한 상태로 지속되는 대신, 구체적인 해결 방안과 함께 피드백과 커뮤니케이션을 이끌어 낼 수 있는 용기이다.
이후 dollor예제, xunit, tdd패턴을 이용하여 tdd를 수련할 것임을 명시하고 있다.
이제 재대로 tdd예제를 시작하면서 실습한다. 설레면서 미지의 영역으로 들어가는 것 같아 긴장되는 느낌이다.
'책읽기 > TDD:ByExample' 카테고리의 다른 글
TDD_6 (0) | 2020.11.11 |
---|---|
TDD_5 (0) | 2020.11.10 |
TDD_4(값 객체 패턴) (0) | 2020.11.08 |
TDD_3 (0) | 2020.11.06 |
TDD_1 (0) | 2020.10.31 |