TDD

[TDD] TDD 흐름

kkalgo 2023. 11. 6. 19:43

테스트 → 코딩 → 리팩토링 → 테스트

  • 테스트를 먼저 작성하고
  • 테스트를 통과시킬 만큼 코드를 작성하고
  • 리팩토링으로 마무리 하는 과정의 반복

레드 - 그린 - 리팩터

  • TDD 사이클을 Red - Green - Refactor로 부르기도 한다.
    • Red : 실패하는 테스트
    • Green : 성공한 테스트
    • Refactor : 리팩토링 과정

테스트가 개발을 주도

  • 가장 먼저 통과해야 할 테스트를 작성한다.
    • 테스트를 작성하는 과정에서 구현을 전혀 생각하지 않고
    • 해당 기능이 올바르게 동작하는지 검증할 수 있는 테스트 코드를 만들 뿐.
  • 테스트를 추가한 뒤에는 테스트를 통과시킬 만큼의 기능을 구현한다.
    • 추가하지 않은 테스트를 고려해서 구현하지 않는다.
    • 테스트 코드를 만들면 다음 개발 범위가 정해진다.
    • 검증하는 범위가 넓어지고 구현이 완성되간다.

지속적인 코드 정리

  • 구현을 완료한 뒤에는 리팩토링을 진행한다.
    • 리팩토링 대상이 눈에 들어오면 진행
    • 어떻게 리팩토링할지 모르겠다면 다음 테스트를 진행한다.
  • 원활히 동작하는 코드를 수정하는 것은 부담스럽다.
    • 이 기능을 온전하게 동작하는 것을 검증해주는 테스트가 있다면 괜찮다.

빠른 피드백

  • 코드 수정에 대한 피드백이 빠르다.
    • 새로운 코드를 추가하거나 기존 코드를 수정한 경우 테스트로 확인 가능
      • 잘못된 코드가 배포되는 것을 방지한다.

 

 

출처 : 테스트 주도 개발 시작하기 - 최범균(저)