TDD

Arong·2024년 4월 30일

TDD란

TDD는 테스트 주도 개발(Test-driven development)이며, 개발(코드 작성)전 테스트 코드를 먼저 작성하는 방식이다.

왜 TDD를 사용할까?(장점)

  • 테스트를 작성해야하는 이유중에 하나는 좋은 문서화의 효과를 가져갈 수 있다.
    → 개발 과정이 테스트 코드로 남기 때문에, 과거 의사결정을 쉽게 상기할 수 있다.
  • 코드가 내 손을 벗어나기 전에 가장 빠르게 피드백 받을 수 있다.
  • 프로그래머의 오버 엔지니어링을 방지한다.
  • 테스트를 먼저 작성하기 위해서는 요구 사항에 대한 분석 및 이해가 필요하다.
    → 장점1. 코드를 작성하기 앞서서 모든 요구 사항(목표)에 대해 점검하고 이해하는 시간을 가질 수 있다.
    → 장점2. 구현할때 단순한 구현을 넘어 사용자 입장에서 코드를 작성할 수 있다. 즉, 내부 구현사항 보다는 인터페이스 위주로 코드를 작성하기 때문에 서로 의존하지않는 코드를 작성하면서 코드의 퀄리티를 향상시킬 수 있다.
    → 장점3. 시스템 전반적으로 설계가 향상 할 수 있다.
    → 장점4. 개발 집중력을 향상 할 수 있다.

TDD는 언제 사용해야할까?

  • 요구사항이 명확할때
  • 비즈니스 로직일 경우
  • 협업시 명세서(문서) 역할을 하기 위해
  • 설계에 대한 고민이 필요할때

테스트 코드를 먼저 작성하고 코드를 작성한 TDD 방법으로 하던지, 코드를 작성하고 테스트 코드를 작성하던지 그 순서는 사실 크게 중요하지 않다. 다만, 코드리뷰를 요청하기 전에 내 코드가 사용자에게 배포되기 이전에 꼭 그에 해당하는 테스트 코드를 포함해야 한다.(버그가 없다는걸 검증한 테스트코드를 포함해야한다.)




출처 : 드림코딩엘리 TDD강의
https://media.fastcampus.co.kr/knowledge/dev/tdd/
사진출처 : https://ko.wikipedia.org/wiki/%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%A3%BC%EB%8F%84_%EA%B0%9C%EB%B0%9C

profile
아롱의 개발일지

0개의 댓글