최근에 TDD를 이용해 간단한 CRUD API를 만들 기회가 생겨 만들어보면서 깨달은 것들을 한 번 공유하기 위해 이렇게 글 을 적습니다.
먼저 어떤 라이브러리던 공식문서를 참고하는것이 가장 중요하기에 아래에 링크 남겨 놓겠습니다.
TDD?
개발 방법론 중 Test Driven Development의 약자, 테스트 주도 개발 이라고 이야기 합니다.
- 기능이 정상적으로 움직이는지 검증하기 위한 테스트 코드를 작성한다.
- 이를 통해 테스트가 실패할 경우, 테스트를 통과하기 위한 최소한으로 코드를 개선한다.
- 최종적으로 테스트에 성공한 코드를 리팩토링 하는 과정을 거친다.
장점?
- 객체 지향적인 코드 생산
- 재설계 시간 단축
- 디버깅 시간 단축
- 테스트 문서의 대체 가능
- 추가 구현의 용이함
단점?
생산성의 저하 (개발 속도가 느려진다...?)
간략하게 TDD에 대한 설명과 장단점을 알아보았습니다.
여기에 조금 주니어인 저의 의견을 첨언하자면 이렇습니다.
제 말이 옳은 것은 아니고 제가 그냥 해보면서 느낀 점을 이야기 하는 겁니다.
TDD는 주니어들에게 가장 필요한 개발 방식이라고 생각합니다.
왜냐하면 내가 만든 프로젝트, 과제의 결과물을 미리 정의 해놓고 그것에 맞추어 개발을 한다는 것 자체가 요구사항에 맞추어 개발하는 방법을 배운다 생각하기 때문입니다.
저 역시 처음으로 제공된 TestCase에 맞추어 개발을 진행해보면서 개발에 대한 자세한 도큐먼트 대신 TestCase를 보면서 이해를 하다보니 오히려 오해하지 않고 개발에 집중할 수 있었고 어떻게 작동이 되는지 이해하기 훨씬 쉬웠다고 느꼈습니다.
이번에 제 프로젝트에 기능을 추가하면서 TestCase를 직접 추가해서 TDD를 경험해볼 예정입니다.
누군가가 만든 TestCase를 가지고 프로젝트를 진행을 해보았기에 제가 위에와 같이 이야기 했을 수 있기에 한 번 직접 해본 다음 그 후기도 같이 적어보도록 하겠습니다.
하지만 현재까지는 저와 같은 주니어들에게 개발 실력을 쉽고 빠르게 성장 시킬 수 있는 방법은 내가 직접 요구사항으로 TestCase를 만들고 그것에 맞추어 개발해보는 방법이 좋다고 생각해 이렇게 글을 적어봅니다.
'Dev DBAN > 개발 이야기' 카테고리의 다른 글
FAST API로 REST API만들기 - APIRouter (0) | 2022.01.18 |
---|---|
FAST API로 REST API만들기 - SQLAlchemy (4) | 2021.12.13 |
FAST API로 REST API만들기 - 초기 세팅 (0) | 2021.12.12 |
FastAPI로 REST API 만들기 - 도입부 (0) | 2021.11.23 |
스타트업 코딩테스트 후기 (0) | 2021.11.03 |
댓글