티스토리 뷰

TDD 란?

테스트 케이스를 먼저 작성한 다음 테스트 케이스에 맞추어 실제 개발 단계로 이행하는 개발 방법론

 

TDD = TFD(Test First Development) + 리팩토링

 

TDD 원칙

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

TDD에 대한 생각

1.  명확하지 않은 요구사항에 대해서 구체적으로 다가갈 수 있다.

아직 이해하지 못한 도메인이나 기획에서 테스트 코드를 먼저 작성한다면 더 쉽게 리펙토링에 다가갈 수 있다고 생각한다. 예상한 입력과 출력에 대해서 테스트 코드를 작성한다면 머릿속으로 한 생각과 직접 작성한 부분에서의 차이를 더 빠르게 파악할 수 있다.

 

2.  프로덕션 코드를 짜기 전 미리 설계에 대해서 생각해 볼 수 있다.

테스트 코드를 짜는 게 어렵다면 테스트하려는 메서드에 많은 기능이 담겨 있는지 생각해 보자. 테스트가 어려운 부분을 분리한다면 더 좋은 설계가 나 올 수 있다고 생각한다. 

 

반박글? TDD는 설계 기법이 아니다

 

3.  디버깅 시간을 줄여준다.

프로그래밍에서 대부분의 시간이 디버깅에 투입되는데, 테스트 코드가 작성되어 있다면 디버깅을 해야 할 범위를 제한함으로써 디버깅에 들어가는 노고를 크게 줄여준다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함