TDD란?

Date:

TDD란?

  • 테스트 주도 개발(Test Driven Development)이란 TFD(Test First Development) + 리팩토링이다.

  • TDD란 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술이다.
  • TDD는 분석 기술이며, 설계 기술이기도 하다.

TDD를 하는 이유

  • 디버깅 시간을 줄여준다.
  • 동작하는 문서 역활을 한다.
  • 변화에 대한 두려움을 줄여준다.


TDD 사이클

  • 실패하는 테스트를 구현한다.

  • 테스트가 성공하도록 프로덕션 코드를 구현한다.

  • 프로덕션 코드와 테스트 코드를 리팩토링한다.


TDD 원칙

  • 원칙 1 - 실패하는 단위 테스트를 작성할 때까지 프로덕션 코드를 작성하지 않는다.
  • 원칙 2 - 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
  • 원칙 3 - 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.

Reference(출처)

박재성님의 nextstep TDD, Clean Code 강의에서 공부한 자료입니다.

댓글