테스트를 먼저 작성한다 테스트를 실행하고 실패한다(빨간색) 테스트를 통과하기 위해 필요한 최소한의 코드를 작성한다(녹색) 코드와 테스트를 함께 리팩터링한다(황금색) 빨강, 녹색, 리팩터링 Red, Green, Refactor | Codecademy