코드 작성 전에 테스트를 작성하고, 테스트에 통과하도록 코드를 작성하는 것입니다 (Write tests before writing code then write code according to "spec" set by tests)
흔히 레드-그린 테스트라고 합니다 ("red-green" testing)
Write "shell" function (아무것도 하지않는 빈 함수) -> Write tests -> Tests fail -> Write code -> Tests pass
Unit tests
Integration tests
Functional tests
Acceptance / End-to-end (E2E) tests