Test-driven Development
코드를 작성하기 전에 테스트를 쓰는 소프트웨어 개발 방법론
작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복
1️⃣ 실패하는 테스트 코드를 먼저 작성한다. Write Failing Test
- 이 과정을 마치기 전에 2의 작업을 시작하지 않도록 주의
2️⃣ 테스트 코드를 성공시키기 위한 실제 코드를 작성한다. Make Test Pass
- 1의 테스트를 통과할 정도의 최소 코드만 작성해야 한다.
3️⃣ 중복 코드 제거, 일반화 등의 리팩토링을 수행한다. Refactor
일반적으로 대부분의 개발자들은 테스트를 작성하는 것보다, 바로 코드로 작성하는 방식이 훨씬 자연스럽고 빠르다고 느껴 TDD를 따르는 개발자는 많지 않다.
그럼에도 불구하고 TDD를 사용하는 이유는?
1️⃣ 예상하지 못했던 버그를 줄여 소요 시간을 줄일 수 있다.
2️⃣ 불필요한 설계를 피하고 테스트 코드의 요구 사항에 집중할 수 있다.