테스트 주도 개발(Test Driven Development)이란 작은 단위의 테스트를 작성하고 이를 계속 테스트하면서 성공하면 해당 코드를 추가하는 것을 반복하는 것으로 짧은 개발 주기의 반복의 의존하는 소프트웨어 개발론 중 하나이다.
애자일 방법론 중 eXtream Programming의 Test-First 개념에 기반을 둔다.
eXtream Programming
미래에 대한 에측을 최대한 하지 않고, 지속적으로 프르토타입을 완성하는 애자일 방법론
RED (Write a failing test) : 실패하는 코드 작성
GREEN (Make the test pass) : 테스트 코드를 성공시키기 위한 실제 코드 작성
BLUE (Refactoring) : 중복 코드 제거 및 테스트 통과 유지 등의 리팩토링 수행
장점
단점