TDD 개요
정의 Test-Driven Development(TDD)는 동작하는 코드를 작성하기 전에 그 코드가 통과해야 할 자동화된 테스트를 먼저 작성하는 개발 방식이다. 2002년 Kent Beck의 Test-Driven Development: By Example로 정리됐고, Extreme Programming(XP)의 실천법 중 하나에서 출발했다. 이름에 “Test"가 들어 있지만 TDD는 테스트 기법이 아니라 설계 기법으로 분류된다. 테스트를 먼저 쓰려면 그 코드를 어떻게 호출할지, 무엇을 주고 무엇을 받을지를 먼저 정해야 하고, 그 결정이 곧 인터페이스 설계이기 때문이다. 테스트 스위트는 그 과정에서 부수적으로 남는 산출물에 가깝다. ...