**테스트 주도 개발(Test-Driven Development, TDD)**은 코드보다 테스트를 먼저 작성하는 관행으로, 짧고 반복되는 사이클을 따릅니다. 실패하는 테스트를 작성하고, 그것을 통과시킬 코드를 작성한 다음, 리팩터링합니다. 테스트를 통해 설계를 이끌고 코드가 테스트 가능하며 잘 테스트되도록 보장합니다.
TDD 사이클: Red, Green, Refactor
1. RED → 원하는 동작에 대한 실패하는 테스트를 작성 (코드가 아직 없으니 실패)
2. GREEN → 테스트를 통과시킬 최소한의 코드를 작성 (딱 필요한 만큼, 과하게 만들지 않음)
3. REFACTOR → 테스트를 GREEN으로 유지하면서 코드(와 테스트)를 개선/정리
→ 각 작은 동작 조각마다 이 짧은 사이클을 반복.
테스트 작성(RED) → 코드 작성(GREEN) → 정리(REFACTOR) → 반복
예시 흐름
(, ((, )).());
() { a + b; }
