TDD 란 Test Driven Development 의 약자로 테스트 주도 개발
이라고 합니다.
반복 테스트를 이용한 소프트웨어 방법론으로 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현합니다.
짧은 개발 주기의 반복에 의존하는 개발 프로세스이며, 애자일 방법론 중 하나인 eXtream Programming(XP)의 ‘Test-First’ 개념에 기반을 둔 단순한 설계를 중요시합니다. eXtream Programming(XP)란 미래에 대한 예측을 최대한 하지 않고 지속적으로 프로토타입을 완성하는 애자일 기방법론 중 하나입니다.
즉, 테스트 코드를 먼저 작성 한 후 테스트 코드에 맞게 개발하자!!
기능을 먼저 만들고 테스트 코드를 작성하는게 생각보다 쉽지 않은 일이기 때문에
테스트 코드를 먼저 만드는 문화를 만들자 라는 취지에서 나온 방법론이다
TDD 개발 과정은 다음과 같습니다. 코드를 작성할 때 작은 단위를 Testing인 Unit Testing을 진행하며 완성된 로직은 Integration Testing을 진행합니다.
자바스크립트 테스트 코드를 위한 프레임워크로 jest가 유명하며 Nest.js 설치 시 깔려있다
요즘에는 Api명세서나 테스트 코드를 chatGPT로 작성이 가능하기 때문에 뼈대를 잡은 후 차근 차근 늘려가는 것을 추천한다!