TDD

홍성준·2022년 12월 14일
0

TDD

TDD는 Test Driven Development의 약자로 해석해보면 테스트 주도 개발이란 뜻이다. 먼저 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 것을 단계적으로 만들면서 구현해나아가는 방법이다.
요즘 많이 쓰이는 애자일에서의 xp의 테스트 퍼스트 개념에 기반을 둔 개발 방법이다.

TDD의 개발주기는 레드 단계에서는 실패하는 코드, 그린 단계에서는 테스트를 성공시키는 코드, 옐로우 단계에서는 중복 코드 제거 및 리팩토링을 수행한다. 여기서 중요한 점은 실패 테스트 코드를 만들 때까지 실제 코드를 작성하지 않는 것과, 이 테스트를 통과할 정도의 최소 코드를 작성해야하는 것이다. 이러한 개발주기를 거치다 보면 자연스럽게 코드의 버그가 줄어들고, 코드는 간결해진다. 또한 테스트 케이스 작성으로 인해 자연스럽게 설계가 개선됨으로 재설계 시간이 감소된다.

이 방식의 장점은 일반적인 개발방식과는 다른 보다 튼튼한 코드를 구축할 수 있고, 시간단축, 테스트 문서의 대체가능, 추가 구현의 용이함등이 있다.

대표적인 TDD의 tool은 자바 단위 테스트 프레임워크인 JUnit과 이를 변형 시켜만든 xUnit등이 있다.

profile
안녕하세요

0개의 댓글