Skip to content

Latest commit

 

History

History
15 lines (12 loc) · 1.46 KB

test-driven-development.md

File metadata and controls

15 lines (12 loc) · 1.46 KB

TDD (테스트 주도 개발) 이란?

테스트 주도 개발(Test Driven Development) 은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스이다.
개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다.
그 이후 테스트 케이스를 통과하기 위한 최소한의 코드를 생성하고, 작성한 코드를 리팩토링하는 과정을 반복한다.

테스트 주도 개발 사이클의 다음과 같이 몇 가지 의식할 부분들

일단 간단하고, 해보기 쉬운 것을 먼저 시도한다.
실패하는 테스트를 통과하기 위해서는 최소한의 코드를 작성해야 한다.
테스트를 점점 구체화할수록 프로덕션 코드는 점점 범용적이게 된다. (커버 가능한 케이스가 점점 많아짐)
실패하는 테스트가 있을 때만 프로덕션 코드를 작성한다. 실패를 나타내는 데 충분한 정도의 테스트만 작성한다.
위와 같은 부분들을 의식하며, 테스트 주도 개발 사이클을 반복하다 보면, 작성한 코드가 가지는 불안정성을 개선하여 생산성을 높일 수 있다.
또한, 테스트 가능하며 결합이 느슨한 시스템을 점진적으로 만들어 나갈 수 있다.
하지만, 테스트 주도 개발이 오히려 비효율적인 경우도 존재하기 때문에 다른 모든 기술과 마찬가지로 비판적으로 사고하는 것도 중요하다.