본문 바로가기
영상 후기/기타

영상 후기 - 피카의 TDD와 단위테스트

by 올리브영 2023. 3. 3.
728x90
반응형

movie

TDD(Test-Driven Development)

  • 테스트 코드를 먼저 만들고, 실제 프로덕션 코드를 나중에 만드는 개발 방법
  • 설계 -> 테스트(코드작성) -> 개발(코드작성)
  1. 실패하는 테스트를 구현한다.
  2. 테스트가 성공하도록 프로덕션 코드를 구현한다.
  3. 프로덕션 코드와 테스트 코드를 리팩토링한다.

테스트 코드의 장점

  • 변화에 대한 두려움을 줄여준다.(리팩토링이 편하다)
  • 디버깅 시간을 줄여준다.
  • 동작하는 문서 역할을 한다.

TDD의 장점

  • TDD를 하면 자연스레 테스트 커버리지가 높아진다.
  • 오버 엔지니어링 방지. 내가 필요한 만큼만 코딩을 할 수 있다.
  • 설계에 대한 피드백이 빠르다.

TDD는 설계방법론이다?

  • TDD는 높은 응집을 유도하지 않는다.
  • TDD는 단일 책임 원칙과 인터페이스 분리 원칙 위배에 어떤 신호도 주지 않는다.
  • TDD는 인터페이스 일관성을 도출하지 않는다.
  • TDD의 리팩토링 단계는 좋은 구조를 안내하거나 좋은 구조를 갖도록 강제하지 않는다.
728x90
반응형