Test Driven Development
테스트 주도 개발
품질 좋은 소프트웨어를 개발하기 위한 방법론 중 하나
TDD의 핵심 원칙
"실패하는 테스트를 작성하기 전에는 절대로 코드를 작성하지 않는다"
모든 조건에 만족하는 테스트를 먼저 진행
조건에 만족하지 않는 테스트를 단계적으로 진행
실패하는 테스트를 구현, 수정하며 점진적으로 성공되도록 함
실패하는 테스트(작성하지 않은 코드 정의) →
실패하는 테스트를 성공할 만큼의 최소한의 구현 → 테스트 성공 →
리팩토링(코드의 가독성, 유지 보수성 등을 개선) → 반복
단순한 기능에서 복잡한 기능으로 확장
모든 코드에는 테스트 케이스가 존재하게 됨
적시의 리팩토링을 통한 품질유지와 비용 감소, 빠른 피드백