Skip to content

Posts 테스트 주도 개발이란 #
Find similar titles

테스트 주도 개발(Test-driven development)에는 여러 가지 정의가 있지만 내가 제일 좋아하는 정의는 이거다:

TDD is an awareness of the gap between decision and feedback during programming, and techniques to control that gap. --Test Driven Development by Example, p xxi

대충 번역해보면:

TDD란 프로그래밍 의사결정과 피드백 사이의 간극에 대한 인식이자, 이 간극을 제어하기 위한 기술이다.

풀어보면:

  • 프로그래밍을 하는 과정에서 일어나는 의사결정들(변수 이름을 이렇게 지어야지, 메서드를 짧게 만들어야 겠다, 커맨드 패턴을 적용해야겠다 등등)
  • 그러한 의사결정을 내린 후에 돌아오는 피드백(컴파일 에러, 버그, 깔끔한 코드, 금전적 손실 등등)
  • 그리고 이 둘 사이의 간극

이 세 가지를 잘 의식하면서 적극적으로 제어하려는 노력, 이게 테스트 주도 개발이라는 얘기다.

테스트 케이스를 만들었나 안 만들었나, 테스트를 먼저 했나 나중에 했나 하는 것은 실은 (달이 아니라) 손가락.

Suggested Pages #

Other Posts #

0.0.1_20140628_0