Test Driven Development
소프트웨어 개발의 한 방법론으로, 매우 짧은 개발 사이클의 반복에 초점을 맞추는 것.
개발자가 실제 코드를 작성하기 전에 자동화된 테스트를 먼저 작성하도록 하는 것.
➡️ TDD는 클린코드와 버그가 적은 소프트웨어 개발을 촉진시킨다.
TDD의 기본 순서
1. 실패하는 테스트 코드 작성
2. 테스트를 통과하는 코드 작성
3. 리팩토링
리팩토링보다는 우선 코드가 돌아가도록 하는 것이 우선이다.
프로덕션 ➡️ 테스트 | (TDD) 테스트 ➡️ 프로덕션 |
---|---|
큰 틀 ➡️ 세부적인 사항 구현 그 틀에 끼워맞추려는 식으로 강제로 구현에 제한 有 | 세부적인 사항 설정 ➡️ 큰 틀 구현에 제한이 생기지 않음 |
내가 이 메서드를 사용할 것이라는 예측과 추측으로 메서드 생성 | 메서드를 만들 근거가 명확하게 정의된 후 메서드 생성 |
코드 구현이 올바르게 되었는지 바로 확인하기 어려움 | 프로덕션 코드를 구현하고 바로 테스트 코드를 실행하여 구현이 올바르게 되었음을 확인할 수 있음 |